Invoicing, payments & bookkeeping
Stripe failed payment → customer email from Gmail + retry log in Sheets
Every failed card gets a personal payment-link email and a row in your log.
Stripe retries a failed card on its own schedule, and the customer hears about it only if you switched Stripe's emails on. Here each failed attempt sends a note from your Gmail within a minute, with the amount and the hosted payment link, and writes a row to a Google Sheet. Once Stripe gives up retrying, you get an email naming the customer and what is still owed.
How it works
- St
Trigger
invoice.payment_failed webhook event (subscription or sent invoice, any attempt)
Stripe
- if
Step 1
Read the attempt and pick the stage
Invoice number, amount due, currency, customer email, attempt count and next retry date come off the event. Attempt one gets the soft note; an attempt with no next retry date is the final stage.
- G
Step 2
Email the customer from your own inbox
A plain-text email goes to the invoice's customer email with the amount, the invoice number and Stripe's hosted payment link. It sends from your Gmail, so replies come back to you.
- GS
Step 3
Append the attempt to the log
One row per attempt: date, customer, invoice number, amount, currency, attempt number, next retry date, the Stripe event ID and whether the email went out.
- G
Step 4
Escalate once Stripe stops retrying
On the final attempt a second email goes to the address you set, naming the customer, the amount still owed and a direct link to the invoice in the Stripe dashboard.
What changes once it runs
- The customer has a payment link in their inbox within a minute of the card failing.
- Every attempt sits in one sheet, so who is on a second or third failure is one glance away.
- Stripe's last retry sends you an email, not a silent lapse.
- Replies land in your Gmail thread rather than at a Stripe no-reply address.
What you get
- n8n workflow export with the Stripe trigger already scoped to invoice.payment_failed
- Two email templates, first attempt and final attempt, as editable text
- The Google Sheet with headers and a sample row
- A written setup guide covering the Stripe webhook signing secret and the Gmail connection
- Screen recording of a test failure using one of Stripe's test cards
Before you start
- Stripe account with Billing (subscriptions or invoicing) in use
- Gmail or Google Workspace mailbox to send from
- A Google Sheet with the header row from the package (one copy is included)
- n8n Cloud, or self-hosted n8n on a public URL so Stripe can reach the webhook
Built for
Questions before you buy
- Stripe already sends failed-payment emails. Why add this?
- Stripe's emails are optional, come from a Stripe address and give you little say over the wording. This one sends from your mailbox in your words, keeps a log you own, and tells you when retries have run out. Turn Stripe's own failed-payment emails off in Billing settings once this is live, or the customer gets both.
- Does it cover one-off card payments, not just subscriptions?
- Out of the box it listens for invoice.payment_failed, which covers subscriptions and invoices you send from Stripe. One-off Checkout charges raise payment_intent.payment_failed instead. The setup guide shows the two-line change to listen for both.
- What happens if the Gmail send fails?
- The row still gets written, with the email column marked failed, and the execution sits in n8n's error list for you to re-run from the dashboard. n8n answers Stripe the moment the event arrives, so Stripe does not resend it; a second email only goes out if you choose to re-run.
- Can I run it on Make instead of n8n?
- Yes. Make's Stripe app has a Watch Events module you point at invoice.payment_failed, and a Router carries the final-attempt branch. Zapier is not offered for this one; we have not tested its Stripe trigger against the invoice fields the stage logic needs. The n8n export is the version we test.
Nearby on the shelf
Whole catalog- GCDrQBMade to order
Gmail receipt → Claude reads it → QuickBooks expense + PDF filed in Drive
Receipts in your inbox become QuickBooks expenses with the PDF filed by month.
Invoicing, payments & bookkeeping$199 - XeGMade to order
Xero overdue invoice → chase email from Gmail on days 7, 14 and 30
Overdue Xero invoices get chased from your own inbox on a fixed schedule.
Invoicing, payments & bookkeeping$49 - CaGSGMade to order
Calendly interview booked → Google Sheets tracker + Gmail interviewer pack
Interviewers get the candidate's file the moment the slot is booked, not the morning of.
Hiring, onboarding & HR$99
