¿Puedo probar el API REST sin credenciales de producción?
¿Puedo probar el API REST sin credenciales de producción?
dummie_ciclopago/FormulariosWeb/InicioPago_Dummie.aspx) sirve para probar el flujo visual, pero dummie_ciclopago/api/* retorna HTTP 404.Para probar el API REST, contacta a soporte@zonapagos.com para solicitar credenciales de preproducción.¿Qué valor debo enviar en int_modalidad, -1 o 1?
¿Qué valor debo enviar en int_modalidad, -1 o 1?
-1”, pero el ejemplo JSON usa 1.Recomendación provisional: usar -1 siguiendo el texto normativo. [Pendiente de confirmación con TI.]¿Por qué recibo 'Object reference not set to an instance of an object.'?
¿Por qué recibo 'Object reference not set to an instance of an object.'?
- Credenciales inválidas.
int_id_comercioinexistente.- Falta algún objeto top-level en el body (
InformacionPago,InformacionSeguridad,AdicionalesPago,AdicionalesConfiguracion). - Estás usando credenciales del ambiente dummie contra el API REST de producción.
¿Por qué el nombre del campo es 'str_usuario' en un endpoint y 'str_usr_comercio' en otro?
¿Por qué el nombre del campo es 'str_usuario' en un endpoint y 'str_usr_comercio' en otro?
| InicioPago | VerificacionPago |
|---|---|
str_usuario | str_usr_comercio |
str_clave | str_pwd_Comercio (C mayúscula) |
¿Cómo sé cuándo un pago fue aprobado?
¿Cómo sé cuándo un pago fue aprobado?
int_estado_pago === 1 en la respuesta de /VerificacionPago. Este es el único estado que significa aprobado. Nunca asumas aprobación porque:- Recibiste el callback (puede ser falso).
int_codigo: 1enInicioPago(solo significa que creaste la transacción).- El usuario dice “ya pagué”.
¿Puedo reutilizar un str_id_pago si el pago fue rechazado?
¿Puedo reutilizar un str_id_pago si el pago fue rechazado?
str_id_pago único. Si el usuario quiere reintentar, genera un nuevo ID (ej. ORDEN-001-R1, ORDEN-001-R2).Reutilizar IDs puede causar conflictos en el core transaccional y errores difíciles de depurar.¿Cómo parseo el campo str_res_pago?
¿Cómo parseo el campo str_res_pago?
| (campos) y |;| (pagos). Tenemos parsers listos para copiar en:Ver también Parsear str_res_pago con el código detallado.¿La sonda es realmente obligatoria?
¿La sonda es realmente obligatoria?
4001 (pendiente CR).¿Qué hago cuando int_estado_pago = 4001?
¿Qué hago cuando int_estado_pago = 4001?
- Mostrar el mensaje obligatorio al usuario.
- Configurar tu sonda para consultar cada 10-15 min.
- No permitir al usuario reintentar con el mismo
str_id_pagomientras esté en CR.
¿El callback del comercio está firmado?
¿El callback del comercio está firmado?
id_comercio e id_pago sin firma HMAC ni token verificable.Mitigación obligatoria: siempre verifica el estado real llamando /VerificacionPago desde tu backend. Nunca entregues producto confiando solo en el callback.[Pendiente con TI: evaluar incorporación de firma al callback.]¿Cómo manejo los ceros a la izquierda en str_id_pago?
¿Cómo manejo los ceros a la izquierda en str_id_pago?
- ✅
"ORDEN-001","180924","FAC-2026" - ❌
"009","0123","00ORDEN"
"P-009" en lugar de "009".¿Cuánto tarda un pago PSE en confirmarse?
¿Cuánto tarda un pago PSE en confirmarse?
- La mayoría: 30 segundos a 5 minutos.
- Casos con red saturada: hasta 30 minutos en estado
999. - Casos excepcionales: hasta algunas horas.
999, algo raro está pasando — revisa manualmente o contacta soporte.¿Cómo convierto 1.95% al formato 0195?
¿Cómo convierto 1.95% al formato 0195?
¿Qué significa int_pago_terminado?
¿Qué significa int_pago_terminado?
int_estado_pago:int_pago_terminado: 200→ pago iniciado (aún no ha pasado nada).int_pago_terminado: 1→ pago cerrado (aprobado o rechazado).int_pago_terminado: 2→ pago mixto incompleto (aún faltan sub-pagos por terminar).
int_estado_pago (debe ser 1).¿ZonaPagos envía email de confirmación al cliente?
¿ZonaPagos envía email de confirmación al cliente?
str_email en el InicioPago. ZonaPagos le manda un comprobante del pago (estilo recibo con el CUS).Esto no reemplaza tu email de “gracias por tu compra” con el detalle del producto — eso lo debes enviar tú.¿Qué datos necesito para conciliar pagos con mi banco / franquicia?
¿Qué datos necesito para conciliar pagos con mi banco / franquicia?
- PSE:
str_codigo_transaccion(CUS),int_codigo_banco,str_nombre_banco,dat_fecha. - TC:
int_cod_aprobacion,str_franquicia,int_numero_tarjeta(últimos 4),dat_fecha. - Otros:
str_ticketID,int_codigo_banco.