Webhooks & completion
Signed events from PayShare — the only source of truth for fulfilment.
Event types
| Event | Use |
|---|---|
| PAYSHARE_SESSION_COMPLETED | Mark booking paid; fulfil once per eventId |
| PAYSHARE_SESSION_CANCELLED | Update order state; do not fulfil |
| PAYSHARE_SESSION_EXPIRED | Release / abandon; do not fulfil |
| PAYSHARE_WEBHOOK_TEST | Wizard / 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