ActionStripeUpdated September 2026

How do I refund a Stripe charge?

Short answer: You can create refund in Stripe by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Stripe Create Refund action to a workflow, map its 4 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.

Create Refund in Stripe — start free
Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Charge ID
charge
stringOptionalThe charge ID to refund (e.g. ch_xxx). Provide this or Payment Intent ID.
Payment Intent ID
payment_intent
stringOptionalThe payment intent to refund (e.g. pi_xxx). Provide this or Charge ID.
Amount (cents)
amount
stringOptionalAmount in the currency's smallest unit (cents for USD/EUR, no decimals).
Reason
reason
optionsOptionalReason for the refund (shown to the customer)
Sample request
{
"charge": "ch_1234567890",
"payment_intent": "pi_1234567890",
"amount": "e.g. 500 for $5.00",
"reason": "{{trigger.reason}}"
}
Returns
{
"id": "re_abc123",
"amount": 500,
"charge": "ch_1234567890",
"object": "refund",
"status": "succeeded",
"created": 1700000000,
"currency": "usd"
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Create Refund.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Create Refund.

What does the Create Refund action do in Stripe?
Refunds a charge or payment intent, fully or partially, with optional reason. The processing fee is generally not returned on refunds.
What inputs does Create Refund require?
Create Refund has no required inputs. Sensible defaults are applied if you leave fields blank.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Stripe returns an error?
The run history shows the failed step with its input and the error message Stripe returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Create Refund support batch operations?
Run Create Refund inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within Stripe's rate limits.
More actions

Other Stripe actions.

Create Refund in Stripe — start free