SPEI devuelto: qué significa, causas y cómo verificarlo con el CEP de Banxico
¿Qué significa "SPEI devuelto"?
Cuando Banxico registra el estado "Devuelto" en una transferencia SPEI, significa que el pago fue liquidado correctamente por el banco emisor, pero el banco del beneficiario lo rechazó y lo regresó a la cuenta de origen. En ese momento el dinero ya debe reflejarse de vuelta en la cuenta de quien ordenó el pago.
Es importante distinguirlo de otros dos estados relacionados:
- Rechazado — el pago fue bloqueado por el propio sistema SPEI antes de llegar al banco destino, por errores o inconsistencias en la información enviada por el banco emisor.
- En proceso de devolución — el pago sí llegó al banco beneficiario, éste lo rechazó, pero el monto todavía está en tránsito de regreso al banco emisor.
- Devuelto — la devolución ya fue liquidada; el dinero está de vuelta en la cuenta originadora.
Estados oficiales del SPEI según Banxico
Banco de México documenta los siguientes estados posibles para una transferencia SPEI:
| Estado | Descripción oficial |
|---|---|
| En proceso | El SPEI recibió la instrucción del banco emisor pero no la ha liquidado aún |
| Liquidado | El pago se procesó y los fondos llegaron al banco del beneficiario |
| Rechazado | El pago fue bloqueado por el SPEI por errores o problemas de seguridad en la información |
| En proceso de devolución | El banco beneficiario rechazó el pago; la devolución está pendiente de liquidarse |
| Devuelto | El banco beneficiario rechazó el pago y el monto ya se refleja en la cuenta de origen |
El CEP (Comprobante Electrónico de Pago) oficial de Banxico es el único documento que refleja el estado real y definitivo de una transferencia — no la pantalla de confirmación del banco ni el comprobante en PDF que genera la app.
Causas más comunes de un SPEI devuelto
1. Datos incorrectos en la CLABE
Una CLABE de 18 dígitos con un solo número erróneo apunta a una cuenta que no existe o que pertenece a otra persona. El banco destino no puede acreditar el pago y lo devuelve.
2. Cuenta destino inactiva o cancelada
Si el beneficiario cerró su cuenta o cambió de banco, la CLABE asociada puede estar inactiva. El banco destino devuelve el pago porque ya no hay una cuenta válida donde acreditarlo.
3. Cuenta bloqueada o restringida
Algunas cuentas tienen restricciones temporales por medidas de seguridad, resoluciones judiciales o incumplimientos regulatorios. El banco rechaza el abono y regresa los fondos.
4. Banco destino temporalmente fuera de servicio
Intermitencias técnicas en el banco receptor pueden causar que éste no pueda recibir SPEIs en ese momento. El sistema devuelve el pago para que el emisor lo reintente.
5. Errores o inconsistencias en la información
Si los datos enviados por el banco emisor contienen inconsistencias (por ejemplo, el nombre del beneficiario no coincide con la CLABE), el banco destino puede rechazar el abono.
6. Límite de operación excedido
Algunas cuentas tienen límites diarios o por operación. Si el monto supera el límite configurado en la cuenta receptora, el banco la devuelve.
Tiempos oficiales de devolución
Banxico establece plazos máximos para cada paso del proceso:
- El banco emisor tiene 30 segundos para introducir la instrucción de pago al SPEI desde que el cliente la acepta.
- El banco receptor tiene un minuto para devolver el pago al sistema SPEI si no puede acreditarlo.
- El banco emisor tiene 30 segundos para abonar el importe de la devolución a la cuenta del cliente originador.
En la práctica, un SPEI devuelto suele reflejarse en la cuenta de origen en minutos. En casos excepcionales puede tardar hasta 48 horas dependiendo del banco.
Cómo verificar si un SPEI fue devuelto: el CEP de Banxico
La forma oficial de saber el estado real de una transferencia SPEI es consultar su CEP (Comprobante Electrónico de Pago) directamente en el portal de Banxico. El CEP incluye:
- Fecha y hora exacta de la operación
- Clave de rastreo (hasta 30 caracteres alfanuméricos)
- Banco emisor y banco receptor
- Monto exacto
- CLABE del beneficiario
- Estado actual: Liquidado / En proceso de devolución / Devuelto
Para consultar el CEP en Banxico necesitas: la fecha del pago, la clave de rastreo o número de referencia, el banco emisor, el banco receptor y el monto.
Importante: si no puedes obtener el CEP en el portal de Banxico, puede indicar que el pago nunca fue procesado o que fue rechazado antes de llegar al sistema SPEI. En ese caso debes levantar una aclaración directamente con tu banco.
El problema para negocios: un comprobante que parece válido pero el SPEI fue devuelto
Aquí está el escenario que más afecta a negocios que cobran por transferencia bancaria:
- El cliente hace una transferencia SPEI.
- El banco genera un comprobante en PDF o una pantalla de confirmación.
- El cliente envía ese comprobante para reportar el pago.
- El SPEI fue devuelto — pero el comprobante del banco no refleja la devolución.
- El negocio acepta el comprobante visualmente, registra el pago como válido y entrega el producto o servicio.
- El dinero nunca llegó.
Esto ocurre porque el comprobante que genera el banco del cliente es un acuse de envío, no una confirmación de acreditación. El SPEI puede haberse enviado correctamente pero haber sido devuelto después — y el comprobante original no cambia de estado.
La única fuente de verdad es el CEP oficial de Banxico, que sí refleja el estado final de la operación: Liquidado, En proceso de devolución o Devuelto.
Cómo apiCEP detecta automáticamente un SPEI devuelto
apiCEP conecta directamente con Banxico para consultar el CEP de cada comprobante. Cuando recibes la imagen de un comprobante de transferencia, apiCEP extrae los datos con OCR y los valida contra el sistema de Banxico en menos de 10 segundos.
Si el SPEI fue devuelto, la respuesta de apiCEP lo reflejará claramente:
{
\"validationId\": \"f6a7b8c9-d0e1-2345-fabc-456789012345\",
\"status\": \"invalid\",
\"confidence\": 0.96,
\"extracted\": {
\"amount\": 2500.00,
\"date\": \"2026-05-16\",
\"trackingKey\": \"2026BBVA0000778899\"
},
\"validation\": {
\"banxicoConfirmed\": false,
\"cepStatus\": \"DEVUELTO\"
}
}
Con status: \"invalid\" y cepStatus: \"DEVUELTO\", tu sistema sabe que el dinero no llegó y puede actuar en consecuencia — sin necesidad de revisar manualmente el comprobante ni consultar el portal de Banxico.
Documentación completa en apicep.cloud/documentacion.
Lógica de manejo de SPEI devuelto en tu sistema
async function procesarComprobante(pedidoId, imageUrl) {
const result = await fetch('https://api.apicep.cloud/validate-transfer', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.APICEP_API_KEY}` },
body: JSON.stringify({
imageUrl,
beneficiary: {
clabe: process.env.TU_CLABE,
bank: process.env.TU_BANCO,
name: process.env.TU_NOMBRE
}
})
}).then(r => r.json());
const cepStatus = result.validation?.cepStatus;
switch (cepStatus) {
case 'LIQUIDADA':
// ✅ Pago confirmado — proceder con el pedido
await confirmarPedido(pedidoId, result);
await notificarCliente(pedidoId, '✅ Tu pago fue confirmado. Tu pedido está en proceso.');
break;
case 'DEVUELTO':
// ❌ SPEI devuelto — el dinero regresó al cliente
await marcarPagoFallido(pedidoId, result.validationId);
await notificarCliente(pedidoId,
'⚠️ Tu transferencia fue devuelta por el banco receptor. ' +
'El dinero debe estar de vuelta en tu cuenta. ' +
'Por favor intenta de nuevo o elige otro método de pago.'
);
break;
case 'EN_PROCESO_DE_DEVOLUCION':
// ⏳ Devolución en curso — esperar antes de confirmar
await programarReintento(pedidoId, imageUrl, 120);
await notificarCliente(pedidoId,
'⏳ Tu transferencia está siendo devuelta. En breve se reflejará en tu cuenta.'
);
break;
case 'RECHAZADO':
// 🚫 Rechazado por errores en datos
await marcarPagoFallido(pedidoId, result.validationId);
await notificarCliente(pedidoId,
'❌ Tu transferencia fue rechazada. Verifica los datos bancarios e intenta de nuevo.'
);
break;
default:
// Estado desconocido o pendiente
await programarReintento(pedidoId, imageUrl, 300);
}
}
Diferencia clave: comprobante del banco vs. CEP de Banxico
| Documento | Quién lo genera | Refleja devolución | Es fuente de verdad |
|---|---|---|---|
| Comprobante PDF del banco | Banco del cliente | ❌ No | ❌ No |
| Captura de pantalla de la app | Banco del cliente | ❌ No | ❌ No |
| CEP de Banxico | Banco de México | ✅ Sí | ✅ Sí |
| Respuesta de apiCEP | apiCEP + Banxico | ✅ Sí — cepStatus | ✅ Sí — automática |
La diferencia es crítica para cualquier negocio que acepta pagos SPEI: el comprobante del banco solo confirma que el cliente envió la instrucción de transferencia, no que el dinero llegó a tu cuenta.
¿Qué hacer si tu SPEI aparece como devuelto?
Si eres el cliente que envió el pago:
- Verifica en tu estado de cuenta que el monto regresó a tu cuenta.
- Revisa que la CLABE del beneficiario sea correcta — un solo dígito erróneo causa la devolución.
- Contacta a tu banco con la clave de rastreo para obtener el motivo específico de la devolución.
- Intenta la transferencia de nuevo con los datos corregidos.
Si eres el negocio que esperaba recibir el pago:
- No entregues el producto o servicio hasta verificar el estado real del CEP — no el comprobante del cliente.
- Pide al cliente la clave de rastreo de su transferencia para consultar el CEP en Banxico.
- Notifica al cliente que su SPEI fue devuelto y solicita un nuevo pago.
- Si usas apiCEP, el
cepStatusen la respuesta identifica automáticamente el estado — sin consultar Banxico manualmente.
Empieza a verificar el estado real de cada transferencia
Si tu negocio acepta comprobantes SPEI y los valida visualmente antes de entregar, estás expuesto a aceptar pagos devueltos sin saberlo. apiCEP consulta el CEP de Banxico en menos de 10 segundos por cada comprobante y devuelve el estado oficial — incluyendo DEVUELTO, EN_PROCESO_DE_DEVOLUCION y RECHAZADO.
Crea tu cuenta en apicep.cloud — las primeras 50 validaciones son sin costo. Sin RFC. Sin contrato.