Errors

Missing session_id

Stripe/balance confirm routes — session_id query/body param empty (400).

Missing session_id

Confirm endpoints (/api/checkout/stripe/confirm, balance top-up confirm, reseller top-up confirm) ran without a session_id (400 Missing session_id.).

Why this happens

Return URL truncated, bookmark without query params, or client called confirm before Stripe redirect attached the session. Not a webhook signature problem.

Diagnose and fix

1. Complete checkout via the provider redirect — do not invent confirm URLs.

2. If the success page loads without session_id, check return URL templates in Payment settings.

3. Retry the purchase; open history if payment already completed at Stripe.

4. Distinct from Could not load Stripe checkout session for this payment (id present, session missing).

Related