Consultar el estado
Consulta una sesión o su pago desde tu servidor, y aprende en qué estado confiar.
Recomendamos los webhooks para actualizaciones en tiempo real, pero también puedes consultar el resultado en cualquier momento desde tu servidor. Es útil:
- Cuando un cliente regresa a tu
success_urloreturn_urly necesitas confirmar el estado final antes de mostrar la confirmación del pedido. - Para scripts de conciliación que revisan pedidos pendientes.
- Como respaldo si tu endpoint de webhooks falla.
| Tienes | Llama a | Obtienes |
|---|---|---|
El id de la sesión | Consultar una sesión | La sesión, su status y el transaction_status del intento más reciente. |
El payment_id | Consultar un pago | Resultado, monto, método, marca de la tarjeta y últimos cuatro dígitos, motivo del rechazo. |
Un direct_transaction_id | Consultar una transacción de API Direct | Un intento de pago específico. |
Para la entrega de pedidos, basa tu lógica en el estado de la transacción
(transaction_status), no únicamente en el status de la sesión. El significado de cada valor
está en la Referencia.
Consultar una sesión
Devuelve la sesión con sus valores actuales. Usa el id que recibiste al crearla.
Autorización
Authorization Your public API key, with the word Token and a space in front of it. Example: Token 6534bc0a7e1f4d2b9c8e3a5f7b1d2c4e6f8a9b0c — that whole value is the header. Sending the key alone returns 401 'Authentication credentials were not provided'. In this playground you may paste just the key; the prefix is added for you.
In: header
Parámetros de ruta
The session id returned when the session was created.
Cuerpo de la respuesta
application/json
application/json
curl -X GET "https://example.com/checkout/v1/sessions/cs_97_41528_42434df6c3644b9610df7b64a1fa9925e3b9562b05972097"{
"id": "cs_97_41528_42434df6c3644b9610df7b64a1fa9925e3b9562b05972097",
"status": "completed",
"session_type": "payment",
"payment_id": 41528,
"payment_flow": "direct",
"direct_transaction_id": "190e4fd9-6f0a-4a57-9b1e-3c2f1c0d7a11",
"transaction_status": "Success",
"amount_total": 150,
"currency": "MXN",
"external_id": "ORD-001",
"paid_at": 1751483767348
}{
"code": "E004",
"message": "The request was invalid. Please check your input and try again.",
"metadata": {},
"name": "TNDR004",
"statusCode": 400
}Consultar un pago
Devuelve los detalles del pago de la sesión. Recibe el payment_id numérico que se devolvió al
crear la sesión, y funciona tanto si tu cuenta usa la API Direct como si no. Si el cliente todavía
no ha intentado pagar, la respuesta no tiene detalles de la transacción.
Autorización
Authorization Your public API key, with the word Token and a space in front of it. Example: Token 6534bc0a7e1f4d2b9c8e3a5f7b1d2c4e6f8a9b0c — that whole value is the header. Sending the key alone returns 401 'Authentication credentials were not provided'. In this playground you may paste just the key; the prefix is added for you.
In: header
Parámetros de ruta
The numeric payment_id of the session (digits only).
Cuerpo de la respuesta
application/json
application/json
application/json
curl -X GET "https://example.com/checkout/v1/payments/41530"{
"payment_id": 41530,
"transaction_status": "Declined",
"transaction_type": "PAYMENT",
"operation_date": "2025-07-02T14:50:05.010068-05:00",
"amount_total": 2,
"currency": "MXN",
"payment_method_name": "card",
"provider": "tonder",
"card": {
"brand": "",
"last_four_digits": "0085"
},
"decline": {
"code": "04",
"description": "Declined by 3-D Secure"
},
"external_id": "ORD-001",
"metadata": {},
"session": {
"id": "cs_97_41530_403e3eff24789695e8e44ac9eba6a0c70dcc91ab41931be8",
"status": "pending",
"session_type": "payment"
}
}{
"code": "E004",
"message": "The request was invalid. Please check your input and try again.",
"metadata": {},
"name": "TNDR004",
"statusCode": 400
}{
"code": "E003",
"message": "The requested resource was not found.",
"metadata": {},
"name": "TNDR003",
"statusCode": 404
}| Estado HTTP | Código | Significado | Qué hacer |
|---|---|---|---|
| 404 | E003 | No hay ningún pago con este id, o el id no es un número (por ejemplo, un direct_transaction_id). | Envía el payment_id numérico. |
| 400 | E0014 | La sesión es de registro de tarjeta: no hay pago. | En su lugar, usa Consultar una sesión. |
Consultar una transacción de API Direct
Si tienes un direct_transaction_id —de una sesión, de un evento del checkout embebido o de tu
integración con el SDK Web— consúltalo con el endpoint de transacciones de la API Direct, usando la
misma llave API. Hosted Checkout no ofrece una consulta aparte para este id.
curl 'https://stage.tonder.io/api/v1/transactions/190e4fd9-6f0a-4a57-9b1e-3c2f1c0d7a11/' \
-H 'Authorization: Token YOUR_TEST_API_KEY'curl 'https://app.tonder.io/api/v1/transactions/190e4fd9-6f0a-4a57-9b1e-3c2f1c0d7a11/' \
-H 'Authorization: Token YOUR_API_KEY'La respuesta es la que se documenta en
Consultar estado de transacción.
Recuerda que direct_transaction_id es el intento más reciente del cliente y cambia cuando
reintenta; payment_id no.
