Skip to main content
Most card payments happen in two stages. First, an authorization reserves the funds with the customer’s bank, but no money moves. Then, a capture requests those funds for settlement. With a single capture, you capture the authorization once. If you capture less than the authorized amount, the remainder is released back to the customer and can’t be claimed again. Multi captures let you claim a single authorization across more than one capture, over time. The authorization behaves like a balance you draw down until the order is complete. This suits orders fulfilled in parts, for example, when items ship separately or when an out-of-stock product becomes available later.

Single capture compared to multi captures

Single captureMulti captures
Captures per paymentOneMany
Capturing part of the amountSupported, but the rest is releasedSupported, and the rest stays available
Best suited toOrders shipped in full, in one goOrders fulfilled in parts or over time

How it works

  1. Authorize the payment for the full expected amount.
  2. Capture as you fulfil. Each time you’re ready to claim part of the balance, submit a capture for that amount. You can attach the relevant order line items to each capture and add your own identifier, so each claim reflects what was fulfilled and reconciles against your order systems.
  3. Close the payment. Mark the last capture as final. After the final capture, no further captures can be taken against the authorization, and any remaining authorized amount is released back to the customer where possible.
Each capture is recorded individually, so you keep a clear breakdown of what was claimed and when.

Tracking captures

Each capture has its own status as it progresses, and a webhook with a matching name is sent each time a capture reaches that status:
  • Pending (capture.pending) — the capture has been submitted and is awaiting confirmation.
  • Succeeded (capture.succeeded) — the funds were claimed successfully.
  • Declined (capture.declined) — the bank or payment provider declined the capture.
  • Failed (capture.failed) — the capture couldn’t be completed because of an error.
These capture.* events are sent per individual capture, so you receive one for each capture against a transaction. They’re distinct from the transaction-level transaction.captured and transaction.capture-pending events, which reflect the transaction as a whole. See Webhook events for the full list. You can view every capture associated with a payment, each with its amount, status, and timing, for a complete history of how the authorization was drawn down.

Limitations

  • Multiple captures must be enabled for your account, and your payment provider must support the feature.
  • Across all captures, you can’t claim more than the authorized amount, unless capturing more than authorized is enabled for your account, in which case a configured limit applies. Pending captures count toward what you’ve claimed, so they’re reserved while in progress.
  • Once you mark a capture as final, the authorization is complete and no further captures are possible.
  • No further capture requests are allowed once a previous capture has been declined. If a capture fails because of an error, you can attempt another capture.
  • Sync transaction doesn’t work when a transaction has more than one capture.
  • Refunds can’t be applied to an individual capture.
  • The transaction status isn’t downgraded from capture_succeeded if a later capture fails or is declined.