Last updated: 7/9/2026
Stripe redirects for some wallet payments and 3D Secure — then returns via payment_return to complete fulfillment.
Path B: user leaves site → Stripe → return with ?payment_return=1. Handlers on /checkout and /checkout/coins finalize purchase.
Stripe >>> return URL >>> confirming
Prerequisites: Wallet or 3DS payment.
Step 1. Expected redirects
3DS bank page.
Some wallet flows (disabled in prod cards-only mode).
Step 2. On return
Page shows Confirming your subscription… or coin confirming.
Must land on checkout path with payment_return — not /settings.
Mis-routed return_url historically caused silent non-fulfillment — fixed via buildCheckoutStripeReturnUrl.
Landing on /settings?payment_return=1 — wrong handler, contact support if charged.
Complete the return to checkout after 3DS; wait for confirming message.
Tags