Saltar al contenido principal

ADR-003 Cards como consumidor externo

  • Estado: proposed

Contexto​

Se quiere un procesador de tarjetas (emisor y adquirente) para demostrar que el kernel soporta un caso de uso real de alta exigencia. Si se construye dentro de octopus-api, el kernel absorbe modelo de producto, que es justamente lo que no debe tener.

Decisión​

El procesador de tarjetas (issuer + acquirer) se construye fuera de octopus-api. Depende solamente de octopus-sdk y octopus-protos, nunca de octopus-api, y habla con el kernel por gRPC.

Mapeo a operaciones del kernel:

Evento de tarjetaOperación del kernel
AutorizaciónHOLD
ReversoRELEASE
ClearingCAPTURE
SettlementBALANCED contra cuentas SETTLEMENT
ChargebackBALANCED inverso

Se usan dos tenants (issuer y acquirer). Las transacciones on-us deben netear a cero entre ambos.

Prerrequisitos en el kernel:

  • Job de expiración automática de intenciones.
  • Latencia medida del camino de autorización.

Consecuencias​

  • Depende de la extracción del SDK (ADR-002).
  • El kernel no gana ningún concepto de tarjeta.
  • La operación entre tenants se coordina fuera del kernel, que no procesa operaciones cross-tenant.