Stripe Connect
Route charges to connected accounts and retrieve Checkout with the same stripeAccount.
PayShare echoes platformContextId on session create, create-payment, and completion webhooks. Your server maps it to a Stripe connected account (often acct_… or a booking lookup key).
Mandatory symmetry
// Create (create-payment handler)
await stripe.checkout.sessions.create(params, {
stripeAccount: "acct_CONNECTED",
});
// Retrieve (stripe-success bridge) — same account
await stripe.checkout.sessions.retrieve("cs_...", {
stripeAccount: "acct_CONNECTED",
});If create uses acct_A but retrieve uses the platform account, you get “No such checkout.session” or missing metadata — PayShare stays at 0/N paid even after Stripe succeeds.
Metadata to persist on Checkout
- payshareSessionId, payshareParticipantId
- payshareParticipantReturnUrl, payshareHostResumeUrl, payshareReturnId
- platformContextId
success_url query params
Use your merchant HTTPS bridge with session_id={CHECKOUT_SESSION_ID}. Optionally add platformContextId=acct_… and booking_id for lookup before metadata is read.