To reduce the number of declined transactions due to insufficient funds, you can integrate partial authorizations (or "partial approvals"). For this feature you need to:
-
Add an
allowPartialAuth
parameter to your payment requests.
When the requested amount is higher than the amount available in the account, this parameter asks the issuing bank to return an authorization for the available amount, instead of declining the transaction. -
Keep track of how much remains to be paid.
The payment response returns the authorized amount. If this is less than the requested amount, you need to decide how to follow up the partial authorization. -
In your reconciliation process, connect multiple partial authorizations to the same transaction.
Requirements
- Be aware of the restrictions.
- Ask our Support Team to enable partial authorizations.
Restrictions
Your ability to use partial authorization is not affected by your Merchant Category Code (MCC), but there are restrictions with regard to issuers and card schemes:
-
There is no guarantee that all issuers support partial authorizations.
-
Partial authorization is supported for Visa and Mastercard payments with the following online-payments integrations:
- API-only (v69+).
- Web Drop-in or Components using the advanced flow.
You cannot use partial authorizations for Drop-in or Components with the/sessions
flow.
Make the initial payment
-
Send a /payments request specifying:
additionalData.allowPartialAuth
: set to true.reference
: your order reference. If you are going to follow up a partial authorization with another payment for the outstanding balance, thereference
of that other payment must be based on this one.
-
In the response, note the following:
resultCode
: the value PartiallyAuthorised indicates that there were insufficient funds to authorize the full amount.authorisedAmountValue
: the authorized amount. Use this to calculate the outstanding balance.
-
If only a partial amount was authorized, decide what to do next. See Follow up a partial authorization.
Follow up a partial authorization
If the initial payment didn't cover the full amount, you have the following options:
-
Prompt the shopper for a second payment method to collect the outstanding balance. Make sure that you use a
reference
that lets you connect this payment to the original partial authorization. -
Cancel the transaction.
This is possible if you use delayed capture or manual capture. Canceling the transaction removes the hold for the partially authorized amount. -
Capture the partially authorized amount and take no further action.
-
For tokenized payments, you can retry the original payment method at a later time to collect the outstanding balance.
You can combine these options. For example, you can set a minimum amount for a partial authorization and cancel the transaction if the shopper does not have sufficient funds to cover that minimum amount.
If you accept a partial authorization, the amount will be captured and the transaction is complete. Any authorization for the outstanding balance is a separate transaction.
Test partial authorizations
The test environment simulates a partially authorized amount by deducting 100 (in minor units) from the original amount. For example, if the request amount is 1139, the authorisedAmountValue
in the response is 1039.
To verify that you can process partial authorizations correctly:
-
Send a /payments request with the
additionalData.allowPartialAuth
parameter set to true, and details from one of the following cards:Test card Expiry date CVC Amount 4166 6766 6766 6746 (Visa) 03/2030 737 Any amount ending in 139 2222 4000 1000 0008 (Mastercard) 03/2030 737 Any amount ending in 139 -
Check that the response shows an
authorisedAmountValue
that is 100 (in minor units) less than the original amount.