LOADING…
0%
Complete changelog

Commit

Fix Stripe checkout return URLs so post-payment verification runs

Commit details

Commit notes

The frontend appended ?verify=true / ?subscription=success to redirect URLs and the backend then appended a second ?session_id=..., producing malformed double-? success URLs whose params never parsed — so the payment-success flow never fired, while the clean cancel_url triggered it on cancel instead.

- Add appendRawQuery helper that joins with ? or & correctly without encoding Stripe's {CHECKOUT_SESSION_ID} template; use it for all three success_url call sites (pack, bundle, subscription checkout) - Send clean redirect URLs from the frontend (origin + pathname; bare /library for subscriptions) so cancel returns carry no marker - Gate pack/bundle verification on session_id presence (keeping legacy verify=true acceptance for deploy skew) and clean both params from the URL afterward - Preserve remaining query params in the library page URL cleanup and also strip session_id there

Co-Authored-By: Claude Fable 5 <[email redacted]> Claude-Session: [private session redacted]

Files changed
9
Lines added
+73
Lines removed
−12
This page is a permanent record of commit 08dfb192.