Adan Condori C. bio photo

Adan Condori C.

Full Stack Engineer @ Playbypoint USA
Master's in Software Engineering
Payment Systems Expert

Email Twitter Facebook Google+ LinkedIn Github Google Scholar

Payment Systems — Adan Condori

I’ve spent the last decade building, breaking, and re-architecting payment systems — from small Stripe integrations to multi-gateway platforms handling $5M+ in transactions across 25+ currencies. This page collects everything I’ve written about payments in one place, organized by topic.

What I cover here

The work I do every day: designing payment systems that integrate Stripe, PayPal, Adyen, and other gateways without becoming an unmaintainable mess; debugging 3DS 2.0 flows when something fails at 2 AM; writing ADRs so the next engineer doesn’t have to re-learn what I already learned; and building the engineering practices that make all of this shippable.

Why this matters: payments code is the rare place where a bad decision shows up as a refund queue, a chargeback rate, or a regulator’s letter — not just a slow test suite. I write here because I wish I’d had this content when I was learning.


Architecture

Arquitectura base de un sistema de pagos multi-gateway

June 2026 · Spanish · 8,500+ words

The pillar post. Six-layer architecture, capability registry, idempotency keys, 15+ gateways integrated, 7 anti-patterns I’ve seen in production, and 8 canonical flows from intent to settlement. ASCII diagrams, code, and the patterns I’d defend in any architecture review.

ADRs en sistemas de pagos

May 2026 · Spanish

Architecture Decision Records, applied to payments. Why I write them, what template I use, and real incidents that became ADRs ($8,200 refund event, 47 customers affected — and what changed because of it).

Integration with Multiple Payment Gateways

January 2025 · English

How I think about integrating Stripe and PayPal in the same codebase without one bleeding into the other. Abstraction layers, fallback strategies, and the gateway-specific quirks that ruin clean architecture if you don’t account for them.


3D Secure (3DS)

Trazabilidad en Transacciones 3DS

June 2025 · Spanish

Observability and tracing for 3DS 2.0 flows. Why most 3DS implementations are black boxes when they fail, and what I instrument to make them debuggable in production.

Seguridad en Transacciones 3DS

January 2025 · Spanish

The 3DS 2.0 security model: what the issuer, acquirer, ACS, and DS each do, where the friction goes, and how SCA exemptions work in practice.


Engineering Practices for Payments Teams

Guardia del Sprint / Triage Engineer

October 2025 · Spanish

The triage-engineer role. MTTR dropped from 4 hours to 45 minutes, sprint completion from 65% to 85%. SLA tables, the exact responsibilities, and what I’d change about it.

Definition of Ready / Definition of Done

August 2025 · Spanish

DoR and DoD when the cost of “almost done” is a refund queue. The criteria I actually use, not the wiki version.

Clean Code Tips

August 2023 · Spanish

Refactoring lessons from payments codebases.


Cloud & Infrastructure

Migration from IBM Cloud to AWS

December 2023 · Spanish

A real cloud migration for a payments-adjacent workload. What broke, what was easier than expected, and what I’d do differently.


What I’m working on next

  • Reconciliation pipelines that actually scale (writing now)
  • A deeper look at how to model refunds, partial captures, and disputes without state-machine pain
  • Real-world numbers from running a payments-engineering on-call rotation

If you’re building something payments-related and any of this is useful, reach out — I’m always happy to compare notes with other payments engineers.


Want the full corpus in machine-readable form? See llms.txt and llms-full.txt.