Captures
Capture is a process of requesting the financial movement of the authorized amount from/to the cardholder’s account to/from the merchant’s account. For partners using single message processing flow, it is not required to submit a separate capture request. However if a partner uses a dual message processing flow then a capture request must be submitted within the authorization validity period specified by the respective card scheme.
Depending on your business need, an authorized payment can be captured in following ways.
Full capture - process of capturing the entire authorized amount.
Partial capture - process of capturing part of authorized amount.
It is possible to capture the entire authorized amount with single or multiple capture requests. Capturing the authorized amount in parts with multiple requests is commonly known as “ Split capture ".
To be compliant with card scheme regulations, it is significant that you obtain an authorization only for an amount that would be captured. In other words, you must capture the entire authorized amount or reverse any amount that will not be captured within the authorization validity period specified by respective card schemes.
Capture an authorization (full)
Make a capture payment request using the paymentId obtained in the create payment response. Below given example request (POST /processing/v1/100812/520002526/payments/ pay:ch:etu:zM7HXeHISgOEDUKH0Zk9gg /captures) would capture the entire authorized amount for the given payment id.
{
"operationId": "56f078e0-673b-4a82-b3ab-940819c13210",
"transactionTimestamp": "2024-10-10T14:56:36.808Z"
}
Capture an authorization (partial)
Make a capture payment request using the paymentId obtained in the create payment response. The example request(POST /processing/v1/100812/520002526/payments/ pay:ch:etu:2fCf55NqSjO4b2zIcfaEaQ /captures) given below indicates that it is the final partial capture for 200 EUR out of multiple captures towards the total authorized amount of 400 EUR.
In case of partial capture, it is mandatory to include amount object specifying the amount that you want to capture. Set the isFinal property to "true" for the final capture of authorized amount.
{
"operationId": "4c57dbdd-fe6e-4209-86a1-82861b7df660",
"transactionTimestamp": "2024-10-10T15:11:21.541Z",
"amount": {
"amount": "20000",
"currencyCode": "EUR",
"numberOfDecimals": 2
},
"isFinal": true
}
Below is the response of the partial capture request
{
"operationId": "4c57dbdd-fe6e-4209-86a1-82861b7df660",
"responseCode": "0",
"responseCodeDescription": "Accepted or completed successfully",
"responseCodeCategory": "APPROVED",
"responder": "WORLDLINE",
"payment": {
"paymentId": "pay:ch:etu:2fCf55NqSjO4b2zIcfaEaQ",
"status": "AUTHORIZED",
"references": {
"schemeTransactionId": "304284546235158"
}
}
}
Please refer to response handling to understand the response code, category, responder and status to decide on the next course of action on your platform.
Capture an authorized refund
Submit a capture refund request using the refundId obtained in the refund payment response (in case of referenced refund) or create refund response (in case of standalone refund).
Below given example request (POST /processing/v1/100812/520002526/refunds/ pay:ch:etu:6zeoq8jMREitZ_cb8SGU9A /captures) would capture the entire authorized amount for the given refund id.
{
"operationId": "4d60d201-ea8b-4069-8c8c-62c1faa9dec3",
"transactionTimestamp": "2024-10-11T09:01:35.360Z"
}
Response to above request
{
"operationId": "c87ea48e-c78e-4d69-9f2f-075767f96119",
"responseCode": "0",
"responseCodeDescription": "Accepted or completed successfully",
"responseCodeCategory": "APPROVED",
"responder": "WORLDLINE",
"refund": {
"refundId": "pay:ch:etu:6zeoq8jMREitZ_cb8SGU9A",
"status": "CONFIRMED"
}
}
Please refer to response handling to understand the response code, category, responder and status to decide on the next course of action on your platform.