Saltar al contenido principal

Crear sesión (Authentication request)

POST /api/v1/session

El merchant envía una solicitud de autenticación y, como resultado de una respuesta exitosa, recibe un redirect_url — el link a la página de Checkout. La sesión expira en 1 hora.

información

Un link corresponde a un solo pago. El link se invalida después de un pago exitoso.

Parámetros comunes (todas las operaciones)​

ParámetroTipoRequeridoDescripción
merchant_keystringSíKey de identificación del merchant
operationstringSípurchase
methodsarrayNoMétodos de pago permitidos en la página. Puede ir o no ir — si no se envía, aplican las reglas de pre-routing
orderobjectSíDatos del pedido (ver abajo)
cancel_urlstringNoURL de retorno si el pago se cancela/rechaza
success_urlstringSíURL de retorno tras pago exitoso (máx 1024)
error_urlstringNoURL de retorno ante error técnico de Checkout
customerobjectCondicionalDatos del cliente (ver abajo)
billing_addressobjectCondicionalDirección de facturación — objeto top-level, no va anidado dentro de customer (ver abajo)
recurring_initbooleanNoInicializa transacción recurrente
req_tokenbooleanNoSolicita tokenización de tarjeta
hashstringSíFirma especial para validar susolicitud a la Plataforma de Pagos Adición en la sección de Firma Debe ser SHA1 de String codificada MD5 (en mayúsculas): payment_public_id + order.number + order.amount + order.currency + order.description + merchant_pass

Objeto order​

CampoTipoRequeridoDescripción
numberstringSíID del pedido en tu sistema (máx 255, recomendado único por intento)
amountstringSí*Monto. Consultar con S-interio, ya que cada país tiene un límite de monto habilitado
currencystringSíISO 4217. 3 chars fiat, 3–6 chars cripto
descriptionstringSíNombre del producto (min 2, máx 1024)

Objeto customer​

CampoTipoDescripción
namestringNombre completo del cliente. Debe tener el formato de nombre y apellido, ej. Juan Ramon Perez — no soporta más de 3 campos (palabras) y no debe tener caracteres especiales
emailstringEmail

Objeto billing_address​

CampoTipoDescripción
countrystringCódigo de país, 2 letras (ISO 3166-1 alpha-2)
statestring2 letras — solo lista fija para USA, Canadá, Australia, Japón, India
citystringCiudad
addressstringDirección completa, incluyendo el número (calle + altura), ej. Av Arequipa 1234. No existe un campo separado para el número
zipstringCódigo postal
phonestringTeléfono del cliente

El objeto billing_address debe tener:

"billing_address": {
"country": "MX",
"state": "Ciudad de Mexico",
"city": "Ciudad de Mexico",
"address": "Av Arequipa 1234",
"zip": "06000",
"phone": "+524424667608"
}
aviso

El phone debe tener la característica del país (código de país incluido, ej. +52 para México).

Ejemplo de request​

Ver request
{
"merchant_key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"operation": "purchase",
"order": {
"number": "1",
"amount": "150000.00",
"currency": "ARS",
"description": "Purchase"
},
"cancel_url": "https://example.com/cancel",
"success_url": "https://example.com/success",
"error_url": "https://example.com/error",
"customer": {
"name": "Test Name",
"email": "test-s-interio@example.com"
},
"billing_address": {
"country": "AR",
"state": "Cordoba",
"city": "Cordoba",
"address": "Av Arequipa 1234",
"zip": "5000",
"phone": "+5493482747561"
},
"recurring_init": true,
"req_token": true,
"hash": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}

Respuesta exitosa​

{
"redirect_url": "{{CHECKOUT_HOST}/auth/ZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5..."
}
información

redirect_url en la respuesta real trae un JWT/token largo como parte del path (/auth/{token}), no un ID corto como abc123xyz. Es un token firmado que Checkout genera y valida internamente — no hace falta decodificarlo, solo redirigir al cliente a esa URL completa.

Customer return after payment​

Al completar el pago, el cliente es redirigido a la URL indicada en success_url o cancel_url.

Sobre cancel_url

El retorno con parámetros a cancel_url solo ocurre si hubo un decline y el pagador cerró el formulario de pago (no la pestaña del navegador). Si el pagador cierra el formulario sin haber presionado el botón PAY, la redirección a cancel_url sucede sin parámetros adicionales.

Si falta un campo

Si alguno de los parámetros de la request no se envía y el método de pago lo requiere, el campo se muestra directamente en la Checkout Page para que el cliente lo complete.