Payment Intents & CheckoutRecovery event

Stripe webhook event

payment_intent.payment_failed

A PaymentIntent failed to complete.

Quick answer

A payment attempt on a PaymentIntent is declined.

Event typepayment_intent.payment_failed
CategoryPayment Intents & Checkout
When it firesA payment attempt on a PaymentIntent is declined.
Recovery-relevant?Yes, used in failed-payment recovery

When it fires

A payment attempt on a PaymentIntent is declined.

What to do with it

Surface the decline reason and prompt the customer to retry with a different method.

This is a payment-recovery event

payment_intent.payment_failed is part of the failed-payment lifecycle. Handling it well, with retries, branded emails, a card update page, and stop-on-success, is what recovers the ~9% of MRR most SaaS lose to failed payments. See how to recover failed Stripe payments or skip the build with SubRevival.

Stop building webhook handlers

SubRevival consumes the failed-payment events for you and runs the full recovery stack, no endpoint to build, secure, or maintain. 5-minute Stripe OAuth, $19/mo flat.

Start Recovering Revenue

FAQ

What does the Stripe payment_intent.payment_failed webhook event mean?

A PaymentIntent failed to complete.

When does payment_intent.payment_failed fire?

A payment attempt on a PaymentIntent is declined.

What should I do when I receive a payment_intent.payment_failed event?

Surface the decline reason and prompt the customer to retry with a different method.

Related events

Source: official Stripe events documentation.