Create an account → get your keys instantly → create your first session in minutes. Live mode requires payout onboarding.

Integration reference (booking systems)

Helps developers integrate PayShare into booking or checkout systems. Describes PayShare's integration model on its own terms.

Booking and checkout systems need to handle three outcomes: success (paid), cancel (user cancelled), and expired (session timed out). PayShare provides webhooks and redirects for each.

Webhook = source of truth. Use the webhook to mark orders paid and trigger fulfilment. The success URL is for the thank-you page only. Do not rely on the redirect to decide payment succeeded.

PayShare integration terms

TermDescription
successUrlWhere the user is sent after payment and clicking Done. For UX only; do not use to mark order paid.
cancelUrlWhere the user is sent if they cancel.
merchantOrderRefYour order or booking reference; echoed in the webhook as orderReference. Use it to look up your order.
PAYSHARE_SESSION_COMPLETEDAll participants have paid. Use this event to trigger fulfilment (mark order paid, send confirmation).
PAYSHARE_SESSION_CANCELLEDUser or host cancelled. Update order state; do not trigger fulfilment.
PAYSHARE_SESSION_EXPIREDSession timed out. Update order state; do not trigger fulfilment.
eventIdUnique event id. Use for idempotency—return 200 if you already processed this event.

Outcome mapping

OutcomePayShare eventYour handler
Success (paid)PAYSHARE_SESSION_COMPLETEDMark order paid; send confirmation
CancelPAYSHARE_SESSION_CANCELLED + redirect to cancelUrlKeep pending or mark cancelled
ExpiredPAYSHARE_SESSION_EXPIREDRelease inventory; mark abandoned

Handler pattern

Your backend needs three logical handlers: onSuccess, onCancel, onExpired. When you receive a webhook, route by eventType and invoke the appropriate handler. Look up your order by orderReference or sessionId (you stored sessionId when creating the session).

See: Webhooks · Quickstart