Skip to main content
Cada intent fallido guarda un error con un código de Fire spark y, cuando el proveedor mandó uno, el código del proveedor. Los códigos son los mismos para todos los proveedores, así tu canal maneja los errores una sola vez.
Muestra los dos códigos para que soporte encuentre el intento, por ejemplo Card declined (Transbank 05). formatPaymentError(error, providerName) de @fire-spark/payments arma ese texto.

Cómo funcionan los reintentos

  • Los errores reintentables se reintentan solos con la misma referencia de intento, hasta runtime.max_attempts. El proveedor ve un solo pago, no varios.
  • Si el proveedor no responde a tiempo, el resultado es desconocido. Fire spark le pregunta al proveedor el estado del intento hasta tres veces y después intenta anularlo. Si aun así no puede saberlo, el intent falla con AMBIGUOUS y queda marcado para revisión.
  • Un terminal que pide cierre de lote recibe uno automáticamente y el cobro se reintenta una vez.
  • Los pagos con QR y billetera se revisan hasta que pasa runtime.qr_ttl_ms. Después se cancelan con WALLET_EXPIRED.

Códigos

Rechazados por el proveedor o el banco del cliente

Ninguno se reintenta. Pide al cliente otro método.

Cliente

Terminal, proveedor y red

La página de cada método lista los códigos del proveedor que corresponden a estos códigos.

Alertas

Las fallas de pago y de terminal pueden disparar alertas de monitoreo. Los intents que terminan en AMBIGUOUS o MANUAL_REVERSAL_REQUIRED necesitan que alguien revise el portal del proveedor.