Partial approvals

Partial approval lets a transaction be authorized for an amount different from the original request when the full amount cannot be approved. Instead of declining the payment, the issuer may authorize an adjusted amount, which could be lower or higher than requested, provided it satisfies the conditions you have specified in the partialApproval object.

The partialApproval object is a request, not a guarantee. Whether a partial approval actually occurs depends on the payment method, card type, acquirer, issuer, processor, and regional payment network rules. Sending this object does not guarantee that a partial approval will be applied.


How it works

To enable partial approval, include a partialApproval object in your payment request. This option is available through the Server-to-server API or the Hosted Payment Page API.

Server-to-server API

Add the optional partialApprovalobject under paymentSource:

{
  "paymentSource": {
    "partialApproval": {
      "amount": 25.50,
      "percentage": 10
    }
  }
}

Hosted Payment Page API

When using this method, the resulting payment page may offer multiple payment methods to the customer. The partialApproval option only applies to the payment methods that support it. Methods that don't support partial approvals process the request as a standard full-amount charge.

Add the optional partialApprovalobject under payment:

{
  "payment": {
    "partialApproval": {
      "amount": 25.50,
      "percentage": 10
    }
  }
}

Fields

FieldRequiredDescription
amountAt least one of amount or percentage is requiredThe minimum amount you're willing to accept as a partial approval
percentageAt least one of amount or percentage is requiredThe minimum percentage of the requested amount you're willing to accept

If both fields are provided, the approved amount is calculated as the specified percentage of the payment amount. However, the final approved amount will never be less than the amount value.


Result

When a transaction is processed using partial approval, the response includes a dedicated response code (1001 or 1002), and the amount field reflects the amount actually charged, not the amount you originally requested.

For transactions processed in a currency other than USD, the amountUsd field contains the USD equivalent of the amount actually charged.

If a partial approval was possible but the conditions in your partialApproval object weren't met, the transaction is declined with code 5010 (Partial approval). In this case, no charge is made.

See Partial approval response codes for the list of codes and what they mean.




Did this page help you?