FINORA Checkout · Guía
Crea una sesión de cobro
Cada pedido que se paga en línea necesita su sesión. La crea tu servidor, nunca el navegador, porque usa la clave API del comercio.
-
Arma el cuerpo de la petición. Solo
montoes obligatorio, pero en la práctica siempre envías tambiénreferencia,returnUrlywebhookUrl:{"monto": 227.00,"moneda": "VES","referencia": "PED-1042","descripcion": "Pan campesino y café","items": [{ "nombre": "Pan campesino", "cantidad": 2, "precio": 113.50 }],"returnUrl": "https://mitienda.example/gracias","webhookUrl": "https://mitienda.example/webhooks/finora","ttlSegundos": 900,"sandbox": true}El monto va en unidades con dos decimales (
227.00), no en céntimos. -
Si vas a ofrecer tarjeta, agrega el
terminalIddel terminal físico que cobrará. Sin terminal, la tarjeta aparece atenuada con su motivo y el cliente puede pagar con los demás medios.{ "monto": 227.00, "referencia": "PED-1042", "terminalId": "TIENDA01" } -
Si ya conoces al cliente, precarga sus datos en
pagadorpara que no los escriba otra vez:{ "pagador": { "tipoDocumento": "V", "documento": "00000001", "nombre": "Ana Ejemplo", "telefono": "04140000001" } } -
Envía la petición con tu clave:
Ventana de terminal curl -s -X POST "<URL_DEL_MERCHANT>/api/v1/checkout/sesiones" \-H "X-API-Key: <TU_CLAVE_API>" \-H "Content-Type: application/json" \-d @sesion.json -
Guarda el
sesionIdde la respuesta junto a tu pedido. -
Devuelve al navegador solo el
sesionIdy eltoken, o laurlPago. Nunca la respuesta completa reenviada sin filtrar, y nunca la clave.
Si algo sale mal
Sección titulada «Si algo sale mal»| Respuesta | Qué significa | Qué hacer |
|---|---|---|
401 CLAVE_INVALIDA | La clave falta, es incorrecta o fue revocada | Revisa la variable de entorno; si la revocaron, pide una nueva |
403 CLAVE_SIN_ACCESO_AL_COMERCIO | La clave no es de ese comercio | Usa la clave del comercio correcto |
403 TERMINAL_AJENO | El terminal no pertenece a tu comercio | Revisa el terminalId |
404 TERMINAL_NO_ENCONTRADO | Ese terminal no existe | Revisa el terminalId en el Portal del comercio |
400 PETICION_INVALIDA | Monto cero o negativo, moneda que no es ISO, tiempo de vida fuera de 60 a 3600 segundos, URL que no es http(s) | Corrige el campo que dice el detail |
La lista completa está en Códigos de error y de resultado.