AltorLabFree Scan →
HomeError CodesRECHARGE_CHARGE_PENDING_TIMEOUT
rechargestripe

Recharge Charge Stuck in Pending State

Root cause

Recharge submitted a billing request to Stripe but the Stripe PaymentIntent did not resolve within Recharge's expected window — typically because the PaymentIntent requires additional customer action (3DS), the Stripe processing job was delayed, or a webhook from Stripe to Recharge failed to deliver.

Symptoms

How to fix it

1

Check the corresponding Stripe PaymentIntent status

In Stripe Dashboard, find the PaymentIntent corresponding to the stuck Recharge charge. Search by customer email and filter to the current date. Check the PaymentIntent status: requires_action means 3DS is needed, processing means Stripe is still working, succeeded means the charge completed but Recharge was not notified, canceled means it was cancelled. Each status requires a different response.

2

For requires_action: send the customer the 3DS authentication URL

If the PaymentIntent shows requires_action, extract next_action.redirect_to_url from the PaymentIntent via the Stripe API. Email this URL to the customer with instructions to complete the card authentication. Once they authenticate, Stripe fires payment_intent.succeeded, which should trigger Recharge to update the charge status. If Recharge does not update, the webhook from Stripe to Recharge may also be failing.

3

For a succeeded PaymentIntent with stuck Recharge charge: contact Recharge Support

If Stripe shows the PaymentIntent as succeeded but Recharge still shows the charge as PENDING after 2 hours, this indicates a webhook delivery failure between Stripe and Recharge. Contact Recharge Support with the charge ID and the Stripe PaymentIntent ID. Recharge can manually reconcile the charge status. Do not create a new Recharge charge while the original is still PENDING — you risk a double charge.

Frequently asked questions

How long should I wait before escalating a PENDING Recharge charge?

Wait 30 minutes for normal processing delays. After 30 minutes, check Stripe for the PaymentIntent status. After 2 hours with no resolution, escalate to Recharge Support. A PENDING charge that has not resolved in 2 hours has a systemic issue — a webhook delivery failure or a PaymentIntent in a stuck state — that requires direct intervention.

Can I cancel a PENDING Recharge charge and create a new one?

Not safely. If the corresponding Stripe PaymentIntent has already succeeded, cancelling the Recharge charge and creating a new one will attempt a second charge on the customer. Always confirm the Stripe PaymentIntent status is failed or cancelled before creating a replacement Recharge charge. Contact Recharge Support to void the stuck pending charge before proceeding.

Detect this error automatically

Free cross-stack scan finds all billing errors in 60 seconds.

Run Free Scan →