Recover declined card payments with a win-back email

By General Input

When a customer's card is declined, we send a warm, personalized email asking them to update or retry, and flag the big ones to your team in Slack.

Integrations

  • Checkout.com
  • Gmail
  • Slack

Type

Agentic Task

Categories

  • Finance
  • Sales

When Checkout.com reports a declined payment, win the customer back automatically. Trigger this workflow on the Checkout.com payment_declined webhook event, which fires every time a card payment is declined at the gateway.

As soon as the event arrives, call Get Payment Details for the payment id in the event to load the full record. Read the decline reason (the response code and its description) and the amount. Checkout.com returns amounts as integers in the currency's minor unit, so convert them to a normal decimal for display (for example 4200 becomes 42.00 for a two-decimal currency like USD or GBP), and keep the currency alongside it.

Decide whether this decline is worth contacting the customer about. Skip technical and soft issuer declines that will auto-retry on their own, such as a temporary issuer or processing error, a gateway timeout, or an 'issuer unavailable' response, so we never nag a customer whose payment will recover without any action. Only continue for declines that genuinely need the customer to act, such as an expired card, insufficient funds, or a 'do not honor' response.

For a decline worth acting on, look up the buyer with Get Customer Details, using the customer id from the payment when present, or the customer email otherwise. Use their name and email for a personal message.

Draft a friendly, personalized recovery email and send it with Gmail Send a Message. Tailor the wording to the decline category: for an expired card, ask them to update their card details; for insufficient funds, ask them to make sure funds are available and retry; for 'do not honor', suggest they contact their bank or try a different card. Keep the tone warm and helpful, reference the amount and what they were paying for when available, and include a clear next step to update their card or retry.

For declines at or above a configurable amount threshold (default: set your own amount, for example 500.00), also post a heads-up to Slack with Send a Message so the team can follow up personally. Include the customer name, the amount and currency, the decline reason, and a note that the recovery email was sent, so whoever picks it up has the context to reach out.

Make the Slack amount threshold, the Slack channel, the sending Gmail account, and the email tone easy to adjust. If a customer record or email address cannot be found, skip the email rather than guessing an address, and still post the Slack heads-up (when the amount is above the threshold) so the decline is never lost.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teams