← All releases

Reserve funds at checkout, capture at dispatch

Authorize an eligible one-time card payment at checkout, then capture the full amount when the order is ready to dispatch.

Checkout APISDKDemo

Merchants can now reserve the final amount of an eligible one-time card purchase at checkout and collect it when the order is ready to dispatch. This brings payment collection closer to fulfilment while confirming that funds are available earlier in the journey.

Immediate capture remains the default, so existing checkout integrations continue to behave as before. Manual capture is enabled only when you request it for a supported checkout.

Authorize at checkout

Send captureMethod: 'manual' with POST /v1/checkouts/sessions to authorize the final total after sale pricing and coupons. An accepted hold returns an authorized status together with paymentId and authorizationExpiresAt, giving your integration the information it needs to reconcile the order and act before the hold expires.

The manual-capture option is available across the Node, browser, detached, inline, and React session-creation APIs in Flopay SDK 1.4.20.

Capture or release the hold

When fulfilment is confirmed, call PUT /v1/payments/{paymentId}/capture from trusted server code to capture the full authorized amount. If the order will not proceed, call PUT /v1/payments/{paymentId}/cancel to release the hold without collecting funds. Both actions are idempotent, making retries safe.

What's included

  • Checkout API — Manual capture at session creation, authorization status and expiry details, full capture and cancellation endpoints, and webhook events for authorization, failed capture, void, and expiry.
  • SDK — Manual capture support across checkout integrations, an authorized result, the payment identifier and expiry time, and stable authorization outcomes.
  • Demo — An end-to-end manual-capture journey showing authorization at checkout and capture later.

Developer notes

Upgrade Flopay SDK packages to 1.4.20 before enabling manual capture. TypeScript integrations that exhaustively check payment or checkout statuses must add an authorized branch. Manual capture is not supported for subscription carts, and each authorized payment can be captured only once for the full amount. There are no removed APIs or merchant data migrations.

Why it matters

You can confirm funds when the customer orders, then charge only when stock and fulfilment are ready. Developers get explicit lifecycle signals and trusted-server operations for acting on the same payment state.

Implementation guide

Follow the full pre-authorization and capture guide to hold funds without charging immediately.

Read the guide

See Pre-Auth in action

See the pre-auth in action via the FloPay demo portal.

Open the demo