Capture

Topics covered on this page

This document explains authorization and capture — the two steps of processing a card payment — and describes the capture types Omise supports, including Automatic Capture, Full Manual Capture, and Single Partial Capture (available only to merchants that have contracted with Omise Thailand).

Understanding Authorization and Capture

Authorization and capture are the two steps to complete card payments.

Authorization occurs when the merchant initiates a charge to a customer's card at checkout. During this process, the payment processor checks with the cardholder's bank to verify that the account has sufficient funds and is in good standing. If the account meets the criteria, the transaction amount is held pending completion. Pre-authorizing a card confirms that the payment method is valid and the cardholder is genuine, without charging the account — and it helps prevent chargebacks.

The authorization period — the time during which the authorization remains valid — determines the window in which the amount must be captured. This period depends on the country but is usually 7 days.

Capture is the process by which the transaction is completed. Funds are withdrawn from the customer account and transferred to the merchant account, moving the transaction status from pending to complete.

Types of Capture

The capture process can either be automatic or manual.

Automatic Capture

With Automatic Capture, payments are captured automatically after a configurable delay called the capture delay — the time between authorization and capture. By default, this delay is 0, so payments are captured immediately after authorization.

Manual Capture

With Manual Capture, the merchant must explicitly request a capture for each payment before the authorization expires.

Manual Capture supports the following types:

  • Full Manual Capture
  • Single Partial Capture (available only to merchants that have contracted with Omise Thailand — see note below)
  • Multiple Partial Capture (not currently supported — see Multiple Partial Capture below)

Full Manual Capture

With Full Manual Capture, the authorized amount is captured in full.

The illustrative flow is as follows:

graph TD A[Merchant initiates card authorization] --> B{Is authorization successful?} B -->|No| D[Stop] B -->|Yes| C[Deliver Goods] C --> E[Capture complete authorized amount]

Authorizing a Full Manual Capture charge

The following example authorizes a charge of THB 70 using a card token:

curl https://api.omise.co/charges \
  -u $OMISE_SECRET_KEY: \
  -d "amount=7000" \
  -d "currency=THB" \
  -d "capture=false" \
  -d "card=$TOKEN_ID"

Capturing the full authorized amount

The following example demonstrates a full capture of THB 70.

curl https://api.omise.co/charges/$FULL_UNCAPTURED_CHARGE_ID/capture \
  -u $OMISE_SECRET_KEY: \
  -d "capture_amount=7000"

Single Partial Capture

Important: Single Partial Capture is available only to merchants that have contracted with Omise Thailand.

The following example illustrates Single Partial Capture.

Suppose a customer buys goods worth THB 70. The card is authorized for THB 70. However, the merchant can deliver only THB 40 worth of goods. The final bill amount is THB 40, which is what is charged to the customer's card. The balance of THB 30 that was authorized but not charged is unblocked and released.

The transaction that charges the THB 40 to the customer's card is the Single Partial Capture.

The illustrative flow is as follows:

graph TD A[Merchant initiates card authorization] --> B{Is authorization successful?} B -->|No| D[Stop] B -->|Yes| C[Deliver some goods] C --> E[Charge card partially] E --> F[System unblocks and releases the remainder of the authorized amount]

Enabling Single Partial Capture

Single Partial Capture is enabled by default for eligible merchants — no setup is required. It's only available to merchants that have contracted with Omise Thailand; if you're unsure whether your account qualifies, contact your Omise account team.

Authorizing a Single Partial Capture charge

The following example authorizes a charge of THB 70 using a card token:

curl https://api.omise.co/charges \
  -u $OMISE_SECRET_KEY: \
  -d "amount=7000" \
  -d "currency=THB" \
  -d "capture=false" \
  -d "card=$TOKEN_ID" \
  -d "authorization_type=pre_auth"

Capturing part of the authorized amount

The following example demonstrates a Single Partial Capture of THB 40.

curl https://api.omise.co/charges/$PARTIAL_UNCAPTURED_CHARGE_ID/capture \
  -u $OMISE_SECRET_KEY: \
  -d "capture_amount=4000"

Multiple Partial Capture

At present, Omise does not support Multiple Partial Capture.

FAQ

Is Single Partial Capture enabled by default, or do I need to request it? For eligible merchants, it's enabled by default — no setup is required. However, it's only available to merchants that have contracted with Omise Thailand; contact your Omise account team if you're unsure whether your account qualifies.

Can I capture a charge more than once (multiple partial captures over time)? Not currently. Omise doesn't support Multiple Partial Capture yet, so each authorized charge can only be captured once, whether in full or as a single partial amount.

Do I need to manually release the uncaptured balance after a Single Partial Capture? No. When you capture less than the full authorized amount, Omise automatically unblocks and releases the remaining balance — no separate action is required.

Next steps

Omise uses cookies to improve your overall site experience and collect information on your visits and browsing behavior. By continuing to browse our website, you agree to our Privacy Policy. Learn more