Gulf · EU · US

Payment infrastructure,
explained from the implementation side.

Payments Atlas covers payment gateways, banking APIs and fintech regulation across the Gulf, the European Union and the United States. The focus is practical: how these systems behave in code, what the documentation leaves out, and what the underlying rules actually require.

Guides are written from sandbox work and runnable examples. Analysis is sourced to the regulator, framework or published pricing document itself.

Integration guides8 piecesHow these APIs behave once you leave the sandbox — auth flows, webhooks, idempotency, and the failure modes the vendor docs skip. Every guide ships runnable .NET code.Browse guides →Market analysis12 piecesWhat the rules actually require and what the market actually charges — open banking frameworks, scheme mandates and gateway economics across the Gulf, EU and US.Browse analysis →

Why this site exists

Practical Gulf payments material is still thin.

Most English-language coverage is either vendor documentation or marketing. Payments Atlas exists to fill the gap with narrower, more technical and more heavily sourced material than a general fintech publication.

How the work is checked

Claims are traced back to the thing itself.

Technical claims are checked against public documentation and, where possible, against test integrations. Regulatory claims are traced to the original publication rather than to summaries. Pricing figures are attributed and dated, because provider pages change without notice.

Latest

Newest across both sections

3-D Secure 2: what the backend has to do

Guide

3-D Secure 2: what the backend has to do

Authentication is not a capture. Which states your API has to persist, why the shopper return and the webhook will race, and what not to infer from a redirect.

5 min read

Idempotency keys for payment endpoints in .NET

GuideHTTP

Idempotency keys for payment endpoints in .NET

How to make a charge endpoint safe to retry: key scope, hashing the raw body, the 409 on a mismatched payload, and the race a unique index has to close.

7 min read

Out-of-order webhooks: what the handler must do

Guide

Out-of-order webhooks: what the handler must do

Payment webhooks do not arrive in causal order. How to apply them with a state machine and an event id, instead of trusting which HTTP request landed first.

5 min read

Retry and backoff for payment APIs in .NET

Guide

Retry and backoff for payment APIs in .NET

Which payment HTTP failures are safe to retry, why a timeout is not one of them, and how backoff without an idempotency key charges the customer twice.

5 min read

Reconciling a ledger against a settlement file

Guide

Reconciling a ledger against a settlement file

A captured payment is not settled money. How to match a settlement file to your ledger on the provider reference, and which mismatches need a person.

6 min read

What a payment sandbox will not let you test

Guide

What a payment sandbox will not let you test

A sandbox proves your request is well formed. It does not prove settlement timing, issuer behaviour, or failures that show up only with real cards.

5 min read

Cross-border payouts into the Gulf: which licence

AnalysisGulf

Cross-border payouts into the Gulf: which licence

Under the CBUAE regulation, cross-border fund transfer is a named service and is absent from the lower licence category. Remittances are defined separately.

5 min read

What a payments licence requires in Saudi and the UAE

AnalysisGulf

What a payments licence requires in Saudi and the UAE

Licence categories and capital floors in the SAMA and CBUAE payment regulations, and where the two regimes do not line up.

6 min read

PCI SAQ A: what changed for embedded checkout

AnalysisGlobal

PCI SAQ A: what changed for embedded checkout

SAQ A still means the merchant never touches the card number. The January 2025 change is an eligibility rule for pages that embed the payment form.

5 min read

sarie and Aani: the Gulf instant payment rails

AnalysisGulf

sarie and Aani: the Gulf instant payment rails

What SAMA and the Central Bank of the UAE have published about sarie and Aani: launch dates, who participates, and the customer fee cap sarie put in a circular.

4 min read

Checkout.com webhooks: Cko-Signature in ASP.NET Core

GuideCheckout.com

Checkout.com webhooks: Cko-Signature in ASP.NET Core

How Checkout.com signs webhooks, why the raw body matters in .NET, and how to verify Cko-Signature without breaking model binding.

5 min read

Bahrain open banking framework: dedicated interfaces and testing

AnalysisBahrain

Bahrain open banking framework: dedicated interfaces and testing

Bahrain’s rules are unusually explicit about what banks owe AISPs and PISPs: a dedicated interface, a testing facility, uptime parity and core data access.

5 min read

Open banking in the Gulf: UAE, Saudi and Bahrain compared

AnalysisGulf

Open banking in the Gulf: UAE, Saudi and Bahrain compared

How the three Gulf frameworks differ on architecture, licensing, scope and operational burden, and what that means for teams building across them.

6 min read

Saudi open banking is now a licensed activity

AnalysisSaudi Arabia

Saudi open banking is now a licensed activity

SAMA moved open banking from sandbox supervision into licensing in March 2026. What the official announcements establish, and what they still leave unsaid.

4 min read

Getting into UAE open finance: the Trust Framework

AnalysisUAE

Getting into UAE open finance: the Trust Framework

Certificates, roles and certification — what a TPP has to clear before it can make its first production API call in the UAE.

4 min read

Validating webhook signatures in ASP.NET Core

Guide

Validating webhook signatures in ASP.NET Core

The raw-body trap that breaks HMAC verification in .NET, why == is a vulnerability, and how three real providers sign — including one that does not.

7 min read

What readers use it for