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.

Additional information

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.

Frequently asked questions

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.

Stop losing revenue to declined cards.

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