MobupayMobupay
Chargement de vos clés API…

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à.

post/api/v1/platform/onboarding-sessions
{
  "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.