Hosted Checkout

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_url o return_url y 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.
TienesLlama aObtienes
El id de la sesiónConsultar una sesiónLa sesión, su status y el transaction_status del intento más reciente.
El payment_idConsultar un pagoResultado, monto, método, marca de la tarjeta y últimos cuatro dígitos, motivo del rechazo.
Un direct_transaction_idConsultar una transacción de API DirectUn 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.

GET
/checkout/v1/sessions/{id}

Autorización

Authorization
Authorization<token>

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

id*string

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.

GET
/checkout/v1/payments/{payment_id}

Autorización

Authorization
Authorization<token>

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

payment_id*integer

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 HTTPCódigoSignificadoQué hacer
404E003No 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.
400E0014La 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.

Siguientes pasos

¿Te resultó útil esta página?

En esta página