Ce qui se passe
La dernière commande impayée de l’abonnement est relancée sur son intention de paiement existante — pas de nouvelle facture, pas de nouvelle intention. Une demande de paiement est poussée sur le numéro fourni, et l’appel attend la réponse du client (~100 s). Si le client avait approuvé une demande précédente après le délai de l’appel initial, le paiement est reconnu tel quel : aucune seconde demande ne part.La réponse
200
success: false, status: "failed" (ou processing), error porte le motif,
canRetry: true. Le statut de l’abonnement ne change pas.
Un
failed sur une facture de cycle compte comme une tentative dans le calendrier des
relances automatiques et reprogramme la suivante ; un processing (le client n’a pas répondu)
ne compte pas. Sur la facture de création (subscription_create), aucune relance
automatique n’existe : seule cette route peut la régler.Erreurs
Cette route rend ses refus métier en 400 avec un corps{ "error": "…" } — une forme
différente des autres routes :