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

  1. Browser lands on GET /api/payshare/stripe-success?session_id=cs_…
  2. Verify / retrieve Checkout Session (Connect: same stripeAccount as create).
  3. POST PayShare record-payment (kind: authorize) with payshareSessionId + payshareParticipantId from metadata.
  4. 302 to PayShare — participant: payshareParticipantReturnUrl; host: payshareHostResumeUrl.

Redirect priority (guest)

  1. payshareParticipantReturnUrl from metadata
  2. Else /return?payshareReturnId=… on app.payshare.nz
  3. Host: payshareHostResumeUrl — never send host to /join after pay