Checkout.com
Enterprise-grade global acquiring with custom-quote pricing — built for high-volume merchants, not first-time builders.
Pick Checkout.com when you process meaningful volume (low-millions+ ARR), need local acquiring across UK/EEA/MENAP/APAC, and want negotiated interchange++ rates plus white-glove account management. Pick Stripe or Adyen Express otherwise.
◆◆◆ Complex
55 countries (UK, EEA, US, MENAP, APAC)
Custom quote (interchange++ or flat); no setup / monthly fees
Checkout.com is a London-headquartered payment processor founded in 2009 (originally Opus Payments) that targets enterprise and mid-market merchants with a Unified Payments API covering acquiring, payouts, fraud, 3DS, and marketplace splits. It powers Netflix, eBay, Uber Eats, Pinterest, Klarna, and ASOS, supports 145+ processing currencies in 55 domestic-acquiring countries, and recently secured a US bank charter (Georgia MALPB, 2026) to acquire directly in the United States.
Last full audit: April 15, 2026
Trust Score Breakdown
Account Stability
75/100Strict upfront underwriting filters out risky merchants, so post-onboarding surprise freezes are rarer than at Stripe. However, merchants who breach the MSA face long reserve holds and limited recourse; some report unilateral term changes. Stable for a vetted enterprise customer; less so if you're a marginal fit.
Developer Experience
88/100Excellent technical docs, official SDKs in 7+ languages (.NET, Java, Node, PHP, Python, Ruby, Go), Frames + Flow + HPP integration tiers, robust webhook tooling, EventBridge alternative, and 3DS 2.3.1 EMVCo certification. Slight friction: some developers report sandbox access lags real account approval.
Payout Reliability
80/100T+0 to T+3 settlement schedules per region, with same-day payouts available. Card Payouts via Visa Direct/Mastercard Send are real-time. Negative: settlement-reserve clauses in the MSA can hold all funds for weeks past account closure, and a few merchants reported reduced payouts after a 2024 dashboard migration.
Support Quality
60/100Enterprise customers with assigned account managers report excellent white-glove service. Smaller-tier customers and Trustpilot reviewers describe multi-day email response times, agent hand-offs, and replies that don't address the question. Two-tier support quality.
Track Record
88/100Founded 2009 as Opus Payments (rebranded Checkout.com 2012); processes for Netflix, eBay, Uber Eats, Pinterest, Klarna, ASOS, Vinted, Sony, DocuSign. Reached profitability in 2024 with 45% YoY core growth. Georgia MALPB bank charter approved 2026, enabling direct US acquiring. No notable regulatory scandals.
Transparency
50/100Worst dimension. No public rate card — every fee (transaction, chargeback, FX, APM surcharges) is buried in the per-merchant MSA. Apples-to-apples comparison with Stripe/Adyen requires a sales call. Status page and changelog exist, but commercial transparency is poor.
Availability Matrix
| Region | Countries | Currencies | Payout Timing |
|---|---|---|---|
| Europe (UK + EEA) | UK, plus all EEA member states (Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden) | GBP, EUR + ~18 more settlement currencies | T+0 to T+3 business days (region & merchant agreement) |
| North America (United States) | United States | USD (settlement) | T+0 to T+2 business days (per merchant agreement) |
| MENAP (Middle East, North Africa, Pakistan) | UAE, Saudi Arabia, Qatar, Bahrain, Kuwait, Oman, Egypt, Jordan, Pakistan (specific country list varies) | AED, SAR, QAR, BHD, KWD, OMR, EGP, JOD, PKR + USD/EUR | T+1 to T+3 business days |
| Asia-Pacific (APAC) | Singapore, Hong Kong, Malaysia, Indonesia, Philippines, Thailand, Vietnam, China (cross-border), South Korea (specific list varies) | SGD, HKD, MYR, IDR, PHP, THB, VND, CNY, KRW + USD | T+1 to T+3 business days |
| Global summary | Domestic acquiring in 55 countries; processes 145+ currencies; ~20 settlement currencies | 145+ processing, ~20 settlement | T+0 (same-day) to T+3 (varies by region & MSA) |
| NOT available (merchant acquiring) | Australia, Canada, Japan, India, Latin America (most countries) — limited or no direct merchant acquiring; sanctioned regions blocked entirely (Iran, North Korea, Russia, Syria, Cuba, Crimea, etc.) | — | — |
Feature Snapshot
Subscriptions / Recurring
Native recurring via stored card details + Unified Payments API; real-time card updater (Account Updater) included; common pairing with Chargebee/Recurly for full subscription billing UX
Marketplace / Split payments
Integrated Platforms product: split funds at authorization/capture/refund, sub-entity onboarding, payouts to sellers in local currency
Hosted Payment Page
Low-code Hosted Payments Page (HPP) — generates a redirect link; HPP cannot be embedded in an iframe
Embedded checkout (Frames / Flow)
Frames (iframe-based card form) and the newer Flow component (drop-in customizable UI) for in-page integration
Apple Pay & Google Pay
Native support for both wallets at no extra enabling fee; same pricing as card transactions
Local payment methods (APMs)
Wide APM coverage: iDEAL, SOFORT, Bancontact, Klarna, Alipay, WeChat Pay, mada, Multibanco, etc.
Payouts API (push-to-card)
Card Payouts via Visa Direct + Mastercard Send — real-time funds to 170+ countries, 100+ currencies; Fast Funds delivers within 30 min
Webhooks
Workflows API for webhook configuration; filterable logs, retry mechanism; AWS EventBridge alternative supported
Server SDKs
Official SDKs for .NET, Java, Node.js, PHP, Python, Ruby, Go (open-source on GitHub)
Mobile SDKs (iOS / Android)
Native iOS and Android SDKs for in-app card capture and tokenization
Multi-currency processing
145+ processing currencies; ~20 settlement currencies; FX conversion handled in-platform
Fraud detection (built-in)
Fraud Detection Pro: ML-driven risk scoring, custom rules, network-level intelligence; included with platform
3D Secure 2
Full 3DS2 / SCA support; intelligent routing to maximize approval and minimize friction
Self-service merchant signup
Sales-led onboarding only — must contact sales for a quote and risk review; no instant signup like Stripe
Public no-code dashboard for non-developers
Dashboard supports payment management, refunds, disputes, fee viewing — but accepting payments still requires API/SDK or HPP integration
Pricing Breakdown
Security & Compliance
Integration Prompt
✂
Copy & use this 5571-char integration prompt
Production-ready prompt for Claude / GPT / Cursor — handles setup, security, webhooks & gotchas
Copy & use this 5571-char integration prompt
Production-ready prompt for Claude / GPT / Cursor — handles setup, security, webhooks & gotchas
You are integrating Checkout.com as a payment gateway into a [Django / Next.js / etc.] application.
## Prerequisites
Checkout.com is sales-led — you cannot self-serve. Before writing code, confirm: (a) you have an approved merchant account, (b) you have access to the Hub dashboard, (c) you've received your Public API key, Secret API key, and Processing Channel ID. If any of these are missing, stop and contact your account manager.
## Setup
1. Install the official server SDK: `pip install checkout-sdk` (Python) or `npm install @checkout.com/checkout-sdk-node` (Node).
2. Store credentials in environment variables — NEVER hardcode:
- `CKO_SECRET_KEY` (server-side, starts with `sk_`)
- `CKO_PUBLIC_KEY` (client-side, starts with `pk_`)
- `CKO_PROCESSING_CHANNEL_ID` (per-merchant; required on most API calls)
- `CKO_WEBHOOK_SECRET` (signing key — set when you register the webhook)
3. Use the sandbox environment first (`environment='sandbox'`); promote to `production` only after end-to-end test card flows pass.
## Recommended Integration: Flow (drop-in component)
For most web checkouts, use **Flow** — it's PCI-SAQ-A scoped (card data never touches your server), supports cards + Apple Pay + Google Pay + local APMs from a single integration, and handles 3DS2 challenges automatically.
**Server: create a Payment Session**
```python
from checkout_sdk import CheckoutSdk
from checkout_sdk.environment import Environment
api = CheckoutSdk.builder() \
.secret_key(settings.CKO_SECRET_KEY) \
.environment(Environment.sandbox()) \
.build()
session = api.payment_sessions.create_payment_sessions({
'amount': 2000, # $20.00 in minor units
'currency': 'USD',
'reference': 'order_internal_id',
'processing_channel_id': settings.CKO_PROCESSING_CHANNEL_ID,
'success_url': 'https://yourdomain.com/success',
'failure_url': 'https://yourdomain.com/cancel',
'customer': {'email': customer.email, 'name': customer.name},
})
# Pass session.payment_session_token to the browser
```
**Browser: mount Flow**
```html
<script src="https://checkout-web-components.checkout.com/index.js"></script>
<div id="flow-container"></div>
<script>
const checkout = await CheckoutWebComponents({
publicKey: '{{ CKO_PUBLIC_KEY }}',
environment: 'sandbox',
paymentSession: { id: '{{ session.id }}', payment_session_token: '{{ session.payment_session_token }}' },
onPaymentCompleted: (component, paymentResponse) => { window.location = '/success'; },
});
checkout.create('flow').mount('#flow-container');
</script>
```
## Alternative integrations
- **Frames** (legacy iframe card form) — use only if you need full visual control of the card UI and accept higher PCI scope.
- **Hosted Payment Page (HPP)** — full redirect; no embedding; quickest to ship if you don't need on-site checkout. NOTE: HPP cannot be embedded inside an iframe.
- **Direct Payments API** — only if you're already PCI DSS certified and tokenize cards yourself.
## Webhooks (mandatory — do not trust the redirect)
The success/failure URL is a UX hint, not authoritative. Always confirm payment via webhook.
1. Register the webhook in the Hub dashboard or via the Workflows API. Subscribe to `payment_approved`, `payment_declined`, `payment_captured`, `payment_refunded`, `payment_chargeback`.
2. ALWAYS verify the `cko-signature` HMAC-SHA256 header against your webhook secret:
```python
import hmac, hashlib
def verify(payload_bytes: bytes, signature_header: str) -> bool:
expected = hmac.new(
settings.CKO_WEBHOOK_SECRET.encode(),
payload_bytes,
hashlib.sha256,
).hexdigest()
return hmac.compare_digest(expected, signature_header)
```
3. Make the handler idempotent — keyed on the event `id` — Checkout.com retries on non-2xx responses for up to 24 hours.
4. Return 200 quickly; do heavy work in a background queue.
## Recurring / subscriptions
Store the first transaction's `id`, then pass it as `previous_payment_id` on subsequent merchant-initiated transactions (MIT). For full subscription billing UX (dunning, upgrades, proration) pair with Chargebee or Recurly — Checkout.com handles the rails, not the lifecycle.
## Marketplaces (split payments)
Use the **Integrated Platforms** product. Onboard sellers as sub-entities, then split funds at authorization or capture by passing `marketplace.sub_entities[]` with amounts and reference IDs.
## Security checklist
- [ ] All card data flows through Flow / Frames / HPP — never POST raw PAN to your server.
- [ ] 3DS2 enabled on every transaction (`'3ds': {'enabled': True}`); use the SCA exemption matrix only with explicit fraud-risk sign-off.
- [ ] Webhook handler verifies signature on every request.
- [ ] Secret key only loaded server-side; rotate quarterly.
- [ ] Network tokens enabled in the Vault for stored cards (improves auth rate, survives card replacement).
## Common pitfalls (from real merchant reports)
- The MSA is the source of truth for fees, reserves, and termination terms — not the website. Read it and negotiate.
- Reserve clauses can hold all funds for weeks past the last transaction if the account is closed. Plan cash-flow accordingly.
- Sandbox access can lag the production approval — request explicitly during onboarding so you can build in parallel.
- Sub-$1M/year merchants typically get worse commercial terms than at Stripe; reconsider fit before integrating.
## Reference
- API reference: https://api-reference.checkout.com/
- Docs: https://www.checkout.com/docs
- Status: https://status.checkout.com
Replace [Django / Next.js / etc.] with your stack. Follows PCI DSS best practices and handles common edge cases.
Common Pitfalls
7 itemsSales-led onboarding — no instant signup
Unlike Stripe, you cannot sign up self-serve and start charging cards in minutes. Expect a sales call, a risk-review questionnaire, and merchant underwriting. Onboarding can take days to weeks, and very small or unproven merchants are often declined or quoted unattractive terms.
Enterprise-volume bias — small businesses get poor fit
Checkout.com targets merchants processing meaningful volume (often quoted publicly as $1M+/year, with their flagship clients all >$1B). Sub-$100k/yr merchants will get better commercial terms — and faster support — from Stripe, Adyen Express, or PayPal.
Opaque pricing — fees only revealed in MSA
No public rate card. Standard transaction rates, chargeback fees, FX markup and APM surcharges are all set in your Merchant Service Agreement, which makes apples-to-apples comparison difficult and leaves room for renegotiation later. Insist on a line-item breakdown before signing.
Settlement reserves can be held weeks past last transaction
If your account is closed (voluntarily or forced), all funds — settlement payouts plus cumulative reserves — are held until the reserve period set in your MSA expires. The exact duration is buried in the contract; some merchants report waits of weeks to months. Read the reserve clause carefully.
Support response times skew slow for non-enterprise tiers
Account-managed enterprise customers get fast white-glove support. Smaller merchants on standard tiers report multi-day email turnarounds and being passed between agents. If 24/7 chat is critical, this is not Stripe.
Test environment access can lag full integration
Some developers report that full sandbox / test-environment access is granted only after substantial implementation work or even merchant approval, slowing the build-evaluate loop. Not a universal experience — depends on your account manager.
Limited direct merchant acquiring outside core regions
Strong in UK, EEA, MENAP, parts of APAC, and (since 2026) US via own bank charter. Weaker or absent for Australia, Canada, Japan, India, and most of Latin America. Pick a different processor if those markets are your core.
Community Pulse
Developer sentiment is bimodal: enterprise teams praise the API quality, payment-method breadth, and dedicated account-management once approved, while smaller merchants frequently report frustrating onboarding (months of back-and-forth, unrealistic reserves, and outright denials). Trustpilot sits at ~2.2/5 driven mostly by complaints about opaque fees and slow non-enterprise support, whereas G2/Capterra reviews from established customers are noticeably more positive about uptime, routing intelligence, and the Flow + Frames integration story. The recurring theme across 2025–2026 reviews is fit: Checkout.com is built for big merchants and behaves accordingly — picking it without that volume is the most common regret. Note: direct Reddit threads were not retrievable in this audit; sentiment is synthesized from public aggregator review sites instead.
Sentiment last updated: April 2026 · We summarize — never copy — community content. Links go to original threads.
Changelog
-
logo
downloaded from seeklogo (Checkout.com horizontal wordmark, 540x70 source, normalized to 400x62 transparent PNG, brightness 73.8 — no logo_bg needed)
-
pricing
initial entry — official pricing page is custom-quote only; setup/monthly/charity items verified, chargeback/FX/APM fees marked unverified (set per MSA)
-
availability
initial entry — 55 domestic-acquiring countries across UK/EEA, US (Georgia MALPB charter approved 2026), MENAP, APAC; 145+ processing currencies; ~20 settlement currencies
-
features
initial entry — 15 features verified (subscriptions, marketplace splits, Frames/Flow/HPP, Apple+Google Pay, APMs, Card Payouts, webhooks, server+mobile SDKs, multi-currency, fraud, 3DS2; no self-serve signup; partial no-code dashboard)
-
security
initial entry — PCI DSS Level 1 Service Provider; 3DS 2.3.1 EMVCo-certified (May 2023); network tokens; ML fraud detection; FCA + MAS + DFSA + Georgia MALPB regulated entities
-
pitfalls
initial entry — 7 pitfalls documented (sales-led onboarding, enterprise bias, opaque pricing, settlement reserves, slow non-enterprise support, sandbox access lag, limited acquiring outside core regions)
-
community
initial summary synthesized from Trustpilot (~2.2/5), G2, Capterra, TrustRadius reviews; direct Reddit threads not retrievable in this audit
-
trust_score
initial trust score: overall 75 (payout 80, account 75, devx 88, transparency 50, support 60, track 88)
-
integration_prompt
initial prompt — recommends Flow as default integration; covers webhooks (HMAC-SHA256), recurring (previous_payment_id), marketplace sub-entities, 3DS2, network tokens
LearnWithHasan.com · Payment Gateway Index · No affiliate links · Builder-first