Table of Contents
- Overview
- What are Partial Approvals?
- Limitations of Partial Approvals
- Configuring Payment Device SDK for Partial Approvals
- How to Handle a Partial Approval
Overview
This article provides a top-level explanation of Partial Approvals, their purpose, limitations, and describes the process of programmatically handling Partial Approval callbacks using Payment Device SDK Windows & Linux.
What are Partial Approvals?
In the instance there are not enough funds to authorise the full amount requested, Partial Approvals allow for the card issuer to authorise funds for amounts under the full amount requested.
Limitations of Partial Approvals
Partial Approvals are limited in their scope in the following ways utilising a Payment Device SDK Windows & Linux solution:
- Requires at least the following versions of Payment Device SDK to support the relevant devices:
- Payment Device SDK Windows & Linux 1.6
- Verifone XPI
- Ingenico RBA
- Ingenico UPP
- Payment Device SDK Windows & Linux 1.7
- Verifone VIPA
- Payment Device SDK Windows & Linux 1.6
Partial Approvals are only supported in the US.
Partial approvals are a standard requirement across all processors that support EMV in the US, however, it is up to the card issuer to authorise for a partial amount. Payment Device SDK nor NMI can confirm whether a card is capable of partial approval until after the transaction has transpired.
Configuring Payment Device SDK for Partial Approvals
The Payment Device SDK does not require any integration configuration to enable if the requirements are met, however, Partial Approvals will not be offered unless enabled against the Affiliate account or either Terminal Group or Terminals. As such, if Partial Approvals are required, please ensure you contact NMI support.
On the staging platform, the special amount 10.27
and 47.27
can be used to simulate and test Partial Approvals, and will authorise for 10.00
and 40.00
respectively.
How to Handle a Partial Approval
A Partial Approval is indicated by the presence of PARTIALLY_APPROVED
in the TRANSACTION_RESULT
key within the Transaction Finished Event Parameters
after an initial transaction. The TOTAL_AMOUNT
key in Payment Device SDK Windows & Linux will indicate how much was successfully authorised by the card-issuing bank, resulting in an authorisation against this card for the amount returned.
Your integration will then be required to process the remaining amount; this can be done in a variety of ways, such as offering to process the remainder as cash or initiating another card transaction for the remaining funds required.
If the customer chooses to terminate the transaction and not continue, you will need to issue a void for the partially approved transaction to ensure the transaction is marked not to go for settlement. If the customer continues with payment via other means, and successful closure of the transaction is met, you will need to confirm the initial Partial Approval, and in the instance where a second transaction is processed with a different card, the second authorisation will also need to be confirmed.