Delay Collection Of Funds
Authorise a payment on our payment page now and capture the funds later. This two-step flow is useful when you need to perform checks before requesting settlement.
A delayed collection is a pre-authorisation — a hosted payment session with transaction.deferred set to true. We authorise the funds but do not settle them. To complete the payment, send a capture request. If you no longer need the funds, submit a cancel request to release the authorisation.
Authorisations expire after 7 days by default; after that you cannot capture or cancel them.
Authorise a payment
Create the hosted session exactly as you would to take a payment, with deferred added to the transaction, then send your customer to the returned redirectUrl.
Create a deferred payment session
POST /hosted/rest/sessions/{instId}/payments{
"session": {
"returnUrl": {
"url": "https://www.example.com/return"
}
},
"transaction": {
"deferred": true,
"money": {
"currency": "GBP",
"amount": {
"fixed": 25.00
}
},
"merchantReference": "aPreAuthReference"
}
}curl -X POST "{targetEnvironmentPath}/hosted/rest/sessions/{instId}/payments" \
-u "{apiUser}:{apiPassword}" \
-H "Content-Type: application/json" \
-d '{
"session": {
"returnUrl": {
"url": "https://www.example.com/return"
}
},
"transaction": {
"deferred": true,
"money": {
"currency": "GBP",
"amount": {
"fixed": 25.00
}
},
"merchantReference": "aPreAuthReference"
}
}'HTTP/1.1 201 Created
{
"sessionId": "SMjpxuhaAOtFOA48crX0gPm2C",
"redirectUrl": "https://secure.mite.pay360.com/hosted/SMjpxuhaAOtFOA48crX0gPm2C/begin/SMjpxuhaAOtFOA48crX0gPm2C",
"status": "SUCCESS"
}Retrieve the transaction id
Capture and cancel both need the transaction id, which you get by retrieving the session status once the session has completed with a successful transaction: the id is in hostedSessionStatus.transactionState.id.
Capture the authorisation
When you are ready to collect the funds, call the capture endpoint with that transaction id.
Capture an authorisation
POST /acceptor/rest/transactions/{instId}/{transactionId}/capture{}curl -X POST "{targetEnvironmentPath}/acceptor/rest/transactions/{instId}/{transactionId}/capture" \
-u "{apiUser}:{apiPassword}" \
-H "Content-Type: application/json" \
-d '{}'HTTP/1.1 201
{
"processing": {
"authResponse": {
"gatewayReference": "7832031551661246",
"gatewayCode": "1",
"gatewayMessage": "FULFILLED OK",
"status": "AUTHORISED"
},
"route": "MCPE"
},
"financialServices": {
"dateOfBirth": "19870818",
"surname": "Smith",
"accountNumber": "123ABC",
"postCode": "BS20"
},
"transaction": {
"transactionId": "13504712364",
"status": "SUCCESS",
"type": "CAPTURE",
"amount": 1000,
"consumerSpend": 1000,
"currency": "GBP",
"transactionTime": "2014-01-06T20:59:40.233Z",
"receivedTime": "2014-01-06T20:59:40.233Z",
"relatedTransaction": {
"transactionId": "13504712363",
"merchantRef": "mer_txn_1234557"
},
"channel": "WEB"
},
"outcome": {
"status": "SUCCESS",
"reasonCode": "S100",
"reasonMessage": "Authorised"
}
}Cancel the authorisation
To release the authorisation instead of collecting the funds, call the cancel endpoint with the same transaction id. The cancelled amount stops counting against the customer's available funds once their issuer processes the reversal.
Cancel an authorisation
POST /acceptor/rest/transactions/{instId}/{transactionId}/cancel{}curl -X POST "{targetEnvironmentPath}/acceptor/rest/transactions/{instId}/{transactionId}/cancel" \
-u "{apiUser}:{apiPassword}" \
-H "Content-Type: application/json" \
-d '{}'HTTP/1.1 201
{
"processing": {
"model": "MANAGE",
"authResponse": {
"acquirerName": "Barclays Merchant Services",
"gatewayReference": "ef2d0bcd9352d33a5855d8287d0a843c",
"status": "AUTHORISED"
},
"route": "CPE"
},
"customFields": {
"fieldState": []
},
"transaction": {
"transactionId": "10253948279",
"status": "SUCCESS",
"stage": "AUTHORISATION",
"type": "CANCEL",
"amount": 15.00,
"consumerSpend": 0,
"currency": "GBP",
"transactionTime": "2026-09-01T15:57:48.170+01:00",
"receivedTime": "2026-09-01T15:57:48.170+01:00",
"relatedTransaction": {
"transactionId": "10253948277"
}
},
"outcome": {
"status": "SUCCESS",
"reasonCode": "S100",
"reasonMessage": "Authorised"
},
"trace": "TJnGN1oe4Oi7CV7itUAkEIA",
"link": [
{
"href": "https://api.mite.pay360.com/acceptor/rest/transactions/5315271/10253948279",
"rel": "transaction"
},
{
"href": "https://api.mite.pay360.com/acceptor/rest/transactions/5315271/10253948277",
"rel": "related-transaction"
}
]
}Captures and cancels can also be processed from the merchant portal, so you can choose not to integrate these endpoints and use the UI instead.