Order Reference in WebhooksThe
external_id sent in the session creation request is visible in the Tonder dashboard as Order ID and in transaction reports as Business Transaction ID, but it is not returned in webhook payloads. To receive your order reference in a webhook, include it inside the metadata object — in addition to the existing external_id field — when creating the session. It will then be available under data.metadata in the webhook payload.Session Events
session.created
Sent when a new checkout session is successfully created. The table below describes the fields in thedata object for this event:
View Full JSON Payload Example
View Full JSON Payload Example
session.completed
Sent when a session is successfully paid for and completed. This is the primary event for confirming a successful order. The table below describes the fields in thedata object for this event:
View Full JSON Payload Example
View Full JSON Payload Example
session.expired
Sent when a pending session expires without a successful payment (e.g., the customer abandoned the checkout). The table below describes the fields in thedata object for this event:
View Full JSON Payload Example
View Full JSON Payload Example
Payment Transaction Events
payment.transaction
Sent when a payment transaction status changes (e.g., Pending, Success, Declined). A single session may have multiple payment.transaction events if the user retries.While
session.completed tells you the order is paid, payment.transaction gives you details about each attempt.data object for this event:
View Full JSON Payload Example (Declined)
View Full JSON Payload Example (Declined)

