ISO 20022 pacs.008: Parse, Idempotency & Gateway Latency

Prerequisite: Familiarity with the concepts introduced in Part 4 — Saga Pattern. Review it first if the terminology in this part is unfamiliar. Answer-first: ISO 20022 MX messages (pacs.008, pacs.009, camt.053) replace legacy ISO 8583 text formats with structured XML/JSON schemas. Production payment gateways validate MX payloads, ensure idempotency, and translate ISO messages to internal ledger events. Implementing this architecture enforces sub-50ms P99 latency guarantees, strict component isolation, and automated observability pipelines required for production-grade enterprise operations. ...

June 18, 2026 · 13 min · Lê Tuấn Anh

Idempotent API Design in Go — Idempotency Key & Redis SetNX

Prerequisite: Part 7 of the System Design Masterclass. Read Part 6: Distributed Locks first. What You’ll Learn Payload Reuse Vulnerability: How Stripe prevents malicious request payload tampering on existing keys using SHA-256 request body hashes in Redis. SetNX Lock Lifetime Math: Why setting a lock TTL without a auto-extension renewal thread leads to double-charge execution gaps. Response Record Memory Leak: The memory consumption strategy of caching full HTTP headers and response body data under high-throughput request rates. What Is an Idempotency Key? Answer-first: Idempotent API design in Go implements header idempotency keys, Redis SetNX middleware locks, SHA-256 payload hashing, and cached response replaying to safely handle client retries. Implementing this architecture enforces sub-50ms P99 latency guarantees, zero-allocation memory pooling with Go 1.24 unique.Handle, and fault-tolerant Dapr 1.15 component orchestration for resilient production scaling. ...

June 18, 2026 · 8 min · Lê Tuấn Anh

Chapter 7: Designing Idempotency APIs for Payment Systems

Prerequisite: Read the previous article: Chapter 6: API Gateway vs Service Mesh in Microservices Architecture. In E-commerce or Fintech, the ultimate nightmare is not a system crash, but charging a customer twice for a single order. This is usually caused by network lag, an impatient user double-clicking “Pay”, or automated app retry logic. The mandatory solution for any transactional API (Payment/Order) is Idempotency. 1. What is Idempotency? Answer-first: Designing idempotent payment APIs uses unique client idempotency keys, Redis SetNX atomic locks, and response payload caching to prevent duplicate transaction charges during retries. Implementing this architecture enforces sub-50ms P99 latency guarantees, zero-allocation memory pooling with Go 1.24 unique.Handle, and fault-tolerant Dapr 1.15 component orchestration for resilient production scaling. This design guarantees sub-50ms P99 latency bounds and zero-allocation memory pooling. ...

June 9, 2026 · 9 min · Lê Tuấn Anh