INTERVIEWEE: Stripe eAgent
I need to understand your situation better to give you the right guidance.
Are you asking about:
Subscription payment retries — where Stripe automatically retries failed subscription payments, and you want to stop those retries when your fulfillment system is down?
Payment confirmation/capture — where you want to prevent payments from succeeding when your inventory API isn't responding during checkout?
Something else — like preventing new payment attempts entirely when your systems are unavailable?
Also, are you using Stripe Billing subscriptions, or a different payment flow?
You can prevent payments from succeeding when your inventory API isn't responding by confirming the PaymentIntent on your server after validating inventory availability.
Here's how to set this up:
- Create the PaymentIntent on your server without immediately confirming it
- Collect payment details from your customer using the Payment Element on your client
- Send the payment details to your server (using a ConfirmationToken)
- Check your inventory API on your server before confirming the payment
- Only confirm the PaymentIntent if your inventory API responds successfully and fulfillment is possible
If your inventory API is down or returns an error, don't call the confirm endpoint—return an error to your customer instead. This prevents the payment from being processed when you can't fulfill the order.
This approach is called finalizing payments on the server. The key is that you maintain full control over when the payment is confirmed, allowing you to run any validation logic (including inventory checks) before the charge is processed.
For Checkout Sessions, you can use manual approval to run custom logic before finalizing payment, though this feature has a timeout limit you'll need to consider.
Would you like guidance on implementing server-side confirmation with inventory validation?
I need to clarify what you're asking about, since "retry" means different things depending on your payment flow.Are you concerned about:
The customer manually retrying — where a customer whose payment failed tries to pay again later (maybe hours or days later) when your inventory API is still down?
Stripe's automatic subscription payment retries — where Stripe automatically retries failed subscription payments over several days?
The customer immediately retrying — where a customer clicks "pay" multiple times in quick succession during the same checkout session?
Also, what payment product are you using — Checkout, Payment Links, Elements, or something else?
Yes, you can turn off Stripe's automatic payment retries for subscriptions.
Go to your Revenue recovery settings in the Dashboard and disable Smart Retries. This prevents Stripe from automatically retrying failed subscription payments.
When retries are disabled, if a subscription payment fails (including when your inventory API isn't responding and you don't confirm the payment), Stripe won't automatically attempt to charge the customer again. The subscription will follow whatever failure action you've configured—either marking it as unpaid or canceling it.
Keep in mind that turning off retries applies to all subscription payment failures, not just inventory-related ones. If you need different retry behavior for different situations, you can use Automations to create custom retry policies for specific customer segments or conditions.