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

  1. To authorize a payment, make a POST request to the /checkout/v3/payment endpoint and set the authOnly flag to true.

Parameter

Required

Description

amount

Amount to charge (in USD currency)

cardAccount

Valid Payment details eg. Card or secure Token. Refer to Card Tokenization for steps to generate a token for future use.

merchantId

The Merchant's unique identifier that is used to process the payment.

tenderType

Set to CARD for card transactions.

paymentType

Type of transaction: Authorization

authOnly

Must be set to true to perform an authorization without capturing.

customerName

The name of the customer. Recommended for guest checkout where the card is not vaulted.

posData

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.


  1. 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 the status and responseCode fields in the response.
    1. status: The primary outcome of the transaction, either Approved or Declined.
    2. responseCode: A detailed code explaining the reason for the status. See our comprehensive Response code guide guide for the full list.
  2. For every approved payment, it is critical to store two identifiers
    1. id : The unique Payment ID. Use this for retrieving or voiding the transaction before it settles.
    2. 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:

  1. Full Capture: You capture the entire authorized amount in a single request.
    1. Example: You authorize $100 and later capture the full $100.
    2. When to use it:
      1. Standard Orders: Use this when you fulfill an order completely, with no changes to the items or final price.
      2. Immediate Fulfillment: When goods are shipped or services are rendered in a single event shortly after the authorization.
      3. Digital Goods: When a customer purchases a downloadable product, subscription, or service that is delivered instantly.
  2. Partial Capture: You capture less than the originally authorized amount. Any remaining funds are usually released back to the cardholder.
    1. 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.
    2. When to use it:
      1. 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.
      2. Order Adjustments: A customer contacts you to remove an item from their order before it has been fulfilled.
      3. Service Changes: A customer books a service package but decides to opt for a less expensive option before the service is performed.
  3. 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.
    1. 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.
    2. When to use it:
      1. 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.
      2. 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.
      3. Subscription Boxes: You authorize the cost of a three-month subscription and capture the cost of each box monthly as it is sent.
  4. 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.
    1. 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.
    2. When to use it:
      1. Restaurants & Hospitality: To add a tip left by a customer to the original bill total.
      2. Hotels & Lodging: To cover incidental charges like mini-bar purchases or room service that were not included in the initial room authorization.
      3. 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

  1. To capture a previously authorized payment, make a POST request to the /checkout/v3/payment endpoint, referencing the original payment paymentToken.
ParameterRequiredDescription
amountAmount to charge (in USD currency). Can be partial or full.
merchantIdThe Merchant's unique identifier that is used to process the payment.
tenderTypeSet to CARD for card transactions.
paymentTypeType of transaction: SaleCompletion
paymentTokenTo reuse card account details securely to capture the previously authorized payment.
  1. For every approved payment captures, it is critical to store two identifiers
    1. id : The unique Payment ID. Use this for retrieving or voiding the transaction before it settles.
    2. 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


© 2025 Priority Technology Holdings LLC. All rights reserved.