Stripe success bridge
GET route on your origin after Stripe Checkout — retrieve, record-payment, 302 to PayShare.
PayShare only marks a slot paid after your server calls record-payment. Redirecting the browser to PayShare does not report Stripe success.
Correct sequence
- Browser lands on GET /api/payshare/stripe-success?session_id=cs_…
- Verify / retrieve Checkout Session (Connect: same stripeAccount as create).
- POST PayShare record-payment (kind: authorize) with payshareSessionId + payshareParticipantId from metadata.
- 302 to PayShare — participant: payshareParticipantReturnUrl; host: payshareHostResumeUrl.
Redirect priority (guest)
- payshareParticipantReturnUrl from metadata
- Else /return?payshareReturnId=… on app.payshare.nz
- Host: payshareHostResumeUrl — never send host to /join after pay