Architecture Lead & Developer
Architecting Dynamic Currency Conversion and Multi-Currency Processing
Designed a compliant, multi-team currency platform spanning the FX-provider configuration dashboard, an extension to the existing payment page for DCC, MCP, or combined currency experiences, frontend-backend contracts, transaction variants, refunds, chargebacks, analytics, and gateway delivery.
Details are intentionally generalized to respect confidentiality.
- Timeline
- 2026
- Domain
- Multi-currency payments, compliance, gateway contracts
- Impact
- Produced the reviewed end-to-end design and common gateway contract for DCC and multi-currency processing across the payment lifecycle.
Architecture
System boundary map
The diagram preserves the major responsibilities and handoffs while omitting proprietary implementation details.
DCC + Multi-Currency Platform
Designed the FX-provider configuration dashboard and the extension to the existing payment page that selects and presents DCC, MCP, or both without conflicting customer choices; also defined the frontend-backend currency contracts, gateway payloads, audit-safe analytics, and lifecycle behavior across authorization, capture, void, refund, and chargeback flows.
Context
Dynamic Currency Conversion lets an eligible cardholder pay in a familiar home currency, while Multi-Currency Processing lets merchants present and process supported transaction currencies.
Supporting both requires coordinated behavior across dashboard configuration, checkout, transaction orchestration, gateways, refunds, chargebacks, and analytics.
Problem
The existing DCC path was too limited for the required compliance and transaction coverage.
Currency decisions and provider data needed one coherent contract across pre-authorization, decoupled authentication, retries, partial and split orders, voids, refunds, and chargebacks.
Constraints
Network and gateway rules shaped which data could be collected, forwarded, stored, and displayed.
Merchants needed to configure FX-provider credentials without exposing sensitive values.
The design had to support hosted payment pages and API-integrated merchants while making currency choice clear to the customer.
Multiple product teams needed stable contracts that could evolve independently.
My Role
Owned the end-to-end solution design, which was reviewed with senior architects, and implemented core parts alongside payment-page, dashboard, and transaction teams.
Mapped currency behavior across the complete payment lifecycle, including the payment-page experience and frontend-backend decision contract, and converted it into shared contracts and team-level implementation boundaries.
Technical Design
Designed merchant-dashboard configuration for FX-provider credentials and supported currencies.
Designed the extension to the existing hosted payment page: UI states, selection precedence, and frontend-backend contracts to identify whether DCC, Multi-Currency Processing, or both apply and present a coherent currency choice without conflicting offers.
Defined the backend response needed by the payment page—eligibility, supported currencies, conversion context, and quote data—so frontend rendering and the selected transaction path stay consistent.
Defined eligibility and quote boundaries for payment-page and API-driven currency selection.
Created a common gateway-facing interface so conversion details could be delivered consistently without leaking provider-specific behavior.
Specified behavior for authorization, pre-authorization, decoupled flows, retries, partial and split orders, voids, refunds, and chargebacks.
Designed audit and analytics boundaries so useful currency data remained visible while restricted details stayed filtered.
Tradeoffs
A shared contract simplified cross-team adoption but required careful optionality so flows did not carry irrelevant currency data.
Central eligibility logic increased consistency while demanding explicit cache, failure, and provider-timeout behavior.
Impact
Established the reviewed architecture and shared contracts for a platform-wide DCC and MCP rollout.
Made the customer-facing currency decision a first-class part of the design instead of leaving DCC and MCP as disconnected backend capabilities.
Reduced ambiguity across teams by defining currency behavior for the transaction lifecycle instead of treating conversion as a checkout-only feature.
What I learned
Cross-cutting payment features succeed when the lifecycle contract is designed before individual services begin implementation.
Compliance is an architectural input: it shapes data boundaries, persistence, observability, and user experience.