Saltar al contenido principal
Seguir las prácticas a continuación ayuda a asegurar un comportamiento predecible, seguridad operacional y cumplimiento con las expectativas de BACEN — especialmente bajo volumen, inestabilidad de red o escenarios de disputa. Estas recomendaciones aplican a todos los casos de uso de Pix: billeteras, pagos a comerciantes, cash-outs, flujos de código QR, operaciones recurrentes y transferencias internas.

1. Usa IDs de transacción idempotentes


Siempre envía un transactionId único e inmutable creado por tu sistema. Trátalo como tu clave de idempotencia:
  • Si reintentas una solicitud debido a timeout, reutiliza el mismo ID.
  • Si el primer intento tuvo éxito, el Plugin Pix devolverá el mismo resultado.
  • Si el primer intento falló antes del procesamiento, el reintento creará la transacción exactamente una vez.
Esto previene:
  • Registros duplicados en el libro mayor
  • Débitos dobles
  • Correcciones operacionales manuales
  • Inconsistencias de conciliación
Nunca generes un nuevo ID durante un reintento.

2. Confía en los webhooks para el estado final de la transacción


Un 200 OK de la API no garantiza que el Pix se completó. Solo significa que la solicitud entró en el flujo de orquestación. El estado autoritativo es el webhook:
  • Muestra el estado final al usuario solo después de la confirmación del webhook
  • Persiste el estado del webhook en tu sistema
  • Maneja tanto notificaciones de éxito como de falla
Esperar el webhook alinea tu UI con la liquidación confirmada por SPI, reduciendo disputas y falsos positivos.

3. Valida la autenticidad del webhook


Cada webhook incluye una firma HMAC (ej., X-Signature). Mejores prácticas:
  • Almacena el secreto en una bóveda
  • Recalcula el HMAC usando el cuerpo de la solicitud sin procesar
  • Compara con el header
  • Rechaza y registra las discrepancias
Esto protege contra:
  • Callbacks falsos
  • Payloads manipulados
  • Solicitudes no autorizadas llegando a tu endpoint
La seguridad del webhook es un requisito de nivel PSP — trátalo como tal.

4. Diseña para fallas y reintentos


Pix es instantáneo; la red a su alrededor no lo es. Espera fallas en:
  • Conectividad PSTI / proveedor directo
  • Entrega de Telecom / SMS (para confirmación de claves)
  • Timeouts de red
  • Validaciones internas del libro mayor
  • Verificaciones de límites y antifraude (reguladas)
Enfoque recomendado:
  • Implementa políticas de reintento claras (backoff exponencial, loops controlados)
  • Nunca reintentas ciegamente
  • Muestra mensajes accionables al usuario
  • Registra todas las fallas con IDs de correlación
  • Trata “pendiente” como un estado intermediario normal
Una integración Pix robusta es resiliente por diseño.

5. Monitorea transacciones pendientes y trabajos en segundo plano


Un Pix puede entrar en PENDING mientras espera:
  • Procesamiento del proveedor
  • Reconocimiento de SPI
  • Entrega de webhook
  • Ciclos de reintento
El Plugin Pix ejecuta workers en segundo plano para garantizar consistencia eventual:
  • Reintentar callbacks
  • Conciliar estados intermedios
  • Detectar operaciones atascadas
Tus responsabilidades:
  • Monitorea transacciones pendientes regularmente
  • Configura alertas para intentos de reintento excesivos
  • Integra logs, métricas y trazas para observabilidad
Pendiente ≠ falla, pero pendiente prolongado requiere investigación.

6. Mantén las claves Pix y datos de clientes sincronizados


Porque las claves están vinculadas a la identidad:
  • Si un usuario cambia teléfono/correo electrónico → actualiza o elimina las claves Pix asociadas
  • Mantén los registros de CRM alineados con los datos de DICT
  • Elimina claves desactualizadas para evitar enrutamiento incorrecto
  • Para instituciones que usan DICT: Asegura que los reclamos de portabilidad y propiedad sigan las reglas de BACEN
Esto reduce:
  • Pagos a destinatarios incorrectos
  • Casos MED debido a claves incorrectas
  • Fricción de soporte
La consistencia entre CRM ↔ DICT ↔ Plugin Pix es esencial.

7. Respeta las expectativas de SLA y ventanas de tiempo


La liquidación de Pix ocurre en hasta 10 segundos, pero los SLAs legales también importan. Diseña tu UX para respetar:
  • Tolerancias máximas de SPI
  • Ajustes de límites nocturnos (20:00–06:00)
  • Retrasos en reducción de límites controlados por el cliente (inmediatos)
  • Aumentos de límites controlados por el cliente (pueden requerir autenticación o período de espera)
Siempre muestra:
  • “Procesando…” mientras esperas confirmación
  • Guía de “Intentar de nuevo” para violaciones de límites
Tu UX debe reflejar el comportamiento regulatorio real de Pix.

8. Implementa conciliación y validación contable


La conciliación cierra el ciclo entre:
  • Tu sistema
  • El Plugin Pix
  • Liquidación de SPI
  • Registros en el libro mayor (Midaz)
Ciclo de conciliación recomendado:
  • Confirma cada Pix liquidado usando tu log de webhooks
  • Empareja cada ID de Pix con un registro en el libro mayor
  • Compara resúmenes diarios con salidas de proveedor/SPB
  • Marca cualquier discrepancia para revisión manual
Esto reduce el ruido operacional y apoya la preparación para auditorías.

9. Prueba de extremo a extremo con flujos realistas


Antes de entrar en producción, simula:
  • Cash-in y cash-out
  • Límites de alto valor
  • Claves inválidas
  • Códigos QR expirados
  • Reembolsos (entrantes + salientes)
  • Disparadores de reembolso relacionados con MED
  • Tiempo de inactividad del webhook
  • Patrones de timeout y reintento de API
También prueba escenarios de Pix intra-ledger cuando ambas cuentas existen en Midaz. Tu checklist de validación:
  • Registros correctos en el libro mayor
  • Transiciones de estado de Pix correctas
  • Manejo apropiado de webhooks
  • Aplicación apropiada de límites
  • Comportamiento contable apropiado

10. Prepara a tus equipos de soporte y operaciones


Los equipos de soporte deben entender:
  • Plazos de Pix (incluyendo reglas de límites nocturnos)
  • Diferencia entre “iniciado”, “pendiente”, “completado”, “reembolsado”, “fallido”
  • Cómo leer IDs E2E
  • Cómo rastrear problemas de DICT
  • Cuándo aplica MED vs reembolsos normales
Flujos de soporte claros reducen la fricción del usuario y evitan disputas MED falsas.