¿Cayó el SINPE?
Verificalo S1mpl3.
Leemos el aviso real que te manda el banco, no el pantallazo que te enseña el cliente. Con los últimos 4 dígitos del comprobante sabés al toque si la plata entró, cuánto fue y si ese comprobante ya se usó. Desde la caja o desde tu sistema.
- Sin claves del banco
- Avisos verificados (DKIM, ARC o SPF)
- Webhooks firmados HMAC-SHA256
{
"evento": "sinpe.recibido",
"id_entrega": 15,
"enviado_en": "2026-10-18T21:02:35.000Z",
"transaccion": {
"referencia": "2026101800000427",
"ultimos4": "0427",
"monto": 12500,
"moneda": "CRC",
"telefono": "60000001",
"nombre": "ROCIO EJEMPLO MORA",
"banco": "BCR",
"motivo": "ORD-1042",
"estado": "disponible"
}
}
Del aviso del banco a tu caja en tres pasos
Sin revisar la app del banco cada vez que alguien dice «ya te lo pasé», y sin que nadie toque nada.
Tu cliente te hace el SINPE
Al número de siempre. Si le pedís que ponga el número de orden en el motivo, después lo podés cruzar solo.
El banco te manda el aviso por correo o SMSS1mpl3 lee y valida el aviso
Revisamos el buzón cada 30 s con una contraseña de aplicación. Si el correo no viene de un banco o no pasa DKIM, ARC o SPF, se descarta.
Monto, teléfono, nombre, motivo y referenciaVerificás y queda sellado
En la caja o por API: 4 dígitos y, mejor todavía, el monto. Al verificar se marca como usado y tu sistema recibe un webhook firmado.
sinpe.recibido · sinpe.utilizado
Una API REST en español, tan simple como la caja
Una llamada desde tu servidor y la respuesta llega en JSON. Probás todo con el sandbox y el simulador del panel antes de cobrar de verdad.
Reintentos
Si tu servidor no responde, reintentamos con espera creciente hasta 8 veces, y podés reenviar desde el panel.
Sandbox
Simulá pagos nuevos, duplicados, montos distintos o que no llegaron, sin mover plata.
SMS también
¿Tu banco avisa por SMS? Reenvialo a la API con una app y lo registramos igual.
# Verificar y marcar como usado
curl -X POST https://s1mpl3.net/api/v1/verificar \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{"ultimos4":"0427","monto":12500,"referencia_externa":"ORD-1042"}'const r = await fetch("https://s1mpl3.net/api/v1/verificar", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.S1MPL3_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ ultimos4: "0427", monto: 12500, referencia_externa: "ORD-1042" }),
});
const d = await r.json(); // d.verificado === trueimport os, requests
r = requests.post("https://s1mpl3.net/api/v1/verificar",
headers={"Authorization": "Bearer " + os.environ["S1MPL3_KEY"]},
json={"ultimos4": "0427", "monto": 12500, "referencia_externa": "ORD-1042"})
d = r.json() # d["verificado"] == True$ch = curl_init("https://s1mpl3.net/api/v1/verificar");
curl_setopt_array($ch, [
CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("S1MPL3_KEY"), "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["ultimos4" => "0427", "monto" => 12500, "referencia_externa" => "ORD-1042"]),
]);
$d = json_decode(curl_exec($ch), true);Compatible con los avisos de los bancos de Costa Rica
Sin letra menuda: en verde los que leemos con plantilla propia, probada con avisos reales. El resto, con una plantilla genérica por etiquetas.
También reconocemos remitentes de Coopenae, Mutual Cartago, Grupo Mutual, Lafise, Banco Cathay, Banco BCT. ¿Tu banco escribe desde otro dominio? Agregalo como remitente permitido en el buzón.
Para negocios que no pueden esperar a revisar el banco
Donde un comprobante falso o repetido cuesta plata, y revisar a mano cuesta tiempo.
Tiendas en línea
El pedido se confirma solo cuando entra el SINPE, sin pedirle al cliente que suba la foto del comprobante.
› API + webhooksDelivery y restaurantes
La comanda pasa a cocina apenas cae el pago, sin esperar a que administración revise el saldo.
› Caja en el celularMembresías y cursos
Activá el acceso al recibir el SINPE y cruzalo con el número de orden que el cliente puso en el motivo.
› referencia_externaCaja física
El cajero escribe 4 dígitos y ve el resultado sellado. Si alguien intenta repetir el comprobante, sale «ya usado».
› Un uso por comprobanteUn pantallazo editado no alcanza para pasar
No leemos fotos ni capturas. Solo cuenta el aviso que el banco te mandó a vos, verificado y registrado una sola vez.
Solo avisos auténticos
Aceptamos correos de dominios bancarios conocidos que pasen DKIM, ARC o SPF. Lo demás queda en «Correos descartados», con el motivo.
Imposible usar dos veces el mismo comprobante
La marca de «usado» se hace dentro de una transacción de la base de datos: dos cajas a la vez no pueden aprobar el mismo pago.
Firmas HMAC-SHA256 y nada de claves bancarias
Cada webhook lleva
X-S1mpl3-Signature. Las contraseñas de buzón se guardan cifradas con AES-256-GCM y las claves de API solo como hash.
¿Tengo que darles la clave del banco?
No. Solo acceso de lectura al correo donde te llegan los avisos, con una contraseña de aplicación (no la principal). Se guarda cifrada con AES-256-GCM. No podemos ver tu cuenta ni mover dinero.
¿Cada cuánto revisan el correo?
Cada 30 segundos. Además, cuando verificás desde la caja forzamos una lectura del buzón antes de responder, por si el pago acaba de entrar.
¿Qué pasa si dos SINPE terminan en los mismos 4 dígitos?
La respuesta es «varios coinciden» y no se marca nada. Agregá el monto, el teléfono o la referencia completa y se resuelve.
¿Hasta cuándo puedo verificar un comprobante?
Buscamos entre los SINPE recibidos en los últimos 30 días.
El cliente me enseña el número corto del Banco Nacional, ¿sirve?
Sí. Del BN guardamos los dos comprobantes (el corto del correo y el largo del PDF) y los 4 dígitos de cualquiera de los dos funcionan.
¿Puedo probar la integración sin pagos reales?
Sí. Las cuentas sandbox tienen un simulador en el panel y el endpoint POST /api/v1/sandbox/transacciones; en la documentación podés ejecutar las llamadas desde el navegador.
¿Están afiliados al Banco Central o a algún banco?
No. S1mpl3 es un servicio independiente que lee los avisos que tu banco ya te manda. SINPE es una marca del Banco Central de Costa Rica.
Dejá de abrir la app del banco cada vez que alguien dice «ya te lo pasé».
Pedile acceso a quien administra S1mpl3 y después conectás tu buzón desde el panel.