HomeProduct DocsAPI ReferenceChangelog
RecurlyAPI GuidesRecurly.jsWebhooksAPI ReferenceSupportBook demo
Product Docs

Authorization and capture

Authorization and Capture lets you separate the moment you verify a subscriber's payment method from the moment you actually collect funds — giving you a window to confirm inventory, run fraud checks, or time a charge to coincide with a trial's end. This page explains how the flow works and how to implement it using Recurly's API.
Available on all Recurly plans

Prerequisites

  • Integration with Recurly's API or a supported client library
  • A compatible credit card gateway — Authorization and Capture is supported on Braintree, Stripe, Adyen, PayPal Complete, Cybersource, Authorize.net, and CardConnect. Additional gateways will be added based on merchant demand

Limitations

  • Partial captures and multiple captures are not supported
  • You cannot capture more than the originally authorized amount
  • Recurly does not automatically authorize cards before recurring subscription renewals
  • Delayed capture timing is not customizable
  • Authorization and Capture is not fully supported with third-party integrations such as Xero or QuickBooks Online

Definition

Authorization and Capture is a two-step payment flow that lets you first verify a subscriber's credit card for validity and fund availability, then collect the funds at a time that suits your business. The authorization places a hold on the funds without transferring them — the capture completes the transaction later.

Key benefits

Stronger payment security Authorize cards upfront to confirm legitimacy and fund availability before any money moves — giving you a chance to review before committing.
Flexible capture timing Capture funds when it makes sense for your business — after confirming stock for physical goods, completing a fraud review, or at the end of a free trial period.
Fewer transaction failures Catch and resolve payment issues at authorization — before fulfillment or fund movement — so you reduce failed captures and the friction that comes with them.

Key details

How authorization and capture works

Authorization and Capture separates payment verification from fund collection into a two-step flow. An authorization confirms the card is valid and the funds are available, placing a hold on the subscriber's account without transferring money. Once you're ready, a capture completes the transaction and moves the funds. If you decide not to proceed, a cancel releases the hold.

ActionWhat it does
AuthorizeSends a preliminary check to the subscriber's bank to confirm the card is valid and sufficient funds exist. Places a hold on the funds without transferring them.
CaptureCollects the authorized funds from the subscriber's account, completing the transaction.
CancelReleases the hold on the subscriber's account without collecting any funds. Use this when you decide not to proceed with a capture.

Auth and capture flow

Part 1: Initiate an authorization

1

Access the API or a client library

Connect to Recurly's API or your preferred supported client library.

2

Submit an authorize request

Send a POST request to the authorize endpoint for your API version: v3/purchases/authorize or v2/purchases/authorize.

3

Confirm transaction details

Verify that all transaction details are correctly entered before submitting.

API referenceSee the V3 Authorize or V2 Authorize documentation for full endpoint details.

Part 2: Capture the authorized amount

1

Call the capture endpoint

To collect an authorized transaction's funds, send a request to the capture endpoint: v3/purchase/{transaction_id}/capture or v2/purchases/transaction-uuid-{AUTHORIZED-TXN-UUID}/capture.

2

Include the transaction UUID

Pass the transaction UUID from the original authorization in the request.

API referenceSee the V3 Capture or V2 Capture documentation for full endpoint details.

Part 3: Cancel an authorization

1

Call the cancel endpoint

If you decide not to capture the funds, send a request to the cancel endpoint: v3/purchase/{transaction_id}/cancel or v2/purchases/transaction-uuid-{AUTHORIZED-TXN-UUID}/cancel.

2

Include the transaction UUID

Pass the transaction UUID from the original authorization to release the hold on the subscriber's account.

API referenceSee the V3 Cancel or V2 Cancel documentation for full endpoint details.