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 (configurable).

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_keystringKey de identificación del merchant
operationstringpurchase
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
orderobjectDatos del pedido (ver abajo)
cancel_urlstringNoURL de retorno si el pago se cancela/rechaza
success_urlstringURL de retorno tras pago exitoso (máx 1024)
error_urlstringNoURL de retorno ante error técnico de Checkout
customerobjectCondicionalDatos del cliente
billing_addressobjectCondicionalDirección de facturación — objeto top-level, no va anidado dentro de customer
recurring_initbooleanNoInicializa transacción recurrente
req_tokenbooleanNoSolicita tokenización de tarjeta
hashstringFirma 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): recurring_init_trans_id + recurring_token + order.number + order.amount + order.description + merchant_pass

Objeto order

CampoTipoRequeridoDescripción
numberstringID 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
currencystringISO 4217. 3 chars fiat, 3–6 chars cripto
descriptionstringNombre 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
districtstringBarrio/distrito
addressstringDirección
house_numberstringNúmero de casa
zipstringCódigo postal
phonestringTeléfono del cliente
phone_country_codestringCódigo de país del teléfono, ej. +380

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.