{
  "id": 16256962,
  "title": "How to email a customer when their Stripe payment fails",
  "url": "https://urgent.news/2026/10/24/how-to-email-a-customer-when-their-stripe-payment-fails",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-24T01:20:37.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/fallguy04/how-to-email-a-customer-when-their-stripe-payment-fails-24hc"
  },
  "original_language": "en",
  "account": "When a customer's Stripe payment fails, the system sends an event called `invoice.payment_failed`. While Stripe provides its own email notifications, it's often preferable to handle this event yourself. You can either enable Stripe's email notifications, create your own webhook endpoint, or use a service like Kicklace to send the notification.\n\nTo set up your own webhook, go to Stripe's revenue recovery settings, turn on \"Send emails when card payments fail\", and add a webhook endpoint. Verify each request by checking the signature on the `Stripe-Signature` header. Store the event IDs you've handled, as an event can arrive multiple times.\n\nKicklace offers a service that integrates with Stripe, listens for `invoice.payment_failed` events, and sends personalized emails to the affected customers. To use Kicklace, connect it to your Stripe account, provide the necessary restricted key, and write your own email template. Kicklace keeps the Stripe secret secure and marks the subscription as past due.\n\nIn your email, clearly communicate what happened, how to resolve the issue, and any consequences if the issue remains unresolved. Include a link to your billing page and, if desired, offer assistance. Remember not to blame the customer, and ensure your email aligns with your brand voice.",
  "summary": "When a renewal fails, Stripe fires invoice.payment_failed and starts retrying. Its recommended setting tries up to 8 times in two weeks. Unless you've turned on Stripe's own email, your customer has no idea. It's usually an expired card, not someone leaving, and I think those quiet two weeks are where you lose people who meant to stay. Below is the email I'd send the same day, and the few lines…",
  "key_points": [
    "Enable Stripe's email notifications for failed payments.",
    "Set up your own webhook endpoint to handle invoice.paymentfailed events securely.",
    "Use Kicklace to send personalized emails for failed payments, keeping Stripe secret secure."
  ],
  "editors_take": "Customizing payment failure notifications allows businesses to maintain brand voice and improve revenue recovery by providing more personalized, actionable guidance to customers than standard automated system alerts.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}