Plateforme · Guides de recettes
Enrôler un sous-marchand
De l'invitation au compte ouvert, avec la distinction qui compte : l'état du lien n'est pas l'état du dossier.
1. Inviter
deliveryMode vaut email (Mobupay envoie le courriel), redirect (vous recevez le lien et le diffusez) ou both. prefill évite au partenaire de ressaisir ce que vous connaissez déjà.
{
"deliveryMode": "email",
"subMerchantContact": { "email": "marchand@example.com", "firstName": "Jean" },
"prefill": { "legalName": "RESTO XYZ SARL", "registrationNumber": "1234567" },
"platformContext": { "externalRef": "partner_42" }
}En test, l'invitation est simulée
Appelé avec une clé sk_test_*, il crée une invitation simulée : aucun courriel ne part et aucun dossier n'est créé. Faites avancer l'enrôlement par POST /api/v1/platform/onboarding-sessions/{id}/simulation, ou depuis la page de bac à sable du lien rendu.
2. Distinguer les deux états
status décrit le cycle de vie du LIEN : PENDING, IN_PROGRESS, COMPLETED, EXPIRED, CANCELLED.
enrollmentStatus décrit l'avancement du DOSSIER, et c'est presque toujours ce que vous cherchez : INVITED, LINK_OPENED, DRAFT, SUBMITTED, et la suite jusqu'à l'ouverture du compte.
3. Relancer, selon l'endroit où il s'est arrêté
Le partenaire n'a jamais ouvert le lien : /resend renvoie l'invitation par courriel, avec un lien renouvelé.
Il a commencé puis s'est arrêté : /resume-link produit un lien qui le ramène à son étape. Il fonctionne aussi sur une invitation périmée — rouvrir la fenêtre est l'objet même de l'appel.
Un seul lien de reprise circule à la fois : le précédent cesse immédiatement de fonctionner, et c'est le dernier envoyé qui vaut.
4. Attendre l'ouverture du compte
Le rattachement n'est posé qu'à l'ouverture effective. GET /api/v1/platform/merchants ne liste donc que les marchands pour lesquels vous pouvez encaisser ; ceux dont le dossier est en cours se suivent par les invitations.
5. Réagir à merchant.opened
L'événement ne porte que le merchantId. La lecture naturelle est alors GET /api/v1/platform/merchants/{merchantId}/enrollment, qui résout l'état depuis l'identifiant du marchand plutôt que depuis l'invitation.