Maintenance operations
Creating the initial transaction is just the start of a transaction's life cycle. Following-up on existing transactions (i.e. by capturing an authorisation or performing a refund) is part of your daily business routine.
Use our dedicated endpoints or the Merchant Portal to perform maintenance operations on existing transactions for any given scenario.
- Depending on the transaction's status, different maintenance operations are possible. Refer to the transaction’s status to learn which options you have.
- All samples feature the bare minimum of mandatory/strongly recommended parameters. Find detailed information about these objects and properties in our API reference.
- You can perform all maintenance operations described below also both via the Merchant Portal and integration method Batch. Read the dedicated chapters in the respective guides to learn more:
Capture payments
If you have initially processed your transactions as authorisations (which have status.Output.statusCode=5), you need to capture them eventually to receive the funds. To do so, send a request to our dedicated CapturePayment endpoint:
CapturePaymentRequest capturePaymentRequest = new CapturePaymentRequest()
.withAmount(1000L)
.withIsFinal(false);
CapturePaymentRequest capturePaymentRequest = new CapturePaymentRequest {
Amount = 1000,
IsFinal = false
};
const capturePaymentRequest = {
amount: 1000,
isFinal: false
};
$capturePaymentRequest = new CapturePaymentRequest();
$capturePaymentRequest->setAmount(1000);
$capturePaymentRequest->setIsFinal(false);
capture_payment_request = CapturePaymentRequest()
capture_payment_request.amount = 1000
capture_payment_request.is_final = False
capture_payment_request = CapturePaymentRequest.new
capture_payment_request.amount = 1000
capture_payment_request.is_final = false
| Property | Description |
|---|---|
| {merchantId} | Your account on our platform through which the initial transaction was processed. Add it as a path parameter to the CapturePayment endpoint Url. |
| {paymentId} | The payment.Id of the initial transaction which our platform returned in the CreatePayment/GetHostedCheckout request. Add it as a path parameter to the CapturePayment endpoint Url. |
| amount | The gross amount you want to capture for the original authorisation. If left empty, our platform will capture the full original amount. |
| isFinal |
Define whether to close the transaction for subsequent captures if you only partially capture the amount.
If left empty, the default value is "false". |
Cancel payments
If you have initially processed your transactions as authorisations (which have status.Output.statusCode=5), you can cancel them to unblock the funds. To do so, send a request to our dedicated CancelPayment endpoint:
CancelPaymentRequest cancelPaymentRequest = new CancelPaymentRequest()
.withAmountOfMoney(new AmountOfMoney()
.withAmount(1000L)
.withCurrencyCode("EUR")
)
.withIsFinal(false);
CancelPaymentRequest cancelPaymentRequest = new CancelPaymentRequest {
AmountOfMoney = new AmountOfMoney {
Amount = 1000,
CurrencyCode = "EUR"
},
IsFinal = false
};
const cancelPaymentRequest = {
amountOfMoney: {
amount: 1000,
currencyCode: "EUR"
},
isFinal: false
};
$cancelPaymentRequest = new CancelPaymentRequest();
$amountOfMoney = new AmountOfMoney();
$amountOfMoney->setAmount(1000);
$amountOfMoney->setCurrencyCode("EUR");
$cancelPaymentRequest->setAmountOfMoney($amountOfMoney);
$cancelPaymentRequest->setIsFinal(false);
cancel_payment_request = CancelPaymentRequest()
amount_of_money = AmountOfMoney()
amount_of_money.amount = 1000
amount_of_money.currency_code = "EUR"
cancel_payment_request.amount_of_money = amount_of_money
cancel_payment_request.is_final = False
cancel_payment_request = CancelPaymentRequest.new
amount_of_money = AmountOfMoney.new
amount_of_money.amount = 1000
amount_of_money.currency_code = "EUR"
cancel_payment_request.amount_of_money = amount_of_money
cancel_payment_request.is_final = false
| Property | Description |
|---|---|
| {merchantId} | Your account on our platform through which the initial transaction was processed. Add it as a path parameter to the CancelPayment endpoint Url. |
| {paymentId} | The payment.Id of the initial transaction which our platform returned in the CreatePayment/GetHostedCheckout request. Add it as a path parameter to the CancelPayment endpoint Url. |
| order.amountOfMoney amount currencyCode |
amount: The gross amount you want to cancel for the original authorisation. currencyCode: The ISO 4217 currency code for this amount. If left empty, our platform will cancel the full original amount. |
| isFinal |
Define whether to close the transaction for subsequent cancellations if you only partially cancel the amount.
If left empty, the default value is "false". |
Refund payments
You can reimburse successfully processed payments (which have status.Output.statusCode=9). To do so, send a request to our dedicated RefundPayment endpoint:
RefundRequest refundRequest = new RefundRequest()
.withAmountOfMoney(new AmountOfMoney()
.withAmount(1000L)
.withCurrencyCode("EUR")
);
RefundRequest refundRequest = new RefundRequest {
AmountOfMoney = new AmountOfMoney {
Amount = 1000,
CurrencyCode = "EUR"
}
};
const refundRequest = {
amountOfMoney: {
amount: 1000,
currencyCode: "EUR"
}
};
$refundRequest = new RefundRequest();
$amountOfMoney = new AmountOfMoney();
$amountOfMoney->setAmount(1000);
$amountOfMoney->setCurrencyCode("EUR");
$refundRequest->setAmountOfMoney($amountOfMoney);
refund_request = RefundRequest()
amount_of_money = AmountOfMoney()
amount_of_money.amount = 1000
amount_of_money.currency_code = "EUR"
refund_request.amount_of_money = amount_of_money
refund_request = RefundRequest.new
amount_of_money = AmountOfMoney.new
amount_of_money.amount = 1000
amount_of_money.currency_code = "EUR"
refund_request.amount_of_money = amount_of_money
| Property | Description |
|---|---|
| {merchantId} | Your account on our platform through which the initial transaction was processed. Add it as a path parameter to the RefundPayment endpoint Url. |
| {paymentId} | The payment.Id of the initial transaction which our platform returned in the CreatePayment/GetHostedCheckout request. Add it as a path parameter to the RefundPayment endpoint Url. |
| order.amountOfMoney amount currencyCode |
amount: The gross amount you want to refund for the original authorisation. currencyCode: The ISO 4217 currency code for this amount. If left empty, our platform will refund the full original amount. |
Increment existing authorisations
Sometimes, you realise that an initially authorised amount is not enough. A common use cases for this are extending stays in already booked hotel rooms or car rental loan periods.
Instead of sending a second authorisation for the same order, you can increment the existing authorisation.
To do so, follow these steps:
- Process the initial authorisation as a pre-authorisation.
- Send a request to our dedicated IncrementAuthorization endpoint:
{
"amountOfMoney": {
"amount": 1500,
"currencyCode": " EUR"
}
}
| Property | Description |
|---|---|
| {merchantId} | Your account on our platform through which the initial authorisation request was processed. Add it as a path parameter to the IncrementAuthorization endpoint Url. |
| {payment.id} |
The payment.id of the initial pre-authorisation request. Add it as a path parameter to the IncrementAuthorization endpoint Url. |
| order.amountOfMoney amount currencyCode |
amount: The gross amount you want to authorise in total, including the incremental sum. Mind that this value is not added to the initial authorisation amount but redefines the total authorisation amount. If you want to increment an initially amount of 1000 by 500, you need to send: amount=1000 for the initial authorisation. This will result in a total amount=1500. currencyCode: The ISO 4217 currency code for this amount. Make sure to use the same value from the original authorisation. |
You can capture any incremented authorisation via a
American Express
MasterCard
Visa