(This article original appeared in the Help Center as "Failed Payments and Customer Emails in Stripe ")
⏱️ TL;DR
- Does Memberstack send renewal or failed payment emails? No. All subscription renewal reminders, trial-ending notices, and failed payment (dunning) emails are sent directly by Stripe.
- Where to configure them: In your Stripe Dashboard under Settings > Billing > Subscriptions and Emails.
- The 7-Day Window Rule: When you first turn on renewal reminders in Stripe, Stripe will not send emails for any subscriptions scheduled to renew within the next 7 days. They will only trigger for renewals further out.
- Why Stripe emails fail silently: Common culprits include using an unverified sender domain, or testing in Stripe Test Mode (which suppresses real emails).
- How to check if they sent: Open the customer's profile in Stripe and scroll to the Sent Emails log.
The video below is a brief explanation of some of the material covered in this article and suggested for more visual learners!
1) Where the Settings Live in Stripe
To configure automatic emails for subscription renewals, card expirations, and failed payments, you must enable them in your Stripe settings:
- Log into your Stripe Dashboard.
- Click the Settings (gear) icon in the top right.
- Select 'Billing' and then select 'Subscriptions & emails .
- Here, you can toggle on the following automated emails:
- Prevent failed payments: Send emails about upcoming renewals and expiring cards.
- Manage failed payments: Send emails when a payment fails, prompting customers to update their payment method.
- Trial expiration reminders: Send a reminder email 7 days before a free trial ends.
(Or you can log in to your Stripe account and then click this link. It opens the Customer emails page, Settings icon > Business Settings heading).
2) Managing Failed Payments & Retry Schedules (Dunning)
When a payment fails, Stripe doesn't just email the customer—it also manages the retry schedule and the status of their subscription. Under Settings > Billing > Subscriptions and emails, make sure to configure the following:
- Retry Schedule (Smart Retries): We highly recommend enabling Stripe's Smart Retries. Stripe uses machine learning to retry cards at the optimal time (up to 4 times over a custom timeframe) to maximize recovery success.
-
Subscription Status: Choose what happens to the member's subscription if all retries fail. You can set it to:
- Cancel subscription: Permanently ends the subscription. (Memberstack will immediately revoke access).
- Mark subscription as unpaid: Keeps the subscription open but flags it as unpaid. (Highly recommended if you want to give members a grace period to log in and update their card).
- Leave subscription as-is: Keeps the subscription active (not recommended, as they get free access).
- Invoice Status: Choose whether to mark the unpaid invoice as uncollectible or leave it as unpaid when retries are exhausted.
3) The Configured Window Rule (Why Renewal Emails Seem Missing)
⚠️ The #1 point of confusion for new setups!
- If you have just enabled Upcoming renewal emails in Stripe and a member's subscription renews a day or two later without them getting an email, this is actually expected behavior.
- How Stripe’s system works: Stripe requires a lead time equal to your configured notification window (which defaults to 7 days, but can be customized in your Stripe settings) to queue up upcoming renewal emails.
- The Rule: If your notification window is set to 7 days, and you turn on the setting today, any customer whose renewal date is within the next 7 days will not receive a renewal email. They will only start receiving them on their next billing cycle, or if their renewal is scheduled more than 7 days from when you toggled the setting on. If you change your window to 3 days, the same logic applies to anyone renewing within 3 days.
4) Why Stripe Silently Suppresses Emails (Troubleshooting Checklist)
If you have enabled customer emails in Stripe, but members are still not receiving them, check these three common silent-suppression scenarios:
🔍 Check A: Is your Sender Domain verified?
By default, Stripe sends emails from the stripe.com domain. However, if you have configured Stripe to send emails from your custom business email (e.g., billing@yourdomain.com), you must verify your domain.
- The Gotcha: If your domain's DNS settings do not have the proper SPF and DKIM records verified in Stripe, email providers (like Gmail or Outlook) will block the emails as spam, or Stripe will refuse to send them to protect your domain's sender reputation.
- The Fix: Go to Stripe’s Settings > Business> Customer Emails and ensure your custom domain is fully verified. If not, fall back to the default stripe.com domain until your DNS records propagate.
🔍 Check B: Environment Mismatch (Sandbox vs. Live)
- The Gotcha: Stripe restricts who can receive emails while in Test Mode.
- The Fix: If you are testing your signup flow on your staging site using Stripe's test card, Stripe will only send automated emails to the verified email addresses of the Stripe account owner or verified team members. If you use a random test email (like testuser@gmail.com), Stripe will register the event in your dashboard but will silently suppress sending the actual email to protect external users. To test emails successfully, ensure your test member's email matches your Stripe account login email. Real emails will go out normally to all real customers on your live production site.
5) How to Verify Emails Went Out (Stripe Event Logs)
You do not have to guess whether Stripe sent an email. You can verify emails sent within the last 60 days directly in Stripe's logs.
- In your Stripe Dashboard, search for the specific customer's email.
- Click into their Stripe customer profile.
- Scroll down to the Sent Emails section at the bottom of the page.
- Under the customer's sent Emails section (if any email was sent within the last 60 days apart from the current date), you can view the email notifications sent for the events like failed payment attempts, expiring cards on file, unpaid one-off invoices, ending subscription trials based on your Stripe settings.
❓ Frequently Asked Questions (FAQ)
Q: Does Memberstack block or conflict with Stripe's emails?
No. Memberstack and Stripe run completely in parallel. Memberstack does not have the ability to block, intercept, or suppress emails sent from your Stripe account. If a Stripe email isn't sent, the issue is entirely within your Stripe dashboard settings or domain verification.
Q: Can I customize the design and text of Stripe's renewal emails?
Yes, but customization is limited compared to dedicated marketing tools. You can customize your brand colors, logo, and icon under Stripe Settings > Business > Branding. For deep text customization, you must route Stripe webhooks to an email service like Customer.io, ActiveCampaign, or Zapier.
Comments
0 comments
Please sign in to leave a comment.