Create an account and get API keys
Sign up, verify your email, and grab your test + live API keys from the dashboard.
From quickstarts to deep API references — 18 articles across guides, references and code samples.
Sign up, verify your email, and grab your test + live API keys from the dashboard.
One API call, hosted checkout, done — receive your first test payment in under five minutes.
HTTP Basic auth with your secret key. Never expose secret keys in browsers or mobile apps.
Cursor-based pagination with limit + starting_after. All list endpoints return has_more.
Standard HTTP status codes plus a machine-readable error type and code on every failure.
100 read + 100 write requests per second by default. Bursts up to 500 briefly permitted.
Subscribe to real-time events, verify signatures, and reply 2xx within 10 seconds.
80+ event types across payments, payouts, subscriptions, invoices, disputes and customers.
Node.js, Python, PHP, Ruby, Go, Java and .NET — all generated from our OpenAPI spec.
A full catalogue of test PANs for successes, declines, 3DS flows and specific decline codes.
PCI DSS Level 1. Card data never touches your servers. SCA/3DS2 handled automatically.
Plans, trials, coupons, seat-based and usage-based billing with a hosted customer portal.
Onboard sellers, split payments across up to 100 recipients, and route payouts per seller.
Faster Payments, SEPA Instant, US ACH and SWIFT — single or batched from CSV.
Scaffold projects, tail webhooks to localhost, trigger test events, and manage resources.
Step-by-step guides for Shopify, WooCommerce, Xero, Zapier and custom Next.js apps.
135+ presentment currencies, 25 checkout languages, automatic FX at mid-market + 0.5%.
Every endpoint, every field, every event — with copy-paste curl and SDK examples.
Copy, paste, run. That's it — no boilerplate, no config file.
curl https://api.paytab.co.uk/v1/payments \ -u sk_test_...: \ -d amount=4900 \ -d currency=gbp \ -d customer_email=ada@example.com \ -d description="First payment"
The endpoints that power 95% of integrations. Full reference on the developer hub.
| Method | Path | Description |
|---|---|---|
| POST | /v1/checkout/sessions | Create a hosted checkout session |
| POST | /v1/payments | Create a payment directly (server-to-server) |
| GET | /v1/payments/:id | Retrieve a payment by id |
| POST | /v1/payments/:id/refund | Refund a payment, full or partial |
| POST | /v1/customers | Create a customer |
| POST | /v1/subscriptions | Create a subscription |
| POST | /v1/invoices | Create and send an invoice |
| POST | /v1/payouts | Send a payout to a bank account |
| POST | /v1/transfers | Move funds to a connected account |
| POST | /v1/webhook_endpoints | Register a webhook endpoint |
Every error includes a stable code — surface it, don't parse the message.
card_declinedThe issuing bank declined the card.
insufficient_fundsCard has insufficient balance.
expired_cardCard is past its expiry date.
incorrect_cvcCVC check failed.
authentication_required3DS challenge required — retry with SCA.
invalid_request_errorMissing or malformed parameters.
rate_limit_errorToo many requests — back off using Retry-After.
idempotency_errorIdempotency key reused with different params.
Every event is signed, retried with exponential backoff for up to 72 hours, and replayable from the dashboard.
All SDKs are open source, semver-versioned, and generated directly from our OpenAPI spec — so they never drift from the API.
Payment Service Provider — Paytab acts as your PSP end-to-end.
Strong Customer Authentication — required by PSD2 for most EEA payments.
3D Secure 2 — the modern authentication flow used to satisfy SCA.
Monthly Recurring Revenue — normalised subscription revenue per month.
Fees paid to the card-issuing bank as part of each transaction.
A cardholder-disputed transaction; Paytab handles evidence submission.
Grab a test key and take your first payment in the next five minutes.