When a card is used to make a purchase, an authorization request is made which is approved or declined based on the following steps:
- Stripe checks that the balance used for Issuing has sufficient funds, that the card is active, and that your spending controls allow the authorization.
- Stripe sends an
issuing_authorization.requestwebhook event, letting you know we’re awaiting a decision about an authorization
- Before closing the
issuing_authorization.requestevent, you can approve or decline the authorization
- If you do not approve or decline the authorization within 2 seconds, Stripe uses your default settings to approve or decline the authorization
- Stripe sends an
issuing_authorization.createdwebhook event, letting you know the Authorization has been created
When Stripe receives an authorization request, we send an
issuing_authorization.created webhook event. If you approve the authorization, we deduct the
amount from your Issuing balance and hold it in reserve until the authorization is either captured, voided, or expired without capture. If you decline the authorization, the status is set to
closed and we don’t place any holds.
When the authorization is captured, a transaction is created and the
status of the authorization is set to
If the authorization request is voided or not captured in a timely manner, we send an
issuing_authorization.updated webhook event with its
status set to
reversed. We add the voided amount back to your Issuing balance, essentially undoing the balance impact of the original authorization. For authorizations not captured in a timely manner, the
amount field may be non-zero, representing any remaining amount authorized for possible late captures.
Purchases in different currencies
Cards can be used for purchases in any currency that the card network supports. Stripe automatically converts the currency of the purchase into the card’s currency when holding funds, using the card network’s daily rate.
merchant_amount represents the cost of the purchase in the local currency. The
amount field represents the expected amount of the
Transaction in the card’s currency and is not final until the
Authorization has been captured.
Handling other authorizations
In addition to regular authorizations, there are a few other cases that you should be ready to handle.