Payment Checkout & Ledger Service · View 08 of 24 · Structure
Decisions
- The cardholder data environment is its own cluster with its own HSM pair. Keeping PCI scope small is worth an extra cluster (ADR-11).
- Payment state is sharded by merchant and every payment-path operation stays inside one shard, so there is no synchronous cross-shard transaction anywhere (ADR-08).
- Circuit breakers sit beside the adapters and derive health from observed approval and latency, never from a provider's status page (ADR-06).
Scale
- Authorization pods are scaled on concurrent in-flight provider calls, not request rate: at an 8-second deadline, 4,000/second means up to 32,000 outstanding calls.
- Kafka at RF 3 with min.insync.replicas 2; ledger PostgreSQL with synchronous replication for RPO 0.
Deliberate omissions
- Service-mesh sidecars, the sandbox estate and the merchant onboarding service. None of them writes the ledger.
- The A2A rail edge is omitted from the drawing to keep the adapter fan legible; it is identical to the acquirer edge.