Webhooks & completion

Signed events from PayShare — the only source of truth for fulfilment.

Event types

EventUse
PAYSHARE_SESSION_COMPLETEDMark booking paid; fulfil once per eventId
PAYSHARE_SESSION_CANCELLEDUpdate order state; do not fulfil
PAYSHARE_SESSION_EXPIREDRelease / abandon; do not fulfil
PAYSHARE_WEBHOOK_TESTWizard / connectivity test — return 2xx

Verification

  • Verify X-PayShare-Signature (HMAC-SHA256 over canonical JSON, sorted keys).
  • Dedupe on eventId — return 200 if already processed.
  • PayShare may retry on 5xx; handlers must be idempotent.

Payload highlights

  • orderReference — from merchantOrderRef at session create
  • platformContextId — echoed for multi-property routing
  • sessionId — correlate with your stored session