Two-Step Manual Capture

A Two-Step Manual Capture payment separates authorization from capture, allowing the merchant to first place a hold on the customer’s funds and later capture them when business conditions are satisfied. This pattern is widely used in physical goods commerce, marketplaces, travel, hospitality, and any scenario where fulfillment does not happen immediately at checkout.
In this flow, the defining parameter is capture_method: "manual" in the POST /payments request. When the merchant also sets confirm: true, Hyperswitch immediately attempts authorization with the processor but instead of capturing funds automatically, it performs an authorize-only transaction. If the processor approves the authorization, the funds are placed on hold and the payment transitions to the RequiresCapture state.
Conceptually, the lifecycle looks like this:
RequiresPaymentMethod → RequiresConfirmation → Processing → RequiresCapture
At this stage, the payment is authorized but not yet settled. The customer’s funds are reserved, but no money has actually moved to the merchant. The payment will remain in RequiresCapture until one of three things happens:
The merchant captures the payment.
The merchant cancels (voids) the authorization.
The authorization expires.
Once goods are shipped, inventory is confirmed, fraud checks are completed, or operational review is done, the merchant triggers the second step using: POST /payments/{id}/capture
This call instructs Hyperswitch to capture the previously authorized funds. If the processor successfully settles the transaction, the payment transitions from:
RequiresCapture → Processing → Successful
This clean separation between authorization and capture gives merchants operational flexibility. They can:
Ship goods before capturing.
Adjust fulfillment timing.
Perform manual fraud review.
Partially capture if required (covered later).
Void the authorization if the order is cancelled.
State-wise, the key distinction from Instant Payment is the intermediate RequiresCapture state. The lifecycle still follows the same fundamental state machine but now the merchant explicitly controls when the payment moves into settlement.
This two-step model is the foundation for more advanced flows like partial captures, split shipments, and post-authorization adjustments.
Last updated