Events Catalog (Short + Long)
Every event Tonder can send you, with the format and trigger for each.
Tonder sends two webhook formats depending on your integration mode. This page catalogs the events by format; the conceptual model is in the Webhooks model.
Formats
| Characteristic | Short (API Direct · Lite SDK 2.0 · Frictionless) | Long (Hosted · mobile SDK · Legacy) |
|---|---|---|
| Root structure | Top-level fields | Everything inside data{} |
| Status | status: Pending / Success | transaction_status: Pending / Success |
| Event indicator | event_type: payment_Pending | event: created / confirmed |
| Order reference | client_reference | metadata.external_id / order_id |
Events by integration
API Direct (Short)
Events arrive in event_type:
event_type | Meaning |
|---|---|
payment_Pending | The payment was initiated and is processing. |
payment_Success | The payment completed successfully. |
payment_Failed | The payment failed. |
On SPEI Success, the payload adds sender info: sender_name, sender_clabe, sender_bank, among
others.
{
"id": "78eb98ef-65a8-4038-a2a0",
"operation_type": "payment",
"amount": "500",
"currency": "MXN",
"client_reference": "ORD-001",
"status": "Pending",
"payment_method_type": "SPEI",
"metadata": { "external_id": "ORD-001", "order_id": "ORD-001" },
"event_type": "payment_Pending",
"action": "MODIFY"
}Hosted Checkout (Long)
Session events arrive in action:
action | Meaning |
|---|---|
session.created | A new checkout session was created. |
session.completed | The session was successfully paid (confirms the order). |
session.expired | The session expired without payment. |
payment.transaction is the exception: this event arrives in the event_type field, not action.
It fires when a payment attempt's status changes. Check payload.event_type === 'payment.transaction', not payload.action.
Full payloads are in the Hosted Checkout reference.
Withdrawals (Short)
API Direct withdrawals use the same flat (Short) payload as payments, with event_type using the
withdrawal_ prefix (withdrawal_Pending, withdrawal_Success, withdrawal_Declined,
withdrawal_Failed) and transfer_method_type instead of payment_method_type. Full details and
examples in Withdrawals.
Use metadata.external_id as your correlation key — it's present in both formats and across all
events.
