Search

Are you looking for test card numbers?

Would you like to contact support?

Online-payment icon

Adjust authorisation

Adjust the payment amount before it's been captured to implement tipping and other use cases.

The Adjust Authorisation modification allows you to increase or decrease the authorised amount before the payment is captured. This allows for tipping as the amount can be changed based on the tip, charging after the customer has left the premises, like charging for beverages consumed from a hotel mini-bar, and may increase the length of time you can capture an authorised payment.

Adjust Authorisation is currently available only for Discover, Mastercard, and Visa. It is restricted to certain business models that are most common in travel, public transport, and restaurant businesses.
Support is ultimately up to the issuer.

To change the amount, send a modification request to the /adjustAuthorisation endpoint. A synchronous response confirms that a modification was received, and an asynchronous notification contains the result of a modification.

The advantages of adjusted authorisation over a new authorisation:

  • The shopper will see a single charge on their bank statement (depending on the issuer).
  • Funds and liability shift are maintained while the /adjustAuthorisation is valid.

To modify the amount more than once before capturing, make multiple /adjustAuthorisation requests. Additionally, you can make a /adjustAuthorisation request with the same amount as in the original payment request to extend the authorisation period.

The API is idempotent. If you do not receive confirmation, you can retry the call and it will not affect any other transactions.

Authorisation types

For some schemes, you can set each card payment request to be handled as either a pre-authorisation or a final authorisation.

  • Pre-authorisation is used when the amount to be authorised is unknown. For example, when the customer adds a tip. This allows you to increase or decrease the amount later using the /adjustAuthorisation endpoint.
  • Final authorisation is used where a final amount is agreed up front and the transaction will definitely be captured in whole. It cannot be adjusted.

By default, Adyen handles all card payment requests as final authorisations.

To use this functionality, choose one of the following options:

  • Define a default authorisation flow at the merchant level for all card transactions. This functionality requires additional configuration on Adyen's end. To enable it, contact our Support Team
  • Manually specify the authorisation type in each payment request. For this, add an authorisationType parameter to the additionalData object. For more information, refer to authorisationType.

Step 1: Authorise a payment

Make an payment request, and additionally set:

  • additionalData.authorisationType: PreAuth.

Request

{
   "reference":"YOUR_ORDER_NUMBER",
   "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
   "paymentMethod": {
      "type": "scheme",
      "number":"4111111111111111",
      "cvc":"737",
      "expiryMonth":"10",
      "expiryYear":"2020",
      "holderName":"John Smith"
   },
   "amount":{
      "currency":"EUR",
      "value":1500
   },
   "additionalData":{
      "authorisationType":"PreAuth"
   }
}

Response

{
  "pspReference": "8884689190961333",
  "resultCode": "Authorised"
}

Step 2: Modify the amount using Adjust Authorisation

The code below illustrates the Adjust Authorisation modification. For this, pass the pspReference you received in /authorise response as the originalReference parameter for the /adjustAuthorisation.

The initial authorisation must not have been captured, cancelled, or expired.

For information on request and response parameters, refer to API Explorer.

Submit this request to the /adjustAuthorisation endpoint.

Request

{
    "merchantAccount" : "TestMerchant",
    "modificationAmount" : {
        "currency" : "EUR",
        "value" : 1700
    },
    "originalReference" : "8884689190961333",
    "reference" : "YourModificationReference"
}

Response

{
    "pspReference" : "8413547924770610",
    "response" : "[adjustAuthorisation-received]"
}

Step 3: Get the result notification

After an authorised amount has been adjusted, you will receive an asynchronous callback from Adyen with the modification result. For more information on configuring these callbacks, refer to Notifications.

{
    "live": "false",
    "currency": "EUR",
    "value": "1700",
    "eventCode": "AUTHORISATION_ADJUSTMENT",
    "eventDate": "2017-10-23T13:37:31.00Z",
    "merchantAccountCode": "TestMerchant",
    "merchantReference": "YourModificationReference",
    "operations": "",
    "originalReference": "8884689190961333",
    "paymentMethod": "visa",
    "pspReference": "8515087658508006",
    "reason": "",
    "success": "true"
}

Step 4: Capture the modified amount

Capture the payment using the pspReference of the initial authorisation. You can now capture up to the new adjusted amount.

Submit this request to the /capture endpoint.

Request

{
   "merchantAccount":"TestMerchant",
   "modificationAmount":{
      "value":1700,
      "currency":"EUR"
   },
   "originalReference":"8884689190961333",
   "reference":"YourModificationReference"
}

Response

{
   "pspReference":"8413547924770610",
   "response":"[capture-received]"
}

See also