Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

WooCommerce Critical

Stripe 3D Secure returns to checkout and the order does not change status: diagnosis complete

Direct answer: Stripe 3D Secure returns to checkout and the order does not change status: diagnosis complete must be resolved as an operational decision,…

If Stripe completes 3D Secure but WooCommerce leaves the order pending, trace one transaction across browser return, PaymentIntent and webhook. Do not retry random checkout settings: the return page can succeed while the server-side event that confirms payment never updates the order.

Capture one correlation set

Keep the WooCommerce order ID, Stripe PaymentIntent/charge ID, browser return time and Stripe event ID. Never log card data.

Read the Stripe event delivery

Check whether the relevant payment event was sent, its HTTP response, attempts and endpoint. A 2xx response only proves receipt; confirm the handler actually reached the intended order.

Compare order notes with gateway state

Order notes should show what WooCommerce believed happened. If Stripe says paid and WooCommerce has no corresponding note, focus on webhook routing, signature, plugin errors or order lookup.

Check duplicate and late events

Events can arrive after the customer returns or more than once. The handler must be idempotent and able to reconcile a late confirmation without creating a second order.

Verify end to end

Run a controlled 3DS payment and confirm: successful authentication, one payment, one WooCommerce order, correct status and no second stock reduction.

Use the payment tracing guide to collect evidence safely, and compare the status path with payment succeeds but order remains pending.

Keep an evidence packet for the exact 3DS attempt

The useful packet is small but specific: order ID, PaymentIntent ID, event ID, event delivery result, order note before/after and the final stock state. That is enough to prove whether authentication, capture, notification or WooCommerce status handling failed without collecting sensitive card information.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident↗