Payment Reliability Lab

Payment Reliability Lab

Detalles

  • TypeScript
  • Next.js
  • React
  • Vitest
  • fast-check
  • Playwright

Qué se rompe en un flujo de pago, y cómo un sistema lo sobrevive.

Un simulador interactivo de lo que falla en un flujo de pago: timeouts, webhooks duplicados y fuera de orden, caídas del adquirente. Tú inyectas los fallos y ves cómo responden los reintentos, la idempotencia, el failover y la conciliación.

Diseñé el modelo de estado basado en eventos, la inyección de fallos y la suite de tests basados en propiedades.

Destaques

  • Estado del pago derivado de un log de eventos append-only y de una única tabla de transiciones, verificada por el orquestador y por el reducer
  • Idempotencia en ambos sentidos: claves de idempotencia por adquirente en las llamadas salientes y deduplicación de webhooks por id de evento
  • Firmas HMAC-SHA256 de los webhooks verificadas con comparación en tiempo constante
  • Tests basados en propiedades (fast-check) que muestran que el estado nunca retrocede y que las reentregas no cambian el resultado
My Projects