Authorise a payment
Draft content to be reviewed and verified.
Use an authorisation to reserve funds on a card now and settle them later.
An authorisation places a hold on the cardholder's funds without debiting them. You settle the hold with a separate Capture once the final amount is known, or release it with Cancel if it is no longer needed. This makes it a two-step flow, unlike a sale.
Use this flow when the final amount may differ from the amount reserved, or when the charge is confirmed after the order is placed — for example hotel or car-rental deposits.
The authorisation request uses the same structure and endpoint as Accept a payment, with intent set to authorise. Capture and Cancel are mutually exclusive, and a hold can only be cancelled if it has not already been captured. To return funds from a capture that has already settled, use Refund a payment.
How it works
- Authenticate — attach your Bearer token and Integrator ID to the request headers.
- Place card details inside
sender.custom_data: PAN, expiry month, expiry year, and holder name. CVC is submitted separately at rootcustom_data.authentication.cvc. - Set
intent: authorise,channel: ecommerce, androuting.payment_flow: credit_card. POSTthe request. A successful authorisation returnsstatus: successand anid— save it as yourpayment_id.- When the final amount is known, capture or cancel the hold using that
payment_id— see below.
Key rules
intent: authorisereserves funds without debiting them — settlement happens on capture.- Capture and Cancel are mutually exclusive — see below.
{
"amount": 1000,
"currency": "EUR",
"sender": {
"type": "credit_card",
"custom_data": {
"pan": "4000000000000000",
"expiry_month": "12",
"expiry_year": "2030",
"holder_name": "NAME NAME"
}
},
"receiver": {
"configuration_id": "idid+001"
},
"routing": {
"payment_flow": "credit_card"
},
"intent": "authorise",
"channel": "ecommerce",
"custom_data": {
"authentication": {
"cvc": "123"
}
}
}
Capture
Settle a pre-authorisation by sending a POST to the capture endpoint with the original payment_id in the URL.
To capture the full authorised amount, send an empty request body. To capture a partial amount, include {"amount": N} — the value must not exceed the amount originally authorised.
The response id is a new transfer_id. Do not overwrite your stored payment_id. The parent_operation_id in the response references the original authorisation_id.
Cancel
Void a pre-authorisation and release the reserved funds by sending a POST to the cancel endpoint with the original payment_id in the URL.
To cancel in full, send an empty request body. To release a partial amount, include {"amount": N}.
A pre-authorisation can only be cancelled if it has not already been captured. The response id is the cancel_id. The parent_operation_id in the response references the original authorisation_id.
For the full list of which IDs each operation returns and which to store, see Response ID Fields.
Call this flow directly in the API Reference.
- POST Create Direct payment ( intent: authorise )
- POST Capture a Payment
- POST Cancel a Payment