Although most authorization requests have static amounts to approve or deny, some can be partially authorized to control spending. This is useful, for example, when there are not enough funds to cover the full transaction, but you might want to cover whatever is left. Fuel dispensers often support this feature, and will stop pumping gas when the partially authorized amount is reached.
To submit partial authorizations, you must integrate your application into the authorization flow with a webhook. When you receive authorization requests, the
issuing_authorization.request events will contain a
is_held_amount_controllable boolean, and if it is set to
true, you can specify a
held_amount in the approve authorization API.
Incremental authorizations are additional authorizations that link back to an original authorization. These are common in the hotel industry, for instance, as customers stay additional days or add services to their bill.
When incremental authorizations are received, you can approve or decline them with the same webhook integration as normal authorizations. The
authorized_amount will contain the previously approved total amount, whereas the
pending_authorized_amount will denote the new, incremental authorization request.
After being approved, incremental authorizations are bundled into the original authorization and update its
held_amount to accurately reflect the new, combined totals. You can see a history of the authorization requests in the
request_history of the authorization object.
If a merchant determines that the amount previously authorized is too high and they expect to capture a lower amount of funds, they may issue a a partial reversal.
You can find partial reversals within
issuing_authorization.updated events, where the original authorization’s
held_amount will be lowered. Extraneously held funds will also be released back to your balance immediately.
At fuel dispensers, cardholders will be charged according to the amount of fuel they dispense, but this isn’t known ahead of time. The authorization flow for a fuel dispenser is initiated with an authorization for a small amount (typically 1 USD), triggering an
issuing_authorization.request event. When the cardholder finishes pumping fuel, the authorization is updated to reflect the actual amount. This update triggers an
issuing_authorization.updated event. It is not possible to reject the authorization based on its updated amount.
These authorizations have the
is_held_amount_controllable field set to
true, which means the maximum amount spent at the fuel dispenser can be limited through the approve authorization API. The default limit is 100 USD.
You may want to clearly identify fuel dispenser authorizations because a 1 USD authorization can result in 100 USD transaction. Fuel dispenser authorizations can be identified by:
merchant_data.mccis set to
is_held_amount_controllableis equal to
Read on to learn more.
Was this page helpful?