worldline

Documentation

Pre-Authorization adjustments

There may be situations where you need to increase or decrease the initially approved amount after obtaining the pre-authorization before it is captured. Changes made to a pre-authorized payment are called " Pre-Authorization Adjustments ".

In order to increase the authorized amount, perform increment authorization by specifying the additional amount that you would like to get an approval for. On the other hand, perform reverse authorization by specifying the amount that you would like to release from the authorized amount.

When you consider implementing pre-authorization adjustments, take into account the following:

  • Availability : Support for authorization adjustment might be limited to

    • certain Merchant Category Codes (MCC). Though some schemes opened up the possibility to use pre-authorization for wider MCCs, restriction still prevails.

    • specific card brand/products.

    • card issuer's capability to support adjustments.

  • Expiration : Pre-authorizations do have their own validity period and it varies depending on the card scheme. Ideally, you perform adjustments before the pre-authorization expires.

Perform Pre-Authorization increment

To increase/increment the pre-authorization amount, submit an increment authorization request by referring to the paymentId of the pre-authorization that you intend to modify. Use the incrementAmount object to specify the additional authorization amount.

Example pre-authorization increment

Below request (POST /processing/v1/100812/520002526/payments/ pay:ch:etu:dizeosRySJmWp3-7LFu2lw /increments) increases the pre-authorization by an additional amount of 50 EUR.

{
    "operationId": "2b762ee7-6e1c-441e-9768-d4231112c3a5",
    "transactionTimestamp": "2024-10-10T12:56:09.415Z",
    "incrementAmount": {
        "amount": 5000,
        "currencyCode": "EUR",
        "numberOfDecimals": 2
    }
}

From the response below, you will notice that the total authorized amount is increased to 70 EUR which could either be captured or further increased or reversed before the capture.

{
    "operationId": "2b762ee7-6e1c-441e-9768-d4231112c3a5",
    "responseCode": "0",
    "responseCodeDescription": "Accepted or completed successfully",
    "responseCodeCategory": "APPROVED",
    "responder": "WORLDLINE",
    "payment": {
        "paymentId": "pay:ch:etu:Pg2-f715Tbyr5CPAgScA9g",
        "status": "AUTHORIZED"
    },
    "totalAuthorizedAmount": {
        "amount": 7000,
        "currencyCode": "EUR",
        "numberOfDecimals": 2
    }
}

Please refer to response handling for more details.

Perform Pre-Authorization reversal

To reverse a part or entire authorized amount, submit an authorization reversal request by referring to the paymentId of the pre-authorization. If you want to reverse a part of authorized amount, specify it using reversalAmount object. Alternatively, submit a request without reversalAmount object to release the entire amount of pre-authorization (initial and any subsequent increments). Refer to reversals for more details.

Example pre-authorization reversal

Below request (POST /processing/v1/100812/520002526/payments/ pay:ch:etu:dizeosRySJmWp3-7LFu2lw /authorization-reversals) reduces the pre-authorization amount by 15 EUR.

{
    "operationId": "e38a3e2d-3658-4d47-bb25-2b5b017aec7c",
    "transactionTimestamp": "2024-10-11T12:23:51.846Z",
    "reversalAmount": {
        "amount": 1500,
        "currencyCode": "EUR",
        "numberOfDecimals": 2
    }
}

The response below contains totalAuthorizedAmount highlighting the total authorized amount, which is reduced to 55 EUR .

{
    "operationId": "96491aec-820b-4e44-88b3-f93c342aaeec",
    "responseCode": "0",
    "responseCodeDescription": "Accepted or completed successfully",
    "responseCodeCategory": "APPROVED",
    "responder": "WORLDLINE",
    "payment": {
        "paymentId": "pay:ch:etu:dizeosRySJmWp3-7LFu2lw",
        "status": "AUTHORIZED"
    },
    "totalAuthorizedAmount": {
        "amount": 5500,
        "currencyCode": "EUR",
        "numberOfDecimals": 2
    }
}

Refer to response handling for details and decide on the next course of action.