Capture Charge
stripe.capture_charge
ActionBusiness appsconnection required
Calls the Stripe API with the connection's secret key.
Capture the funds of a charge that was authorised but not captured.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Stripe
- Secret shape
- the Stripe secret key (sk_...)
- Resolved by
- config.connection_id, else node.connection_id
Configuration
4 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
charge_id The charge to act on (ch_...). Supports {{ }} expressions. | string | Yes | — | — | ch_3MmlLrLkdIwHu7ix0snN0B15 |
amount How much to capture, in the currency's minor unit (2000 = 20.00 USD). Leave blank to capture the full authorised amount; the uncaptured remainder is released. | number | No | — | ≥ 1 | — |
receipt_email Send the receipt for this capture to this address. | string | No | — | email format | — |
idempotency_key Overrides the key this node derives from the step. Set it to a business identifier (an order id, say) when the same write must not repeat across runs; leave it blank and a retry of this step reuses the step's own key. | string | No | — | ≤ 255 characters | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"charge_id": "ch_3MmlLrLkdIwHu7ix0snN0B15"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id The charge id (ch_...). | string | — |
amount Amount charged, in the currency's minor unit. | number | — |
amount_captured Amount captured so far, in the minor unit. | number | — |
amount_refunded Amount refunded so far, in the minor unit. | number | — |
currency Three-letter lowercase ISO currency code. | string | — |
status One of succeeded, pending or failed. | string | — |
paid True when the charge was paid. | boolean | — |
captured True when the authorised funds were captured. | boolean | — |
refunded True when the charge was fully refunded. | boolean | — |
customer The customer this charge belongs to, or null. | string | — |
payment_intent The PaymentIntent that created it, or null. | string | — |
description The description stored on the charge. | string | — |
receipt_url Stripe-hosted receipt page for this charge. | string | — |
failure_message Why the charge failed, when it did. | string | — |
created Creation time, as a Unix timestamp in seconds. | number | — |
{
"amount": 0,
"amount_captured": 0,
"amount_refunded": 0,
"captured": false,
"created": 0,
"currency": "",
"customer": "",
"description": "",
"failure_message": "",
"id": "",
"paid": false,
"payment_intent": "",
"receipt_url": "",
"refunded": false,
"status": ""
}Notes
- Only a charge created with capture disabled can be captured, and only within seven days of the authorisation.
See Capture Charge run in a workflow.
In a technical demo we add the Stripe connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.