Skip to main content
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.
Page des détails de la transaction d’un paiement échoué affichant le code et le message d’erreur, un Activity Log et un bouton Retry Payment Manually

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 : dans reason 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.
Relancer un hard decline sur la même carte ne peut pas réussir, et les refus répétés nuisent à votre taux d’autorisation. Lorsque la raison est MANUAL_RETRY_HARD_DECLINE, demandez plutôt au client de mettre à jour son moyen de paiement. Subscription Dunning automatise cette opération.

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.
Dernière modification le 26 septembre 2026