Issuing transactions
Learn how to use Issuing to handle transactions.
After an authorization is approved and is captured, the status
on the authorization is set to closed
and a Transaction object is created. This normally happens within 24 hours; however hotels, airlines, and car rental companies are able to capture up to 31 days after authorization.
When an authorization is captured, two things happen.
- The
status
on the authorization is set to closed
, releasing the purchase amount held by that authorization. A balance transaction of type issuing_authorization_release
is created to represent this. - A new transaction object of type
capture
is created. The purchase amount is deducted from the balance you’re using for Issuing.
Spending controls, real time authorization controls, and card status (whether a card is active or not) don’t apply for capture. They can be used to determine whether authorizations are approved, but captures for approved authorizations always succeed.
Handling other transactions
In addition to regular transactions, there are a few other cases that you should be ready to handle.
Businesses in some merchant categories (including vehicle rentals, bars and restaurants, and ground transportation) won’t know the final transaction amount at the time of authorization. These businesses can authorize a card for an amount and then capture funds greater than that amount.
For example, a restaurant often authorizes a charge for the bill amount and then captures an amount that includes the tip. In this case, the authorized amount is a relatively close estimate of the amount to be captured. However, in a case such as ground transportation, the authorized amount is typically a minimal amount, whereas the captured amount reflects the actual transaction by the cardholder.
Sometimes the additional amount captured is excessive and could be the result of fraudulent behavior. It’s up to you (or your cardholder) to recognize when this is the case and dispute illegitimate transactions. Because over capturing is often legitimate, you can’t block these transactions.
Testing
To simulate the capture of an authorization above the authorized amount, you can use the Authorization Capture API in the Issuing test helpers.
curl https://api.stripe.com/v1/test_helpers/issuing/authorizations//capture \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d capture_amount=1000