Skip to main content
Manual Retry retente immédiatement le paiement de renouvellement d’un abonnement échoué lorsque vous le demandez, depuis la page des détails du paiement ou via l’API. Le paiement est effectué avec le moyen de paiement enregistré sur l’abonnement, indépendamment du calendrier de Payment Retries automatique.

Qu’est-ce que Manual Retry ?

Lorsqu’un paiement de renouvellement échoue, l’abonnement passe à on_hold et Payment Retries retente le débit selon un calendrier de temporisation. Vous savez parfois que le paiement peut maintenant aboutir : le client vous a confirmé avoir approvisionné son compte, ou votre équipe d’assistance est en ligne avec lui. Manual Retry vous permet d’effectuer immédiatement une tentative au lieu d’attendre plusieurs heures ou jours la prochaine tentative planifiée.
  • Paiements de renouvellement uniquement : Manual Retry s’applique aux factures de renouvellement d’abonnement lorsque l’abonnement est on_hold. Les premiers paiements, paiements ponctuels, frais liés à un changement de plan et 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 tentatives automatiques : une nouvelle tentative manuelle ne consomme pas de tentative du calendrier automatique, ne décale pas la prochaine tentative planifiée et fonctionne même lorsque Payment Retries est désactivé.
  • Nouvelle tentative sur la facture, pas sur le paiement : un paiement échoué n’est que le point de départ. Dodo Payments recherche la facture de renouvellement ouverte correspondante et recouvre cette dette ; le paiement échoué à partir duquel vous effectuez la nouvelle tentative n’a donc aucune importance.

Effectuer une nouvelle tentative depuis le tableau de bord

1

Open the failed payment

Accédez à Transactions → Payments et 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 lorsque le paiement est éligible.
3

Check the result

Un nouveau paiement est créé pour la tentative et apparaît dans l’Activity Log. Si le débit réussit, l’abonnement revient à active et la prochaine date de facturation est décalée comme prévu. Si le processeur de paiement n’a pas encore finalisé le débit, le paiement apparaît comme en cours jusqu’à ce que le webhook payment.succeeded ou payment.failed indique le résultat.
Page des détails d’une transaction pour 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é

Une nouvelle tentative manuelle est envoyée uniquement lorsque toutes les vérifications ci-dessous 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.
Manual Retry est plus restrictive que les tentatives automatiques sur un point : l’abonnement doit être on_hold. Les tentatives automatiques continuent de fonctionner pour les autres statuts non actifs ; consultez Subscription Status Transitions.
Retenter un hard decline avec la même carte ne peut pas réussir et les refus répétés nuisent à votre taux d’autorisation. Lorsque le motif est MANUAL_RETRY_HARD_DECLINE, demandez plutôt au client de mettre à jour son moyen de paiement. Subscription Dunning le fait automatiquement.

Limites des nouvelles tentatives

Chaque facture de renouvellement autorise 3 nouvelles tentatives manuelles, avec une période d’attente entre chacune : Les limites s’appliquent aussi bien en mode test qu’en mode live. Lorsqu’une nouvelle tentative est refusée pour cette raison, l’API renvoie MANUAL_RETRY_LIMIT_REACHED (HTTP 429). Le corps de l’erreur contient uniquement code et message. Pour savoir quand la prochaine tentative sera disponible, consultez l’état de la tentative et lisez retry_available_at. Il est null une fois les trois tentatives utilisées. Les tentatives automatiques ne comptent pas dans cette limite, et les tentatives manuelles ne comptent pas parmi les 8 tentatives du calendrier automatique.

Tentatives manuelles et automatiques

Effectuer une nouvelle tentative via l’API

Vérifiez d’abord l’éligibilité, puis envoyez la nouvelle tentative. Les deux endpoints acceptent l’ID d’un paiement échoué.

Vérifier si un paiement peut faire l’objet d’une nouvelle tentative

GET /payments/{payment_id}/retry n’échoue jamais pour un paiement non éligible. Il renvoie plutôt can_retry: false avec le code reason, afin que votre tableau de bord ou vos outils d’assistance puissent afficher le même état que le tableau de bord Dodo Payments. Il nécessite le rôle Viewer.
Response

Envoyer une nouvelle tentative manuelle

POST /payments/{payment_id}/retry crée un nouveau paiement et débite le moyen de paiement enregistré. Il nécessite le rôle Editor.
Response

Réponses d’erreur

Chaque code est décrit dans la référence Error Codes.

Webhooks

Une nouvelle tentative manuelle crée un paiement standard ; les mêmes webhooks sont donc déclenchés que pour toute tentative de renouvellement : Sur l’objet de paiement de ces événements, retry_attempt est 1 ou supérieur et subscription_id est défini, exactement comme pour une nouvelle tentative automatique. Conservez 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 payloads des événements de paiement.

Pages associées

Subscription Payment Retries

Le calendrier automatique de temporisation qui fonctionne en parallèle des 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 vaut la peine.

Error Codes

Chaque code MANUAL_RETRY_*, son déclencheur et son message.
Dernière modification le 25 septembre 2026