Översikt
När ett betalningsförsök misslyckas returnerar Dodo Payments en standardiserad felkod som talar om varför. Koderna är desamma för alla betalningsmetoder och betalningsprocessorer, så en uppsättning hanteringsregler täcker alla misslyckade betalningar. Webhookenpayment.failed och betalningsobjektet visar dessa fält för en misslyckad betalning:
error_code: en standardiserad felkod från tabellen nedan.error_message: en förklaring skriven för dig, handlaren. Närerror_codeär en av de standardiserade koderna nedan är detta en rubrik plus den rekommenderade åtgärden, inte den oförändrade texten från betalningsprocessorn.retry_attempt:0för den ursprungliga debiteringen och1eller högre för varje schemalagt nytt försök vid prenumerationsförnyelse. Betalningar som inte är prenumerationsförnyelser behåller värdet0.
Text för handlare jämfört med text för kunder
Varje standardiserad felkod motsvarar två meddelanden, ett för dig och ett för din kund:Customer Portal returnerar kundens formulering i
error_message, medan merchant API returnerar handlarens formulering för samma betalning. error_code är densammi båda.Handle Payment Failures
En steg-för-steg-guide för utvecklare om hur du läser dessa koder från webhooks och API:et, visar dem för kunder och avgör när du ska försöka igen.
Mjuka och hårda avvisningar
Varje felkod är antingen ett mjukt eller ett hårt avslag. Typen anger om ett senare försök med samma betalningsuppgifter kan lyckas eller om kunden måste agera först.
För prenumerationsförnyelser tillämpar Dodo Payments denna klassificering automatiskt. Subscription Payment Retries försöker igen med mjuka avslag. Ett hårt avslag avslutar kedjan av nya försök omedelbart; återvinn det med Subscription Dunning.
Orsaker till transaktionsfel
Följande tabell listar alla felkoder med deras typ av avslag, om kunden kan lösa problemet, en beskrivning och den rekommenderade åtgärden.Användarfel visar om kunden kan lösa avslaget.
Yes betyder att kunden kan åtgärda problemet, till exempel genom att ange korrekta kortuppgifter. No betyder att ett problem på systemnivå eller en bankbegränsning orsakade avslaget och att kunden inte kan lösa det direkt.En utfärdande bank kan också neka ett kort eftersom dess egen riskmotor flaggar kortinnehavaren som högriskkund, oberoende av handlaren eller transaktionsuppgifterna. Dessa avslag visas vanligtvis som generiska koder som
DO_NOT_HONOR, GENERIC_DECLINE, CARD_DECLINED, TRANSACTION_NOT_APPROVED eller FRAUDULENT. Banken delar inte den specifika anledningen, och varken Dodo Payments eller handlaren kan åsidosätta beslutet. Be kunden kontakta sin bank för att lösa flaggningen eller använda ett annat kort eller en annan betalningsmetod.Hantera fel programmatiskt
Läserror_code från webhooken payment.failed eller betalningsobjektet, koppla den till den rekommenderade åtgärden i tabellen och avgör om du ska försöka igen. För prenumerationsförnyelser försöker Dodo Payments automatiskt igen med mjuka avslag åt dig. Se Subscription Payment Retries.
För API- och affärslogikfel som inte är kortavslag, till exempel PAYMENT_NOT_SUCCEEDED eller REFUND_WINDOW_EXPIRED, se referensen Error Codes.
Relaterat
Handle Payment Failures
En heltäckande guide för att upptäcka, visa och försöka igen med misslyckade betalningar.
Error Codes
API- och affärslogikfelkoder för fel som inte gäller avvisningar.
Subscription Payment Retries
Automatiska nya försök som återställer mjuka avvisningar vid prenumerationsförnyelser.
Subscription Dunning
E-postsekvenser som återställer hårda avvisningar genom att uppmana till uppdatering av betalningsmetoden.