Recover declined card payments with a win-back email

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.

Agentic Task
Checkout.comGmailSlackFinanceSalesEmail AutomationNotifications & Alerts
PromptCreate

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.

What does this prompt do?

  • Watches for declined card payments and instantly reads why each one failed and how much it was for.
  • Sends the customer a friendly, personalized email tailored to the reason, whether their card expired, funds were short, or the bank declined it.
  • Skips temporary and automatic-retry declines so customers whose payment will recover on its own never get nagged.
  • Posts a heads-up in Slack for larger declines so your team can follow up personally.

What do I need to use this?

  • A Checkout.com account that receives card payments
  • A Gmail account to send the recovery emails from
  • A Slack workspace and a channel for the team alerts
  • A dollar amount above which you want your team pinged for a personal follow-up

How can I customize it?

  • Set the amount that triggers a Slack alert so only meaningful declines reach your team.
  • Adjust the email tone, wording, and signature to match your brand, and choose which Gmail account it sends from.
  • Decide which kinds of declines get an email versus being left to retry on their own, and pick the Slack channel for heads-ups.

FAQs

Will customers get spammed every time a payment glitches?
No. Temporary and automatic-retry declines are skipped, so only customers whose payment genuinely needs their attention, like an expired card or insufficient funds, ever receive an email.
How does the email know what to say?
It reads the exact reason the bank gave for the decline and tailors the message, asking an expired-card customer to update their card and a short-on-funds customer to retry, for example.
Does my whole team get pinged for every decline?
Only declines above an amount you choose get posted to Slack, so your team focuses on the ones worth a personal follow-up.
Can I change who the emails come from?
Yes. Emails are sent from your connected Gmail account, and you can adjust the sender, wording, and signature at any time.
Does this work with my existing Checkout.com setup?
Yes. It listens for the declined-payment notifications Checkout.com already sends, so there is nothing new to build on the payments side.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
Chase the paperwork every new client and vendor still owes

One board showing every party you are onboarding, which documents are still missing or expiring, and a one click chase email for exactly what is outstanding.

General Input Storage
General Input Database
PDF.co
+1
App
File Gmail attachments into storage with names you can find

Every hour, new email attachments get sorted by document type and vendor, saved under clear names, and logged in a spreadsheet index.

Gmail
General Input Storage
Google Sheets
+1
Agentic Task
Win back no-show and cancelled appointments every morning

Every weekday morning, every appointment that fell through yesterday gets a personal text or email inviting them to rebook, plus a task for the right rep.

LeadConnector
Google Sheets
Slack
Agentic Task

Stop losing revenue to declined cards.

Turn every failed payment into a friendly nudge that wins the customer back, automatically.