Desarrolladores
Valida tus pagos con nuestra potente API.
Síncrono o asíncrono. Haz una sola llamada y recibe el veredicto al instante o con Webhooks
curl -X POST https://api.veriko.mx/v1/validate \
-H "Authorization: Bearer veriko_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fecha": "2025-03-15",
"monto": 15000.50,
"clave_rastreo": "MXBA20250315001234",
"cuenta_beneficiaria": "012180004412345678"
}'
const res = await fetch("https://api.veriko.mx/v1/validate", {
method: "POST",
headers: {
"Authorization": "Bearer veriko_TU_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
fecha: "2025-03-15",
monto: 15000.50,
clave_rastreo: "MXBA20250315001234",
cuenta_beneficiaria: "012180004412345678",
}),
});
const { data } = await res.json();
console.log(data.attributes.status); // "valid"
import requests
res = requests.post(
"https://api.veriko.mx/v1/validate",
headers={"Authorization": "Bearer veriko_TU_API_KEY"},
json={
"fecha": "2025-03-15",
"monto": 15000.50,
"clave_rastreo": "MXBA20250315001234",
"cuenta_beneficiaria": "012180004412345678",
},
)
print(res.json()["data"]["attributes"]["status"]) # "valid"
$ch = curl_init("https://api.veriko.mx/v1/validate");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer veriko_TU_API_KEY",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"fecha" => "2025-03-15",
"monto" => 15000.50,
"clave_rastreo" => "MXBA20250315001234",
"cuenta_beneficiaria" => "012180004412345678",
]),
]);
$data = json_decode(curl_exec($ch), true)["data"];
echo $data["attributes"]["status"]; // "valid"
body, _ := json.Marshal(map[string]any{
"fecha": "2025-03-15",
"monto": 15000.50,
"clave_rastreo": "MXBA20250315001234",
"cuenta_beneficiaria": "012180004412345678",
})
req, _ := http.NewRequest("POST", "https://api.veriko.mx/v1/validate", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer veriko_TU_API_KEY")
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
// res → { "data": { "attributes": { "status": "valid" } } }
"status": "valid"
Confirmado
Por imagen (OCR)
Sube el comprobante; lo leemos y validamos.
Manda la imagen del pago — extraemos los datos para después validarlos en Banxico y darte el veredicto.
- Clave de rastreo
- MXBA20250315001234
- Fecha
- 15 mar 2025, 14:32
- Cuenta destino
- •••• •••• 5678
curl -X POST https://api.veriko.mx/v1/validate-ocr \
-H "Authorization: Bearer veriko_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "image_url": "https://tu-sistema.com/comprobante.jpg" }'
const res = await fetch("https://api.veriko.mx/v1/validate-ocr", {
method: "POST",
headers: {
"Authorization": "Bearer veriko_TU_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
image_url: "https://tu-sistema.com/comprobante.jpg",
}),
});
const { data } = await res.json();
console.log(data.attributes.status); // "valid"
import requests
res = requests.post(
"https://api.veriko.mx/v1/validate-ocr",
headers={"Authorization": "Bearer veriko_TU_API_KEY"},
json={"image_url": "https://tu-sistema.com/comprobante.jpg"},
)
print(res.json()["data"]["attributes"]["status"]) # "valid"
$ch = curl_init("https://api.veriko.mx/v1/validate-ocr");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer veriko_TU_API_KEY",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"image_url" => "https://tu-sistema.com/comprobante.jpg",
]),
]);
$data = json_decode(curl_exec($ch), true)["data"];
echo $data["attributes"]["status"]; // "valid"
body, _ := json.Marshal(map[string]any{
"image_url": "https://tu-sistema.com/comprobante.jpg",
})
req, _ := http.NewRequest("POST", "https://api.veriko.mx/v1/validate-ocr", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer veriko_TU_API_KEY")
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
// res → { "data": { "attributes": { "status": "valid" } } }
"status": "valid"
Validado
Quickstart
Tu primera validación, en tres pasos.
Crea tu API key
Desde el panel, en la sección de API. Esta se envía en cada solicitud.
Llamada a la API
Manda una imagen del comprobante o los datos de la transferencia.
Recibe el resultado
En la misma respuesta, o vía Webhook seguro.
Hecho para producción
Todo lo que esperas de una API.
Asíncrono y carga masiva
No esperes el proceso. Te notificamos cuando haya resultados. Además puedes validar pagos en masa.
Idempotencia
Usa idempotencia y reintenta sin miedo a duplicar datos.
Reintentos automáticos
Reintenta la validación si el pago no fue encontrado. Útil cuando hay retrasos en el sistema bancario.
Webhooks firmados
Cada veredicto llega a ti como un evento firmado con HMAC-SHA256.
Construye con certeza.
Crea tu cuenta y haz tu primera validación hoy.