Checkout
Endpoints que resuelven a dónde debe ir el cliente final para completar un pago. Ninguno requiere api_key — los abre el navegador del comprador, que no tiene (ni debe tener) credenciales de tu comercio.
GET /v1/checkout/{id}
Redirige al cliente a la página de pago hospedada por Paytami. Es el valor que ya trae checkout_url en la respuesta de POST /v1/payments — normalmente no construyes esta URL a mano, solo rediriges a la que la API te dio.
Autenticación: ninguna. El id público de 24 caracteres hex es en sí mismo la credencial de esta operación puntual.
GET https://app.paytami.com/api/v1/checkout/pay_8f2c1a9d4e6b7c0a1d2e3f40Respuestas:
| Código | Cuándo |
|---|---|
302 Found | El pago admite cobro; redirige (Location) a la página de pago. |
404 unknown_payment | El id no existe. |
409 payment_not_payable | El pago ya se resolvió (pagado, cancelado, vencido) y no admite otro intento. |
Ver el uso completo en la guía de checkout hospedado.
GET /v1/payments/{id}/checkout_session
Versión en JSON del mismo dato que expone el redirect anterior — pensada para el checkout embebido, donde un iframe necesita la URL de pago sin depender de seguir un 302.
Autenticación: ninguna, mismo modelo de confianza que GET /v1/checkout/{id}.
curl https://app.paytami.com/api/v1/payments/pay_8f2c1a9d4e6b7c0a1d2e3f40/checkout_sessionRespuesta — pago pagable
{
"payment_id": "pay_8f2c1a9d4e6b7c0a1d2e3f40",
"payable": true,
"checkout_url": "https://checkout.example.com/session/xyz123"
}Respuesta — pago ya resuelto
{
"payment_id": "pay_8f2c1a9d4e6b7c0a1d2e3f40",
"payable": false,
"reason": "already_paid"
}reason es uno de: already_paid, failed, canceled, expired.
| Código HTTP | Cuándo |
|---|---|
200 OK | Siempre que el pago existe, sea o no pagable — el cuerpo distingue el caso con payable. |
404 unknown_payment | El id no existe. |
WARNING
El checkout_url de esta respuesta es exclusivamente para uso interno del mecanismo de embed de Paytami (link.paytami.com) — no lo muestres ni lo proceses directamente en tu integración, y no lo confundas con el checkout_url de un Payment, que sí es un identificador estable de Paytami. Este endpoint tampoco es una alternativa de propósito general a GET /v1/payments/{id} — para consultar el estado real de un cobro con tu api_key, usa siempre GET /v1/payments/{id}.

