Quando un pagamento fallisce, Dodo Payments ti comunica perché attraverso un
error_code standardizzato e un error_message leggibile. Questa guida mostra come leggere quei campi, decidere se vale la pena riprovare e recuperare il pagamento senza esporre informazioni sensibili ai clienti.Come Dodo Payments Riporta un Fallimento
Ogni pagamento fallito — sia un checkout una tantum che un rinnovo di abbonamento — porta gli stessi campi di fallimento sull’oggetto di pagamento:error_code e error_message sono null finché un pagamento non fallisce effettivamente. Controlla sempre prima status, poi leggi i campi di errore.Il webhook payment.failed
Il modo più affidabile per rilevare un fallimento è il webhook payment.failed. L’evento include l’intero oggetto del pagamento in data:
payment.failed payload
error_code e applica il routing in base a tale valore:
Decidere se riprovare: rifiuti soft e hard
error_code indica se vale la pena riprovare con lo stesso metodo di pagamento.
Il riferimento Transaction Failures elenca il tipo di rifiuto e l’azione consigliata per ogni
error_code.
Gestire i fallimenti al checkout e durante il rinnovo
Il modo in cui recuperi il pagamento dipende dalla presenza o meno del cliente.- At checkout (customer present)
- On subscription renewal (customer not present)
Il cliente sta effettuando attivamente il checkout. Mostra un messaggio chiaro e consenti di riprovare immediatamente o di usare un’altra carta.
requires_payment_method— il cliente non ha mai fornito un metodo di pagamento: non ha inserito i dati della carta oppure gli è stato richiesto di inserirli ma non ha eseguito alcuna azione. Di solito si tratta di un abbandono del checkout, non di un rifiuto: coinvolgi nuovamente il cliente per completare il pagamento (consulta Recupero dei carrelli abbandonati).requires_customer_action— è necessaria un’autenticazione aggiuntiva (ad esempio 3DS); chiedi al cliente di completarla. Consulta Gestione di 3D Secure.
Riprovare un pagamento non riuscito
- Abbonamenti: abilita Subscription Payment Retries per recuperare i rifiuti soft senza interventi di integrazione. Puoi anche attivare il recupero chiedendo al cliente di aggiornare il metodo di pagamento tramite l’API Update Payment Method, che addebita gli importi ancora dovuti.
- Pagamenti una tantum: invia nuovamente il checkout o
payment_linkaffinché il cliente possa riprovare con un metodo diverso. Non è previsto alcun nuovo tentativo automatico per i pagamenti una tantum.
Mostrare gli errori ai clienti in modo sicuro
Mostra ai clienti un messaggio chiaro e cordiale — mai il valore grezzo dierror_code e mai error_message, che è rivolto al merchant.
Nelle superfici gestite da Dodo Payments — checkout, Customer Portal ed e-mail di dunning — questa mappatura è già effettuata per te, incluso il fallback a un messaggio generico per i rifiuti correlati alle frodi. Ti serve la mappatura seguente solo quando mostri i fallimenti nel tuo prodotto.
Customer-facing messaging
Correlati
Transaction Failures
Ogni codice di rifiuto, il relativo tipo e l’azione consigliata.
Error Codes
Errori dell’API e della logica di business che non sono rifiuti della carta.
Subscription Payment Retries
Recupero automatico dei rifiuti soft durante i rinnovi degli abbonamenti.
Subscription Dunning
Sequenze di e-mail che recuperano i rifiuti hard.
Payment Webhooks
Schema completo del payload per gli eventi di pagamento.
Testing Failures
Carte di test che simulano rifiuti e fallimenti dei rinnovi.