L’appel
paymentMethodData.momo est techniquement optionnel pour le validateur, mais un
paymentMethodData sans momo fait échouer la demande de paiement : l’abonnement naît
unpaid. Fournissez toujours le numéro.Ce qui se passe
1
Le client est trouvé ou créé
Par
customerEmail, sur votre compte. La méthode de paiement fournie est ajoutée et
devient sa méthode par défaut — même s’il en avait déjà une.2
L'abonnement est créé
unpaid sans essai, trialing avec. La période courante démarre maintenant ; sans essai,
elle se termine à maintenant + intervalle du premier prix.3
Sans essai : facture et demande de paiement
Une facture
subscription_create est émise pour la première période, et une demande de
paiement est poussée sur le numéro du client. L’appel attend la réponse — le client a
environ 100 secondes pour approuver sur son téléphone.4
Résultat
Approuvé → l’abonnement passe
active, la facture paid, nextBillingDate est posée.
Refusé ou sans réponse → l’abonnement reste unpaid, la facture open.La réponse
Toujours 201, que le paiement ait abouti ou non. LisezpaymentStatus.
201
Quand
success est false, canRetry vaut true : régularisez avec
retry-payment. Si le client a approuvé après le
délai, la relance reconnaît le paiement déjà passé sans lui en demander un second.Rejeu
MêmeidempotencyKey sur le même compte → 201, l’abonnement existant, paymentStatus
dérivé de son statut courant (paid s’il est active, trial s’il est trialing, son statut
sinon). Aucune facture, aucune demande de paiement.
Erreurs
Événements
subscription.created part après la tentative de paiement : data.status vaut donc
active, unpaid ou trialing — pas un statut « en cours ». Si le paiement a abouti, vous
recevez aussi invoice.paid et payment.completed. Voir Webhooks.