Manual Capture
Available via: API only (private key), card payments
Authorize Now, Capture Later
By default, card payments are captured immediately (captureMode: "AUTOMATIC"). With manual capture, the payment is only authorized — the funds are reserved on the customer's card but not taken — and you capture them later, when you're ready (e.g. when the order ships).
Step 1: Create the Payment With Manual Capture
Set captureMode: "MANUAL" when creating the payment:
curl -X POST https://api.inflowpay.xyz/api/server/payment \
-H "X-Inflow-Api-Key: inflow_prod_your_key" \
-H "Content-Type: application/json" \
-d '{
"products": [{ "name": "Pre-order", "price": 4999, "quantity": 1 }],
"currency": "EUR",
"customerEmail": "[email protected]",
"billingCountry": "FR",
"purchasingAsBusiness": false,
"captureMode": "MANUAL"
}'This works with the SDK flow too — the customer completes the card form as usual; the payment simply stops at authorization instead of being captured.
Step 2: Wait for Authorization
Once the customer completes the payment, the payment reaches the CHECKOUT_AUTHORIZED status: the funds are reserved but not captured.
Step 3: Capture the Funds
curl -X POST https://api.inflowpay.xyz/api/payment/{paymentId}/capture \
-H "X-Inflow-Api-Key: inflow_prod_your_key"The full authorized amount is captured and the payment continues through the normal settlement flow (PAYMENT_SUCCESS, balance credit, webhooks).
Notes
- The payment must be in
CHECKOUT_AUTHORIZEDstatus to be captured. - Card networks limit how long an authorization can be held (typically around 7 days) — capture before it expires, or the reservation is released.
CHECKOUT_AUTHORIZEDhas no dedicated webhook event; pollGET /api/payment/{paymentId}or capture from your own order workflow.