Pre-requisitos
Tienes credenciales de producción (
int_id_comercio, usuario, clave).Configuraste tu URL de retorno (estática en el comercio, o vas a enviarla con el código
104).Si aceptas PSE, tienes tu código de servicio.
Armar el request
El body es un objeto con cuatro propiedades:Campos obligatorios mínimos
Total a cobrar con IVA incluido.
Tu identificador único del pago. Máximo 30 caracteres, sin ceros a la izquierda.
Concepto del pago (el usuario lo ve en el formulario).
Tus credenciales.
Valor fijo (
-1 según texto normativo del instructivo oficial).Solo si aceptas PSE. Tu código de servicio PSE.
Obligatorios adicionales para certificación PSE
InformacionPago.str_id_cliente (documento del pagador)InformacionPago.str_tipo_id (tipo de documento)InformacionPago.flt_valor_iva (IVA de la transacción)Ejemplo completo
Al recibir la respuesta
Valida int_codigo
Si no es
1, loguea el error y muestra al usuario una pantalla amigable (ej. “Hubo un problema, inténtalo de nuevo”).Persiste el pago en tu BD
Guarda
str_id_pago, str_url, flt_total_con_iva, timestamp, estado = pendiente. Necesitarás estos datos para la sonda y el callback.Redirige al usuario
Devuelve un
302 Redirect hacia str_url, o abre en nueva pestaña si tu UX lo prefiere.Errores comunes
| Error | Solución |
|---|---|
int_codigo: 2 con “Object reference…” | Revisa credenciales y que el body tenga los 4 objetos top-level. |
str_id_pago rechazado | Tiene ceros a la izquierda o supera 30 caracteres. |
| ”Código 50 requerido” | Tu comercio tiene PSE habilitado y debes enviar el código 50 con tu código de servicio. |
| HTTP 415 | Falta header Content-Type: application/json. |
Próximo paso
Redirigir al usuario →
Cómo redirigir correctamente y qué esperar.