Skip to main content

Separate Authorization and Capture

When you create a payment, you can authorize an amount and capture it later. This flow is useful when you need to reserve funds before completing the charge, for example in hotels, rentals, or orders that require final confirmation.

info

Manual capture is only available for card payments in 100% API integrations. It is not available for Checkout or the embedded payment SDK.

Create the intent

Set captureMethod: "manual" when creating the payment intent.

{
"amount": 1000,
"currency": "USD",
"captureMethod": "manual"
}

Then confirm the intent with a card payment method.

If the authorization is approved, the intent moves to requires_capture. If it is declined, it returns to requires_payment_method and you can retry with another payment method.

Capture funds

To capture the authorized amount, call the payment intent capture endpoint. By default, ONVO captures the full authorized amount.

To capture less than the original amount, send amountToCapture. A partial capture automatically releases the remaining amount.

{
"amountToCapture": 750
}

If the capture succeeds, the intent moves to succeeded. If the capture fails, the intent moves to requires_payment_method and you need to start a new authorization.

Cancel an authorization

If you need to release the funds before capturing them, cancel the payment intent. If the authorization expires before capture, ONVO releases the funds and the intent moves to canceled.