La nouvelle tentative manuelle relance le paiement de renouvellement d’un abonnement ayant échoué lorsque vous le demandez, depuis la page des détails du paiement ou via l’API. Elle débite le moyen de paiement enregistré sur l’abonnement et s’exécute indépendamment du calendrier automatique de Payment Retries.
Qu’est-ce que Manual Retry ?
Lorsqu’un paiement de renouvellement échoue, l’abonnement passe àon_hold. Si vous avez activé Payment Retries, le système relance le débit selon un calendrier avec délai progressif. Il arrive que vous sachiez que le paiement va maintenant aboutir : le client a confirmé avoir approvisionné son compte, ou votre équipe d’assistance est en ligne avec lui. La nouvelle tentative manuelle effectue immédiatement une tentative, au lieu d’attendre plusieurs heures ou jours la prochaine tentative planifiée.
- Paiements de renouvellement uniquement : la nouvelle tentative manuelle s’applique aux factures de renouvellement d’abonnement lorsque l’abonnement est
on_hold. Les premiers paiements, les paiements ponctuels, les frais de changement de forfait et les frais à la demande ne sont pas éligibles. - Aucune action du client : le débit est effectué sur le moyen de paiement déjà enregistré sur l’abonnement.
- Indépendante des nouvelles tentatives automatiques : une nouvelle tentative manuelle ne consomme pas de tentative du calendrier automatique, ne décale pas la prochaine nouvelle tentative planifiée et fonctionne même lorsque Payment Retries est désactivé.
- Relance la facture, pas le paiement : le paiement échoué n’est que le point de départ. Dodo Payments trouve la facture de renouvellement ouverte correspondante et débite cette dette ; le paiement échoué depuis lequel vous relancez n’a donc aucune importance.
Effectuer une nouvelle tentative depuis le tableau de bord
Seuls les utilisateurs disposant du rôle Owner ou Editor peuvent envoyer une nouvelle tentative manuelle.1
Open the failed payment
Accédez à Transactions → Payments, puis cliquez sur le paiement de renouvellement échoué pour ouvrir sa page Transaction details.
2
Click Retry Payment Manually
Cliquez sur Retry Payment Manually dans l’angle supérieur droit. Le bouton est disponible uniquement tant que le paiement est éligible.
3
Check the result
Dodo Payments crée un nouveau paiement pour la tentative, qui apparaît dans l’Activity Log. Si le débit réussit, l’abonnement repasse à
active et la prochaine date de facturation est décalée à une période de facturation après la nouvelle tentative réussie. Si le processeur de paiement n’a pas encore réglé le débit, le paiement s’affiche comme étant en cours jusqu’à ce que le webhook payment.succeeded ou payment.failed indique le résultat.
Retry Payment Manually on the transaction details page of a failed renewal
Éligibilité
Dodo Payments n’envoie une nouvelle tentative manuelle que si toutes les vérifications de ce tableau sont validées. La colonne Reason code correspond à la valeur renvoyée par l’API : dansreason sur GET /payments/{payment_id}/retry, et sous forme d’erreur code sur POST /payments/{payment_id}/retry.
La nouvelle tentative manuelle est plus restrictive que les nouvelles tentatives automatiques sur un point : elle exige que l’abonnement soit
on_hold. Un abonnement past_due en période de grâce ne satisfait pas cette vérification. Les nouvelles tentatives automatiques continuent de s’exécuter pour les autres statuts non actifs. Consultez Subscription Status Transitions.Limites des nouvelles tentatives
Chaque facture de renouvellement autorise 3 nouvelles tentatives manuelles, avec un délai d’attente entre chacune :
Les limites s’appliquent en mode test comme en mode live. Lorsque la limite empêche une nouvelle tentative, l’API renvoie
MANUAL_RETRY_LIMIT_REACHED (HTTP 429), et le corps de l’erreur contient uniquement code et message. Pour savoir quand la prochaine nouvelle tentative sera disponible, consultez l’état de la nouvelle tentative et lisez retry_available_at. Il prend la valeur null une fois les trois tentatives utilisées.
Les nouvelles tentatives automatiques ne comptent pas dans cette limite, et les nouvelles tentatives manuelles ne comptent pas parmi les 8 tentatives du calendrier automatique.
Nouvelles tentatives manuelles et automatiques
Les deux mécanismes de nouvelle tentative diffèrent de la manière suivante :Nouvelle tentative via l’API
Vérifiez d’abord l’éligibilité, puis envoyez la nouvelle tentative. Les deux endpoints nécessitent l’ID d’un paiement échoué.Vérifier si un paiement peut être relancé
GET /payments/{payment_id}/retry ne renvoie pas d’erreur pour un paiement non éligible. Il renvoie can_retry: false avec le code reason, afin que votre propre tableau de bord ou outil d’assistance puisse afficher le même état que le tableau de bord Dodo Payments. Le rôle Viewer est requis.
Response
Envoyer une nouvelle tentative manuelle
POST /payments/{payment_id}/retry crée un nouveau paiement et débite le moyen de paiement enregistré. Le rôle Editor est requis. Les exemples du SDK réutilisent client de l’exemple précédent.
Response
Réponses d’erreur
Lorsqu’une nouvelle tentative n’est pas autorisée,POST renvoie l’un des codes HTTP suivants :
La référence Error Codes décrit chaque code.
Webhooks
Une nouvelle tentative manuelle crée un paiement ordinaire ; les mêmes webhooks sont donc déclenchés que pour toute tentative de renouvellement :
Dans l’objet de paiement de ces événements,
retry_attempt vaut 1 ou une valeur supérieure et subscription_id est défini, comme pour une nouvelle tentative automatique. L’objet de paiement ne possède aucun champ indiquant qu’il s’agit d’une tentative manuelle ; conservez donc payment_id de la réponse de nouvelle tentative si vous devez distinguer une tentative manuelle d’une tentative planifiée.
Payment Webhook Payloads
Schémas complets des charges utiles des événements de paiement.
Articles associés
Subscription Payment Retries
Le calendrier automatique avec délai progressif qui s’exécute parallèlement aux nouvelles tentatives manuelles.
Subscription Dunning
Envoyez un e-mail au client pour lui demander de mettre à jour son moyen de paiement après un hard decline.
Handle Payment Failures
Lisez les codes de refus et déterminez quand une nouvelle tentative est pertinente.
Error Codes
Chaque code
MANUAL_RETRY_*, son déclencheur et son message.