Manejo de errores comunes en la API
Las respuestas de error de la API utilizan un formato uniforme para todas las operaciones. Siempre que la validación de datos falle (por ejemplo, cuando el monto de una orden está fuera de los límites permitidos), recibirás una respuesta HTTP 400 con detalles estructurados en un arreglo errors.
Estructura de la respuesta de error
{
"type": "<tipo de error>",
"errors": [
{
"attr": "<campo>",
"code": "<código de error>",
"detail": "<mensaje del error específico>"
}
]
}
- attr: Nombre del campo que generó el error de validación.
- code: Tipo de error (por ejemplo, "invalid" para un valor incorrecto).
- detail: Mensaje legible explicando el motivo.
Ejemplo: monto fuera de los límites establecidos
Intento de crear una orden con un monto muy bajo
curl -X POST https://api.dev.pago46.io/api/v1/merchants/orders/pay-in/ \
-H "Merchant-Key: <TU_MERCHANT_KEY>" \
-H "Message-Date: <TIMESTAMP>" \
-H "Message-Hash: <HMAC_SIGNATURE>" \
-H "Content-Type: application/json" \
-d '{
"order_type": "LocalCurrencyOrder",
"country": "MX",
"price": "1.00",
"price_currency": "MXN"
// ...otros campos obligatorios
}'
Respuesta:
{
"type": "validation_error",
"errors": [
{
"attr": "price",
"code": "invalid",
"detail": "Value is too low."
}
]
}
Intento de crear una orden con un monto muy alto
curl -X POST https://api.dev.pago46.io/api/v1/merchants/orders/pay-in/ \
-H "Merchant-Key: <TU_MERCHANT_KEY>" \
-H "Message-Date: <TIMESTAMP>" \
-H "Message-Hash: <HMAC_SIGNATURE>" \
-H "Content-Type: application/json" \
-d '{
"order_type": "LocalCurrencyOrder",
"country": "MX",
"price": "10000000000.00",
"price_currency": "MXN"
// ...otros campos obligatorios
}'
{
"type": "validation_error",
"errors": [
{
"attr": "price",
"code": "invalid",
"detail": "Value is too high."
}
]
}
Límites operacionales
Los valores mínimo y máximo de monto aceptados para cada merchant pueden variar según el acuerdo comercial y otros factores (país, moneda). Si tienes dudas sobre tus parámetros operativos vigentes, por favor contacta a tu representante de Pago46.
Este formato se aplica tanto a operaciones de pay-in como de pay-out y otras validaciones de negocio.