Authorization and Capture
Place a hold on the card with authorisation now and capture funds later
Authorization and Capture is a two-step payment process that gives you flexibility in charging your customers. First, you authorize a payment to reserve funds on a customer's card, and later, you capture those funds to complete the charge.
This method is ideal when the final amount isn't known at the time of purchase, when there's a delay between order placement and fulfillment, or when you need the ability to cancel an order without a refund transaction.
Common use cases include:
- Hotels and Rentals: Authorize an estimated amount at check-in and capture the final bill at check-out.
- Pre-Orders: Authorize a payment when a pre-order is placed and capture the funds when the item ships.
- Restaurants and Bars: Authorize an amount to open a tab and capture the final amount, including tip, at the end of the service.
How it Works?
Step 1: Authorize the Payment
An authorization verifies that the customer's card is valid and has sufficient funds. No money is transferred at this stage. It simply guarantees the funds are available for you to collect later.
An authorization hold is typically valid for 7 days. If you do not capture or void the authorization within this window, it will expire automatically, and the funds will be released back to the cardholder.
How to Authorize
- To authorize a payment, make a
POSTrequest to the/checkout/v3/paymentendpoint and set theauthOnlyflag totrue.
Parameter | Required | Description |
|---|---|---|
| ✓ | Amount to charge (in USD currency) |
| ✓ | Valid Payment details eg. Card or secure Token. Refer to Card Tokenization for steps to generate a token for future use. |
| ✓ | The Merchant's unique identifier that is used to process the payment. |
| ✓ | Set to |
| ✓ | Type of transaction: |
| ✓ | Must be set to |
| The name of the customer. Recommended for guest checkout where the card is not vaulted. | |
| An object containing Point of Sale data. While optional, we highly recommend including this object for all keyed (card-not-present/online) transactions to improve approval rates and potentially lower processing fees. You can view details of the recommended POS data based on presentment type here. |
- Our system will processes the payment authorization and returns a response indicating the outcome. You can learn the outcome of the request via
GET/checkout/v3/payment/{id}or wait for the Payment webhook You can determine the result by checking thestatusandresponseCodefields in the response.status: The primary outcome of the transaction, either Approved or Declined.responseCode: A detailed code explaining the reason for the status. See our comprehensive Response code guide guide for the full list.
- For every approved payment, it is critical to store two identifiers
id: The unique Payment ID. Use this for retrieving or voiding the transaction before it settles.paymentToken: The secure Transaction Token. Use this for follow-up actions like capture or adjustments.
Step 2: Capture the Funds
Once you are ready to charge the customer (e.g., the order has shipped), you capture the previously authorized funds. This completes the transaction and moves the money into your account.
Types of Captures
You have the flexibility to capture funds in several ways:
- Full Capture: You capture the entire authorized amount in a single request.
- Example: You authorize $100 and later capture the full $100.
- When to use it:
- Standard Orders: Use this when you fulfill an order completely, with no changes to the items or final price.
- Immediate Fulfillment: When goods are shipped or services are rendered in a single event shortly after the authorization.
- Digital Goods: When a customer purchases a downloadable product, subscription, or service that is delivered instantly.
- Partial Capture: You capture less than the originally authorized amount. Any remaining funds are usually released back to the cardholder.
- Example: You authorize $100 for an order, but one item is out of stock. You capture $80 for the items that shipped, and the remaining $20 hold is voided.
- When to use it:
- Out-of-Stock Items: An e-commerce order is placed for multiple items, but one is out of stock. You capture the amount for the items that ship and the hold on the remaining amount is released.
- Order Adjustments: A customer contacts you to remove an item from their order before it has been fulfilled.
- Service Changes: A customer books a service package but decides to opt for a less expensive option before the service is performed.
- Multiple Captures: You capture the funds in several smaller transactions until you reach the total authorized amount. You can continue to perform captures until the total captured amount equals the original authorization amount.
- Example: You authorize $150. You ship the first item and capture $75. A week later, you ship the second item and capture the remaining $75.
- When to use it:
- Split Shipments: An order contains items that are shipped from different warehouses at different times. You capture the value of each shipment as it goes out.
- Phased Projects: For a project billed hourly or by milestone, you can authorize the estimated total cost upfront and capture funds as each phase is completed.
- Subscription Boxes: You authorize the cost of a three-month subscription and capture the cost of each box monthly as it is sent.
- Overcapture: You charge the customer for an amount greater than the originally authorized amount. This is typically only allowed in specific industries and is subject to card network rules, which often limit the overage to 15-20% of the original authorization.
- Example: You authorize a guest's two-night hotel stay for $500. During their stay, they incur $75 in room service charges. At checkout, you capture the final bill of $575.
- When to use it:
- Restaurants & Hospitality: To add a tip left by a customer to the original bill total.
- Hotels & Lodging: To cover incidental charges like mini-bar purchases or room service that were not included in the initial room authorization.
- Vehicle Rentals: To account for minor additional charges like fuel costs or extra mileage upon the vehicle's return.
Now that you understand the options, here is how to perform the capture.
How to Capture
- To capture a previously authorized payment, make a
POSTrequest to the/checkout/v3/paymentendpoint, referencing the original paymentpaymentToken.
| Parameter | Required | Description |
|---|---|---|
amount | ✓ | Amount to charge (in USD currency). Can be partial or full. |
merchantId | ✓ | The Merchant's unique identifier that is used to process the payment. |
tenderType | ✓ | Set to CARD for card transactions. |
paymentType | ✓ | Type of transaction: SaleCompletion |
paymentToken | ✓ | To reuse card account details securely to capture the previously authorized payment. |
- For every approved payment captures, it is critical to store two identifiers
id: The unique Payment ID. Use this for retrieving or voiding the transaction before it settles.paymentToken: The secure Transaction Token. Use this for follow-up actions like void a capture, adjustments, or initiating refunds.
Best Practices
Feature | Description |
|---|---|
Include AVS Data | Always pass Address Verification Service (AVS) data (avsZip, avsStreet) in the cardAccount object. This helps prevent fraud and can result in lower processing fees. |
Submit L2/L3 Data | For business, corporate, or government cards, providing Level 2/L3 data (like tax amount and customer code) can significantly reduce your interchange costs. |
Use Webhooks | Stay informed about the payment status asynchronously by subscribing to these webhooks:
|
Test your integration | Use our provided Test Card Data to safely test all payment scenarios, including declines and errors, in our sandbox environment. |
See Also
- Authorization Adjustment
- Void a Payment
- Capture Adjustment
- Tokenization
- Payments lifecycle
Updated 19 days ago