Capture exactly the immutable bill amount
post/payment/{service}/v1/tenants/{tenant_id}/payments/{payment_id}/capture
Requires an API key
No amount body. Over-hold bills are rejected with bill_exceeds_hold (and an operator alert) rather than silently undercharged. Zero bills release the hold, and so does the Stripe adapter for bills below Stripe's 50-cent minimum charge, which it cannot collect: the payment ends canceled with captured_minor 0. Use the same payment ID and idempotency key on retry.
Path parameters
- tenant_idintegerRequired
- servicestringRequired
- payment_idstringRequired
Headers
- idempotency-keystringRequired
Returns · 200
- idstringRequired
- bill_idstringRequired
- tenant_idintegerRequired
- servicestringRequired
- statusenumRequiredOne of
preparing,pending,authorized,captured,canceled,refund_pending,refund_failed,refunded - hold_minorintegerRequired
- captured_minorintegerRequired
- refunded_minorintegerRequired
- currencystringDefault
"USD" - payment_modeenumRequiredlive only for a Stripe payment taken in live mode on a connected account, as the provider recorded it at authorization; test otherwise.One of
test,live - authorized_atstring (date-time) | nullWhen Stripe authorized the hold (the Charge's creation time); null before authorization and for the simulator.
- next_actionobject | nullRequired
POST /payment/{service}/v1/tenants/{tenant_id}/payments/{payment_id}/capture
curl --fail-with-body -X POST "https://api.ivoracharge.com/payment/simulator/v1/tenants/1042/payments/payment_0123456789abcdef/capture" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Idempotency-Key: order-2026-09-30-0001"Response · 200
{
"id": "id_0123456789abcdef",
"bill_id": "bill_0123456789abcdef",
"tenant_id": 1042,
"service": "simulator",
"status": "preparing",
"hold_minor": 1250,
"captured_minor": 1250,
"refunded_minor": 1250,
"currency": "USD",
"payment_mode": "test",
"authorized_at": "2026-09-30T17:00:00Z",
"next_action": {}
}Try it is not available here yetRequests from this page are off until the production API at
https://api.ivoracharge.com is public. Use the code samples from your application server; Ivora grants production access. Keys are created in Developer tools.