Pre-auth Transaction Types
This page provides a guide to pre-authorization and authorization adjustments.
Pre-authorization and authorization adjustments
When it is required to adjust the authorized amount before the capture, it can be done by implementing pre-authorization. In pre-authorization payment flow you can increase or decrease the authorized amount if you do not know the final amount to be captured when the transaction begins.
Authorization types for order adjustments:
- Pre-authorization is intended for use cases where the final amount to be captured is not yet known, and you may need to increase or decrease the amount at a later stage.
- Incremental authorization allows you to increase the total authorized amount before you capture it if the authorized amount appears to be insufficient. This is helpful in situations where the total price of goods or services changes. Multiple incremental authorizations can be performed throughout the duration of the transaction.
- Reversal authorization is used to partially reverse the authorization if the final capture amount is less than the estimated authorized amount.
Pre-authorization, incremental and reversal authorizations are currently available only for Visa and Mastercard and through Nets Nordic acquiring only. See Availability for more information.
Use cases
There are several common use case scenarios for pre-authorizations and authorization adjustments via card, especially within the travel and hospitality sector
Here is an example use case for hotels:
- Customer checks in at a hotel, hotel sends a pre-authorization request for the room use and at the same time saves the card details for possible future charges.
- Customer decides to extend the stay with an additional night; hotel will add these new expanses to the payment and therefore sends incremental authorization to increase the total authorized amount.
- Customer checks out from the hotel; the final amount is lower than the authorized amount so hotel processes reversal for the difference and then captures the final amount.
- If necessary, the hotel processes delayed charge for the customer card after the customer has left, such as mini-bar charge, using the customer's stored payment details.
How to use pre-authorization
This section offers a comprehensive, step-by-step guide on performing pre-authorization payments and making authorization adjustments.
Step 1: Initiating a pre-authorization payment
There are two approaches to initiate the pre-authorization payment flow: adding the authType=PreAuth
parameter in the Register call, or the Process(Auth) call.
1. Register Call
Send Register call, indicate the use of pre-authorization by including the API parameter authType=PreAuth
.
AuthType=PreAuth
Following this, when you execute the Process(Auth) call, it will automatically trigger authorization in the form of pre-authorization.
This option should be used when generating payment links through API and including autoAuth=true
or autoSale=true
in the Register call.
2. Process Call
Start the payment flow with the Register call without including the AuthType
parameter. Instead, for the Process(Auth) call include the AuthType=PreAuth
parameter.
operation=Auth
andAuthType=PreAuth
Current authorized amount is displayed in the Query call response parameter: authorizedAmount
, it is the sum of preAuth
, incrementalAuth
and reversalAuth
.
Step 2: Adjusting the authorization (Optional)
After you have pre-authorized an amount, you may modify it based on your requirements.
Increasing the authorized amount
If the customer spends more than initially expected, you can obtain an additional authorization by using an incremental authorization request. When performing an incremental authorization, specify the following parameters in the Process(Auth) call:
operation=Auth
andAuthType=IncrementalAuth
andTransactionamount=[additional authorization amount]
An incremental authorization request must only be initiated after a pre-authorization or another incremental authorization.
The Transactionamount
field is a mandatory requirement for an incremental authorization.
Decreasing the authorized amount
If the estimated authorization exceeds the final amount, you must reduce the authorized amount before capturing by using a partial authorization reversal. Please note that a reversal authorization request can only be used if it has been preceded by an incremental authorization. When performing a reversal authorization, specify the following parameters in the Process(Auth) call:
operation=Auth
andAuthType=ReversalAuth
andTransactionamount=[reversed authorization amount]
If the transaction amount is not specified, the entire authorized amount will be reversed.
If you haven't modified the initial pre-authorization, and the final amount is less than the estimated amount, proceed to Step 3 to complete the payment and initiate a reversal for the difference with isFinalCapture=true
.
Step 3: Finalizing the pre-authorized payment
After making your final authorization adjustment, you need to capture the payment to complete the transaction. Capture the final amount using the Process(Capture) call.
If you haven't adjusted the initial pre-authorization, and the final amount is lower than the authorized amount, you will need to include the isFinalCapture=true
parameter in the Capture call to release the remaining authorization hold.
If you need to charge the customer for an additional amount after they have left, and you have stored the customer's payment details with the pre-authorization transaction, you can process these additional charges by performing an MIT (Merchant Initiated Transaction) using the token (panhash). Please refer to the Merchant-Initiated Transactions section for more information.
Technical flow
Below are the technical flows for different approaches to specifying pre-authorization, either in the Register or Process call.
Register Call
Pre-authorization is defined in the Register call.
Process Call
Pre-authorization is defined in the Process call.
Availability
Currently you can use these authorization types only with Visa and Mastercard and through Nets Nordic acquiring.
Availability by merchant category
Visa and Mastercard permit all merchants to submit estimated (pre-authorization), incremental authorizations and reversals for purchase transactions. Estimated and incremental authorizations add significant value to merchants by allowing them to secure approved cardholder funds before any goods or services are consumed.
Examples of industries where these are commonly used are the travel and hospitality sector, car rental and electric vehicle charging. Certain transaction types will be excluded, including account funding transactions (AFTs) and cryptocurrency purchases.
Automated Fuel Dispenser (AFD) transactions have a customized authorization framework. Therefore, these authorization types cannot be used to implement the AFD payment flow. For more information on best practices for processing AFD transactions, see here.
Validity
The card schemes have their own rules concerning the authorization validity period in which transaction should be captured. After this period has exceeded, the issuer is not required to to approve the capture request.
You can often capture a payment successfully after the authorization has expired but it is good to note that this increases the risks of rejecting the transaction later and may increase the fees the acquirer charges for the transaction.
Incremental authorizations do not extend authorization validity periods.
The expiry information for pre-authorization for Visa and Mastercard can be seen in the table below:
Scheme | Authorization Type | Merchant category | Validity |
---|---|---|---|
Mastercard | Pre-auth | All | 30 days |
Visa | Pre-auth | All | 7 days |
Visa | Pre-auth | Cruise Lines, Lodging, Vehicle rental | 31 days |