Solución de Problemas
¿Tienes problemas con tu integración? Encuentra soluciones a problemas comunes abajo, o contacta soporte para asistencia personalizada.
Problemas Comunes
Webhook no recibido
Possible Causes
- URL del webhook no configurada en el panel
- Firewall bloqueando solicitudes entrantes
- Problemas con certificado SSL
- Endpoint devuelve estado no-2xx
Solutions
- Verifica que la URL esté configurada en los ajustes de SanPay
- Revisa que el firewall del servidor permita solicitudes POST externas
- Asegúrate de tener un certificado SSL válido (no auto-firmado en producción)
- Responde 200 OK inmediatamente, procesa de forma asíncrona
Verificación de firma fallida
Possible Causes
- Secreto webhook incorrecto
- Cuerpo de solicitud modificado por middleware
- Desfase de tiempo entre servidores
Solutions
- Copia el secreto webhook exactamente desde el panel
- Verifica el cuerpo raw antes de cualquier parseo JSON
- Permite ±5 minutos de tolerancia en el timestamp
Modal SDK no se abre
Possible Causes
- Origen no en lista blanca
- ID de sesión inválido
- Error JavaScript en la página
Solutions
- Añade tu dominio (con protocolo) a los orígenes permitidos
- Verifica que la sesión se creó exitosamente
- Revisa la consola del navegador por errores
Pago atascado en PENDING_SELECTION
Possible Causes
- El cliente aún no ha seleccionado una moneda
- Sesión expirada
Solutions
- Esto es normal—el cliente elige la crypto en el modal
- Revisa el timestamp expiresAt
Pedido no se actualiza después del pago
Possible Causes
- Error en manejador webhook
- Transacción de base de datos fallida
- Evento procesado pero duplicado ignorado
Solutions
- Revisa los logs del manejador webhook por errores
- Verifica la lógica de coincidencia de ID de pedido
- Revisa la implementación de deduplicación de eventId
Consejos de Depuración
Habilita Logging Detallado
Registra todos los payloads de webhook entrantes y respuestas de tu manejador
Revisa el Panel
Visualiza logs de entrega de webhook en el panel admin de SanPay
Usa Modo de Prueba
Depura con pagos testnet antes de ir a producción
Verifica Claves API
Asegúrate de usar pares de claves coincidentes (test con test, live con live)
Referencia de Códigos de Error
| Código | Estado HTTP | Causa | Solución |
UNAUTHORIZED | 401 | Clave API inválida o faltante | Verifica que la clave API sea correcta y activa |
FORBIDDEN | 403 | Origen no permitido | Añade tu dominio a los orígenes permitidos |
SESSION_EXPIRED | 400 | Sesión de checkout expirada | Crea una nueva sesión de checkout |
INVALID_AMOUNT | 400 | Formato de monto inválido | Usa string numérico: "99.99" |
UNSUPPORTED_CURRENCY | 400 | Moneda no habilitada | Revisa las monedas soportadas en el panel |
RATE_LIMITED | 429 | Demasiadas solicitudes | Implementa backoff exponencial |
¿Necesitas Más Ayuda?
Si no encuentras una solución aquí:
Documentación
Consulta la referencia API completa
Soporte por Email
[email protected] para problemas técnicos
Logs del Panel
Visualiza logs detallados de solicitudes y webhooks