Transactions, Delivery & Support
Payment Failure Recovery
Payment failed → classify reason → recover → paid or exit
Recover a failed payment with the right action and channel for the failure reason, instead of sending the same generic message every time.
- Recovery & Retry
- Push
- In-app message
21 steps · 7 decisions · 3 exits
Open the canvasFlow structure
- 21 steps
- 7 decisions
- 3 exits
Core rule
Never guess why a payment failed; act on the reason the payment system actually reports.
Journey plan
When to set it up
Build this journey when your payment logs show that many failed attempts never turn into a second attempt on the same obligation, and support keeps hearing why could I not pay. Before launch, make sure the payment system classifies the reason into insufficient balance, card details, verification, bank decline, temporary error and unknown, that an active app session can be read live, that in-app, email, WhatsApp and push permissions are stored, and that the validity of the transaction, reservation or subscription can be queried. If failures cluster on one provider or one card type, fix that integration first; reminders do not close a system fault.
How to measure success
Incremental payment recovery rate vs control
What counts is how many more messaged attempts end in a payment that settles the obligation than attempts in the control group; a clicked payment link or an opened card-update page is not a recovery on its own.
How it is counted: The denominator is every failed attempt assigned at entry to either group; the numerator is the attempts whose payment completes within the same follow-up window from assignment, and the gap between the two groups is the journey's effect. Payments that arrive through scheduled automatic retries count in both groups, and delivery or clicks do not change the denominator.
Also track
- Payment method update rateAmong assigned attempts, the share where the user updates the card or switches to another payment method; the intermediate step before completion and the real target of the card-details and bank-decline branches.
- Recovery by reason and by touchRead recovery separately for the six failure reasons and the three touches; the temporary-error branch recovers without a message and must not be blended with the others, and if the last email adds no payments, consider dropping that touch.
- WhatsApp complaints, push opt-outs and unsubscribesWatch WhatsApp complaints, push opt-outs and email unsubscribes per channel; if the payment reminder reads like a debt notice, the payments you won may have cost too much.
- Share of messages sent to invalid transactionsWatch how many attempts have a transaction that is no longer valid at the final check; if that share is high, reminders are going out for orders or reservations that have already lapsed and the waits should be shortened.
How to set it up
- Trigger and entryA payment attempt that fails after a finished checkout, with a reason reported by the payment system, enters the journey. Assign attempts at random to the journey group or to a control group that receives none of this flow's messages; scheduled automatic retries continue the same way in both groups.
- Who must not enterOne failed attempt and the obligation it was settling is one instance; no second flow opens for the same obligation. An unfinished checkout belongs to Checkout Recovery, a reservation on a payment condition to Reservation Payment Reminder, money going back out to Refund Recovery; this journey never returns to the cart.
- Timing and channelsFirst touch by reason: insufficient balance and verification, in-app in an active session, otherwise email; card details and bank decline, email; unknown reason, WhatsApp where permitted, otherwise email; temporary error, a short wait and an automatic retry, no message. If still unpaid: a push after about 1 day, a last email after 1 to 2 more days, then about 1 more day.
- Exit and handoffA completed payment at any check ends the journey at once and cancels queued messages. If the final check still finds no payment: a valid transaction is left to the scheduled automatic retries with no more messages, an invalid one gets an email with the next step and the journey ends. No handoff follows.
- Frequency and consentAt most four messages per attempt: the reason-based first touch, the push, the last email and, if needed, the invalid-transaction email; the temporary-error branch has no first touch. WhatsApp, push and email are each used only with their own consent, and no message ever shows an internal risk or decline code to the user.
What to watch when reading the result
- 1A recovery rate in the journey group that does not exceed the control group means those payments would have arrived without messages; the payments the control group recovers through scheduled retries show that. Read the payment gap between the two groups together with the change in WhatsApp complaints and unsubscribes; the number of clicked payment links is not enough on its own.
- 2These findings hold for this reason classification, this channel selection and the wait sequence of about 1 day, 1 to 2 days and 1 day. Do not confuse a payment handed over by Reservation Payment Reminder with the reservation being kept, or a Refund Recovery refund with a recovery here; write every payment record to exactly one journey.
- 3When the gap is small or spread thin across reasons, enter each group's attempts and completed payments into the A/B test significance calculator; if the difference is not significant, try measuring only the busiest reason branch first and extend the follow-up window to cover the check after the last email.
- 4Review the message copy regularly: a decline or risk code returned by the payment system must never appear to the user on any channel; the reason is explained only in terms of an action the user can take.
Frequently Asked Questions
Should payment-failure messages depend on the reason?
Yes. Incorrect details, insufficient funds, authentication and temporary errors require different actions. Read the reason from the payment system rather than inventing a bank or card problem. Offer contextual help in-session or an eligible secure route back.
Should every failed payment be retried automatically?
No. This example separates temporary technical failures from issues needing corrected details or user action. Follow the provider's error and retry rules. Do not treat an uncertain result as definite failure and initiate another charge.
When should payment-recovery reminders end?
Stop when payment is verified. Do not continue an old payment link after the order, reservation or subscription becomes invalid. This example checks validity at the end and does not extend messages indefinitely while scheduled retries continue.
Explore other journeys
Refund Recovery
Keep the customer informed through the refund and, once it is complete, help them find a better alternative rather than ending the relationship at the refund.
Delivery Delay Management
Tell the customer about a delivery delay before they have to discover it themselves, and escalate only if the revised date is missed too.
Failed Delivery Recovery
Recover a failed delivery differently depending on whether the issue is the address, customer availability, operations or an impossible delivery.