Skip to main content

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.
Keep partnerSession at 50 characters or fewer. Longer values are not persisted for transaction-webhook correlation. Widget integrations have the same limit because Widget sessionId is forwarded as partnerSession.

How the session fields work

1 — Card Submit API (direct integration)

When you call the Card Submit API, pass your own identifier in partnerSession:
The response returns both identifiers:

2 — Widget SDK integration

If you integrate via the Widget SDK, supply your identifier as sessionId in the widget config:
The Widget forwards 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:
Use 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 / sessionId for 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 partnerSession in your database before calling Card Submit so it is available when the webhook arrives later (e.g. for subscription rebills).
  • All transaction types — when partnerSession is supplied at 50 characters or fewer, it and paysightSession are available across transaction webhook types: initial charges, subscription rebills, refunds, chargebacks, and chargeback alerts.

Card Submit API

Full quickstart and request/response reference

Widget SDK

Embed the payment widget with a sessionId

Webhooks

Full transaction webhook payload reference