Skip to main content
Version: 1.0.0

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

EndpointUse for
POST /api/direct/paymentsDirect integrations - credit card, A2A, and wallet flows
POST /api/request-to-pay/paymentsRequest to Pay integrations via the WebSDK
PATCH /api/back-office/payments/{id}Update payment details
POST /api/back-office/payments/{id}/executeExecute a pending payment
POST /api/back-office/payments/{id}/captureCapture an authorised payment
POST /api/back-office/payments/{id}/cancelCancel a payment
POST /api/back-office/payments/{id}/reverseReverse 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.