Payments API
The Payments API lets you accept and manage payments across cards, bank transfers, and wallets through a single orchestration layer. It handles routing to the right processor, PCI-scope reduction via tokenization, SCA/3DS challenges, and consent for recurring charges - so you don't have to build that logic per payment method.
Two ways to integrate
Choose based on how much control you need versus how fast you want to ship.
- Request to Pay - the JS WebSDK renders a unified checkout for you. Fastest to integrate, and a good fit if you want to support several payment methods without building your own payment form.
- Direct - you own the payment form and call the API directly. More integration work, but full control over the flow, UI, and each payment method's specific behavior (tokenization, 3DS, recurring setup).
Both share the same webhook, routing, and settlement infrastructure underneath - the difference is only in how the initial payment gets created.
What you can do
- Create a one-time payment, or vault a payment method for future use, with or without an initial charge
- Charge a returning customer card-on-file, using a stored consent or a scheme-managed reference
- Manage a payment's lifecycle: patch, execute, capture, cancel, or reverse it via the back-office endpoints
- Handle strong customer authentication: 3DS v2 challenges and AVS checks for card payments
Endpoints in this reference
| Endpoint | Use for |
|---|---|
POST /api/direct/payments | Direct integrations - credit card, A2A, and wallet flows |
POST /api/request-to-pay/payments | Request to Pay integrations via the WebSDK |
PATCH /api/back-office/payments/{id} | Update payment details |
POST /api/back-office/payments/{id}/execute | Execute a pending payment |
POST /api/back-office/payments/{id}/capture | Capture an authorised payment |
POST /api/back-office/payments/{id}/cancel | Cancel a payment |
POST /api/back-office/payments/{id}/reverse | Reverse a transfer |
Before you start
Every request needs an Authorization bearer token and an X-Integrator-ID header. Amounts are in minor currency units (e.g. cents). Every response returns a status of success, pending, or fail - always handle pending via webhook or polling rather than assuming immediate completion.