Partial Authorization
Partial authorizations allow a payment to be processed even when the customer's card does not have sufficient funds to cover the full order amount. Instead of rejecting the transaction, the system authorizes the maximum available amount on the card. This functionality is especially useful for business models that can handle the remaining amount using another payment method or a new charge attempt.
Only some banks support partial authorizations. If the bank does not support them and the customer does not have sufficient funds, an UNSPECIFIED REFUSAL or INSUFFICIENT FUNDS error will be returned, just as when using the AUTHORIZATION operative.
Usage
To request a partial authorization of the funds, you must use the PARTIAL_AUTHORIZATION operative when creating the payment order. This operative can be used in both CIT (Customer Initiated Transaction) and MIT (Merchant Initiated Transaction) flows, with or without 3DS. Once the operation is completed, the transaction amount will correspond to the authorized amount. If a refund is required, only the authorized amount can be refunded, not the original order amount.
Below is the response of a successful payment where a partial authorization has been performed. The merchant requests a charge of 6 euros, of which only 1.80 euros are finally authorized.
{
"message": "OK",
"code": 200,
"order": {
"uuid": "6E317E9E-1508-487A-98CB-389F7054B9CF",
"amount": 600,
"currency": "978",
"paid": true,
"status": "SUCCESS",
"transactions": [
{
"uuid": "1EAC092C-5A96-49E3-8FDB-D2374DE2F3B9",
"operative": "PARTIAL_AUTHORIZATION",
"amount": 180,
"status": "SUCCESS",
"error": "NONE",
...
}
]
},
...
}
Configuring a minimum authorized amount
To prevent situations where the authorized amount is too low (just a few cents) because the customer does not have sufficient funds to cover the full order amount, a minimum amount to authorize can be defined when generating the payment order. If this minimum amount is specified and the finally authorized amount does not reach it, the retained funds will be automatically released so the customer can choose another payment method.
To configure this amount, simply specify it in the extra_data.partial_authorization.min_threshold field. In this example, if the authorized amount is less than 1.60 euros, the authorized funds will be released. This amount is expressed in the same currency as the order.
...
"extra_data": {
"partial_authorization": {
"min_threshold": 160
},
...
If only one euro were authorized, the following error would be returned:
{
"message": "OK",
"code": 200,
"current_time": "2026-05-06T15:41:09+0200",
"order": {
"amount": 600,
"currency": "978",
"paid": false,
"status": "REFUSED",
...
"transactions": [
{
"operative": "PARTIAL_AUTHORIZATION",
"amount": 100,
"status": "REFUSED",
"error": "The charged amount is below the minimum allowed threshold",
...
"error_details": {
"error_code": null,
"error_description": null,
"error_code_scheme": null,
"error_description_scheme": null,
"error_unified": "AMOUNT BELOW THRESHOLD"
},
...
Test data
During the integration process, payment tests can be performed in the sandbox environment using either a PaynoPain-type service or our Paylands simulator.
PaynoPain
To simulate a partial authorization using a PaynoPain service, send a request with the following amount:
amount: 100010
Paylands
To simulate a partial authorization using a Paylands service, use the following card:
4000058400000071
Simulator behavior:
- For payments with an amount greater than 100, the simulator will apply a partial authorization.
- For payments with an amount equal to or lower than 100, the full amount will be authorized.
For more information about the simulator, see the Paylands service documentation.