Manual Retry gör ett nytt försök med en misslyckad betalning för en förnyelse av en prenumeration när du begär det, från betalningens detaljsida eller via API:t. Den debiterar den betalningsmetod som sparats för prenumerationen och körs oberoende av det automatiska schemat för Payment Retries.
Vad är Manual Retry?
När en betalning för en förnyelse misslyckas flyttas prenumerationen tillon_hold. Om du har aktiverat Payment Retries gör de nya debiteringsförsök enligt ett back-off-schema. Ibland vet du att betalningen kommer att gå igenom nu: kunden har bekräftat att hen har fyllt på sitt konto, eller så har ditt supportteam ett pågående samtal med kunden. Manual Retry gör ett försök omedelbart i stället för att vänta i timmar eller dagar på nästa schemalagda försök.
- Endast betalningar för förnyelser: Manual Retry gäller prenumerationsfakturor för förnyelser medan prenumerationen är
on_hold. Första betalningar, engångsbetalningar, debiteringar vid planändringar och on-demand-debiteringar kan inte användas. - Ingen åtgärd från kunden: Debiteringen görs mot den betalningsmetod som redan har sparats för prenumerationen.
- Oberoende av automatiska försök: Ett manuellt nytt försök förbrukar inte ett försök från det automatiska schemat, flyttar inte nästa schemalagda försök och fungerar även när Payment Retries är avstängt.
- Försöker med fakturan, inte betalningen: Den misslyckade betalningen är bara utgångspunkten. Dodo Payments hittar den öppna förnyelsefakturan bakom den och debiterar den utestående skulden, så det spelar ingen roll vilken misslyckad betalning på fakturan du försöker med.
Försöka igen från kontrollpanelen
Endast användare med rollen Owner eller Editor kan skicka ett manuellt nytt försök.1
Open the failed payment
Gå till Transactions → Payments och klicka på den misslyckade betalningen för förnyelsen för att öppna sidan Transaction details.
2
Click Retry Payment Manually
Klicka på Retry Payment Manually i det övre högra hörnet. Knappen är endast tillgänglig så länge betalningen är eligible.
3
Check the result
Dodo Payments skapar en ny betalning för försöket, och den visas i Activity Log. Om debiteringen lyckas återgår prenumerationen till
active, och nästa faktureringsdatum flyttas till en faktureringsperiod efter det lyckade försöket. Om betalningsprocessorn ännu inte har slutfört debiteringen visas betalningen som pågående tills webhooken payment.succeeded eller payment.failed rapporterar resultatet.
Retry Payment Manually on the transaction details page of a failed renewal
Behörighet
Dodo Payments skickar ett manuellt nytt försök endast när alla kontroller i den här tabellen godkänns. Kolumnen Reason code visar det som API:t returnerar: ireason på GET /payments/{payment_id}/retry och som felet code på POST /payments/{payment_id}/retry.
Manual Retry är mer begränsat än automatiska försök på en punkt: prenumerationen måste vara
on_hold. En past_due-prenumeration i en respitperiod klarar inte den här kontrollen. Automatiska försök fortsätter för andra statusar än active. Se Subscription Status Transitions.Gränser för nya försök
Varje förnyelsefaktura tillåter 3 manuella försök, med en spärrtid mellan dem:
Gränserna gäller både i testläge och live-läge. När gränsen stoppar ett nytt försök returnerar API:t
MANUAL_RETRY_LIMIT_REACHED (HTTP 429), och felsvaret innehåller endast code och message. Om du vill se när nästa försök blir tillgängligt kan du kontrollera försökstillståndet och läsa retry_available_at. Det är null när alla tre försök har använts.
Automatiska försök räknas inte mot den här gränsen, och manuella försök räknas inte mot de 8 försöken i det automatiska schemat.
Manuella och automatiska försök
De två vägarna för nya försök skiljer sig på följande sätt:Göra nya försök via API:t
Kontrollera behörigheten först och skicka sedan det nya försöket. Båda slutpunkterna tar ID:t för en misslyckad betalning.Kontrollera om en betalning kan göras om
GET /payments/{payment_id}/retry returnerar inte ett fel för en betalning som inte är eligible. Den returnerar can_retry: false med koden reason i stället, så att din egen instrumentpanel eller supportverktyg kan visa samma status som Dodo Payments instrumentpanel. Den kräver rollen Viewer.
Response
Skicka ett manuellt nytt försök
POST /payments/{payment_id}/retry skapar en ny betalning och debiterar den sparade betalningsmetoden. Den kräver rollen Editor. SDK-exemplen återanvänder client från föregående exempel.
Response
Felsvar
När ett nytt försök inte är tillåtet returnerarPOST en av dessa HTTP-statusar:
Referensen Error Codes beskriver alla koder.
Webhooks
Ett manuellt nytt försök skapar en vanlig betalning, så samma webhookar utlöses som för alla försök med en förnyelse:
På betalningsobjektet i dessa händelser är
retry_attempt 1 eller högre och subscription_id är angivet, på samma sätt som för ett automatiskt försök. Betalningsobjektet har inget fält som markerar ett manuellt försök, så spara payment_id från svaret på det nya försöket om du behöver skilja ett manuellt försök från ett schemalagt.
Payment Webhook Payloads
Fullständiga scheman för nyttolaster för betalningshändelser.
Relaterat
Subscription Payment Retries
Det automatiska back-off-schemat som körs parallellt med manuella försök.
Subscription Dunning
Skicka ett e-postmeddelande till kunden och be hen uppdatera sin betalningsmetod efter en hard decline.
Handle Payment Failures
Läs avslagskoder och avgör när det lönar sig att göra ett nytt försök.
Error Codes
Varje
MANUAL_RETRY_*-kod, dess utlösare och meddelande.