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" }
}Cet endpoint n'a pas de mode simulation
Appelé avec une clé sk_test_*, il crée une invitation réelle et envoie un véritable courriel. Employez une adresse que vous contrôlez.
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.