Tracking Sessions Across Webhooks
Overview
Transaction webhooks include two session identifiers —paysightSession and partnerSession — when the partner identifier was supplied in the supported format. These fields let you tie billing events (charge, refund, chargeback) back to the original user visit or click on your side.
How the session fields work
1 — Card Submit API (direct integration)
When you call the Card Submit API, pass your own identifier inpartnerSession:
2 — Widget SDK integration
If you integrate via the Widget SDK, supply your identifier assessionId in the widget config:
sessionId to Card Submit as partnerSession automatically. Keep it at 50 characters or fewer; no extra mapping is required.
How they appear in transaction webhooks
Every New Transaction and Updated Transaction webhook payload contains both fields:partnerSession to look up the original visit in your own data. Use paysightSession when working with Paysight support.
End-to-end reference
Tips
- Unique per visit — generate a fresh
partnerSession/sessionIdfor every new click or page visit. Reusing the same value across sessions will make reconciliation harder. - 50 characters maximum — longer values are not persisted for transaction-webhook correlation.
- Store it early — persist
partnerSessionin your database before calling Card Submit so it is available when the webhook arrives later (e.g. for subscription rebills). - All transaction types — when
partnerSessionis supplied at 50 characters or fewer, it andpaysightSessionare available across transaction webhook types: initial charges, subscription rebills, refunds, chargebacks, and chargeback alerts.
Related docs
Card Submit API
Full quickstart and request/response reference
Widget SDK
Embed the payment widget with a sessionId
Webhooks
Full transaction webhook payload reference