Modelo actual
ZonaPagos autentica cada request dentro del cuerpo JSON. No hay headersAuthorization, ni API keys en la URL, ni JWT, ni OAuth.
Cada endpoint espera tres campos de autenticación, con un detalle de naming que hay que conocer:
| Endpoint | Campo ID | Campo usuario | Campo clave |
|---|---|---|---|
POST /InicioPago | int_id_comercio (dentro de InformacionSeguridad) | str_usuario | str_clave |
POST /VerificacionPago | int_id_comercio (raíz) | str_usr_comercio | str_pwd_Comercio |
Obtener credenciales
Las credenciales se asignan al activar tu cuenta comercial. Son:Identificador único del comercio. Ej.
31416.Nombre de usuario técnico. Máximo 40 caracteres.
Clave. Máximo 50 caracteres. Se puede cambiar desde el portal de ZonaPagos.
Seguridad operativa
Usa siempre HTTPS. El API solo acepta conexiones TLS.
Guarda las credenciales en secret manager (AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, Vault de Hashicorp, variables de entorno cifradas). Nunca en código ni en repositorios.
Rota la clave periódicamente desde el portal de ZonaPagos.
Monitorea accesos a tus credenciales en tu infra. Una clave comprometida permite iniciar pagos a tu nombre (aunque el dinero va a tu cuenta comercial, no a la del atacante).
Errores de autenticación
| Síntoma | Diagnóstico |
|---|---|
int_codigo: 2 con str_descripcion_error mencionando credenciales | Usuario o clave incorrectos. |
int_codigo: 2 con "Object reference not set to an instance of an object." | int_id_comercio inválido, o estás usando credenciales dummie contra el API REST de producción. |
HTTP 200 pero int_codigo: 2 sin descripción útil | Validar que el JSON está bien formado y que todos los campos obligatorios están presentes. |
Próximo paso
Convenciones del API →
Tipos de dato, formatos numéricos y reglas generales.