Daily failed payment recovery for your Whop members
Every weekday morning, find the Whop payments that failed, email those members a friendly card update note, and get a digest of the revenue at risk.
Every weekday at 9am, run a failed payment recovery pass on my Whop business.
Start with Whop List Payments, using the status filter to pull payments that failed or are past due, and narrow the results to the last 24 hours. If nothing comes back, post a short note to my revenue Slack channel saying there were no failed payments and stop there.
For each failed payment, gather the context I need to judge it. Use Whop Retrieve Membership on the membership tied to the payment to get the plan, the product, the current membership status and the billing period. Use Whop Retrieve Member to get the member's name and email, how long they have been a member, and their lifetime spend.
Be careful with the money units. Payment amounts from Whop List Payments are integers in the smallest currency unit, so divide them by 100 before any dollar figure appears in an email or in the digest. Plan amounts are decimal numbers already in the plan's currency, so never mix the two and never add them together. Every figure I see should be a properly formatted currency amount.
Rank the failures by dollars at risk. Use the failed payment amount as the base, then weigh it against the member's lifetime spend and tenure so that long standing, high value members rise to the top of the list rather than being treated the same as a brand new small subscription.
Before contacting anyone, apply two skip rules. First, skip the member if the retry already succeeded, which you can tell when the membership has gone back to an active or valid status, or when a later successful payment exists for the same membership in the payment list. Second, skip anyone who was already emailed about this in the last 7 days, which you can check with Gmail List Messages by searching my sent mail for that member's email address. Nobody should be emailed about a failed payment twice in the same week.
For everyone who remains, draft a short friendly card update email and send it with Gmail Send a Message. Keep it warm and non-threatening. These are customers whose card expired, not delinquents. Use their first name, name the product or plan they are on, say plainly that the latest payment did not go through, give one clear line about updating their card, and keep it under roughly 120 words. No dunning language, no threats about losing access, no urgency countdowns, no all caps. Personalize by tenure, so a member of two years gets thanked for sticking around while a very new member gets a lighter touch.
Finish by posting a digest to my revenue channel with Slack Send a Message. Include the total dollars at risk across all failures from the last 24 hours, the list of who was contacted with the amount and plan for each, who was skipped and the reason why, and a clearly separated section calling out the highest value accounts that need a human follow up, meaning large amounts, long tenure, or a card that has now failed more than once. That last section is what I act on personally, so make it specific about why each account made the list.
Example output
What does this prompt do?
- Checks your Whop account every weekday morning for payments that failed or slipped past due in the last 24 hours
- Looks up each member's plan, how long they have been with you and how much they have spent, then ranks the failures by how much money is actually on the line
- Sends each member a short, friendly note asking them to update their card, skipping anyone whose payment already went through on a retry or who you emailed in the last week
- Posts a summary to your revenue channel with the total at risk, who was contacted, and which high value accounts deserve a personal call
What do I need to use this?
- A Whop account with the products, plans and members you sell to
- A Gmail account to send the card update emails from
- A Slack workspace, plus the channel where you want the daily revenue digest posted
How can I customize it?
- Change the timing: run it every day including weekends, twice a day for faster recovery, or only on Monday mornings
- Set the bar for who gets contacted, such as a minimum dollar amount, or widen the seven day gap between emails so members hear from you less often
- Rewrite the email tone and the digest layout, or send the summary to a different channel or straight to a person
FAQs
Will it email someone whose payment already went through?
How does it decide who is worth emailing?
Can I review the emails before they go out?
Will members find the emails pushy?
Why does it run on a schedule instead of the second a payment fails?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.
Every Thursday, rank your team's upcoming flights by how likely they are to run late, and email the fixes while changes are still cheap.
Each month, spot the saved cards about to expire, email the customers still on recurring billing, and rank the revenue at risk in Slack.
Stop losing paying members to an expired card.
Run this recovery pass every weekday and win back revenue that would otherwise quietly disappear.