Online-payment icon

Partial authorizations

Allow partial authorizations to reduce declined transactions due to insufficient funds.

To reduce the number of transactions that are declined due to insufficient funds, you can integrate partial authorizations (or "partial approvals"). For partial authorizations you need to:

  • Add additionalData.allowPartialAuth true 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.

    There is no guarantee that all issuers support partial authorizations.

  • 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.

Restrictions

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.

There are no restrictions based on your Merchant Category Code (MCC).

Before you begin

Ask our Support Team to enable partial authorizations.

Make the initial payment

  1. 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, the reference of that other payment must be based on this one.
  2. 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.
  3. 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 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:

  1. 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
  2. Check that the response shows an authorisedAmountValue that is 100 (in minor units) less than the original amount.

See also