This page describes the possible operations on a transaction created via Axepta BNP Paribas Online:
Content
When a card transaction is created, an authorization is sent to the cardholder's bank to reserve the amount.
As long as the capture is not made, the funds are not debited.
The capture refers to the request for bank transfer.
This is the step that triggers the actual debit of the cardholder.
A cancellation is possible as long as the capture has not already been made.
She immediately releases the reserved funds.
A refund is made on a transaction already captured.
It can be total or partial.
When initializing the transaction, you can control the behavior via the captureMethod object.
"captureMethod": { "type": "AUTOMATIC" | "DELAYED" | "MANUAL"} |
If captureMethod is missing → automatic capture by default. |
Functional
The capture request is performed automatically right after the authorization.
No action is required, the transaction will be sent for settlement during the next collection cycle (end of day).
Unless you have specific use cases, this is the mode to prioritize. |
Recommended use cases
Functional
When requesting a transaction, it is possible to specify a time limit (in hours) before the capture request is executed.
This option makes it possible to ensure that the transaction will not be captured during this period.
The payment may be delayed by one day if the deadline exceeds the daily settlement time.
This capture must be carried out within 7 days following authorization, in agreement with the funds guarantee deadline at the bank. |
Features
Use case
Integration
The Capture endpoint allows capturing the funds using the payId of the original transaction.
(Optional amount → partial capture if different from the authorized amount.)
...
"captureMethod": {
"type": "DELAYED",
"delayed": {
"delayedHours": 2
}
},
... |
Functional
Manual capture allows for capturing all or only part of the authorized amount.
In the case where part of the amount is captured, this is referred to as partial capture.
So, with this option, the capture is never executed automatically; it is essential to send a capture order for the funds to be collected.
The banking settlement date for these transactions will be the date of the capture request.
This capture must be carried out within 7 days following authorization, in agreement with the funds guarantee deadline at the bank. |
Integration
The Capture endpoint allows capturing the funds using the payId of the original transaction.
(Optional amount → partial capture if different from the authorized amount.)
...
"captureMethod": {
"type": "MANUAL"
},
... |
Functional
The cancellation cannot be partial. The cancelled amount = authorized amount. |
Integration
The Reverse endpoint allows to cancel a transaction (or a step of the transaction). It is necessary to provide the payId of the original transaction.
The status affects the number of calls required. |
Status | Meaning | Action of the Reversal Call | Number of Calls Required |
OK | Capture requested but not executed | Cancels the capture request → changes to AUTHORIZED | 2 calls |
AUTHORIZED | Authorization pending capture | Cancels the authorization | 1 call |
Functional
Only a transaction already captured (capturedValue > 0) or settled (status Sale) can be refunded.
The refund can be total or partial refund.
Several successive refunds possible up to the captured amount.
Integration
The Refund endpoint allows you to initiate a refund on an already settled transaction. It is necessary to provide the payId of the transaction to be refunded.
In the context of transaction management, it is essential to clearly distinguish between situations requiring the cancellation of a payment and those requiring a refund.
This section describes the key steps to determine the best action to take when an order cannot be fulfilled.
Whether for logistical, technical, or other reasons, understanding the payment status and the amounts involved is essential.
By checking these elements, it will be possible to determine whether the payment should be canceled (when the funds have not been claimed by the holder) or refunded (when the funds have indeed been claimed). This approach ensures transparent and compliant management with client expectations, while optimizing operational processes.
If the transaction has been paid, then the customer has been debited. In this case, a refund must be initiated. If the transaction has not been paid, then the customer has not been debited. In this case, a cancellation must be initiated. |
For all operations, it is necessary to use the payment reference 'payId' returned by the payment platform during the transaction. |
The GetByPayId endpoint allows you to recover the transaction information by providing the corresponding payId.
{
"amount": {
"currency": "EUR",
"value": 1000,
"capturedValue": 1000
},
"externalIntegrationId": "12345-abcde-67890-fghij",
"language": "en",
"payId": "ed7773c09f314c45b2a0de47a1994e1d",
"xId": "86a8198cc9da4b4d9fbcdb15a5ddd6ca",
"transId": "20240103-121913-554",
"status": "OK",
"responseCode": "00000000",
"responseDescription": "success",
"refNr": "refNr01",
"metadata": {
"userData": "my user data",
"plain": "some plain text",
"key1": "value1",
"key2": "value2"
},
"paymentMethods": {
"type": "CARD",
"card": { … }
}
} |
To determine whether it is necessary to cancel or refund a transaction, it is necessary to consult the properties 'status' and 'responseCode' of the transaction:
"status": "OK", "responseCode": "00000000", |
The amounts of the transaction are detailed in the JSON object 'amount'.
"amount": {
"currency": "EUR",
"value": 1000,
"capturedValue": 1000
}, |
It is necessary to consult the amounts 'value' and 'capturedValue'
If it is equal to zero, it means that the transaction authorization has failed, and that the transaction did not go through.
'capturedValue' will determine whether a refund or a cancellation should be initiated. |
If capturedValue = 0: the transaction is not captured => Cancellation |
The Refund endpoint allows you to initiate a refund on an already settled transaction. It is necessary to provide the payId of the transaction to be refunded.
The amount to be refunded may be all or part of the initial transaction amount. |
The Reverse endpoint allows you to cancel a transaction (or a step of the transaction). It is necessary to provide the payId of the original transaction.
The cancellation amount must be exactly equal to the authorized amount. Partial cancellations are not possible. |
Cancellation can be done in 1 or 2 steps, depending on whether the capture request has already been made or not. |
The Reverse endpoint allows for:
To know at what step the transaction is, you need to check its 'status':
In conclusion:
|