Special scenarios Invite Only
Authorization patterns you may encounter.
Partial authorizations
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
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 authorized_amount
and 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.
Partial reversals
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 authorized_amount
and held_amount
will be lowered. Extraneously held funds will also be released back to your balance immediately.
Fuel dispensers
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:
authorized_amount
is100
merchant_data.mcc
is set to5542
is_held_amount_controllable
is equal totrue
Next steps
Read on to learn more.