ActionStripeUpdated June 2026

How do I refund a Stripe charge?

Short answer: Drop the "StripeCreate Refund" action anywhere in your workflow, map the inputs from upstream nodes, and publish.

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 workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Create Refund support batch operations?
Yes. Run Create Refund inside a Loop node to process arrays. Tiny Command handles Stripe's rate limits automatically so you don't have to throttle manually.
More actions

Other Stripe actions.

Action
Cancel Subscription
Cancels a Stripe subscription either immediately or at period end (cancel_at_period_end=true). The latter is the default for customer-friendly churn.
Action
Create Charge
Creates a new charge against a saved source or customer. Legacy API; for new use cases prefer Create Payment Intent to support SCA/3DS automatically.
Action
Create Checkout Session
Creates a Stripe Checkout session for collecting payments via Stripe-hosted UI. Returns a URL you redirect the customer to; handles tax, address, wallets, and SCA automatically.
Action
Create Coupon
Creates a discount coupon in Stripe (percent off or amount off, with optional max-redemptions and expiry). Used for promotions or for issuing one-off discounts.
Action
Create Customer
Creates a new Stripe customer with email, name, phone, address, and metadata. Required before creating a subscription or saving a payment method.
Action
Create Payment Intent
Creates a payment intent for collecting payment, with amount, currency, customer, and confirmation method. The modern primitive that handles SCA/3DS automatically.

Send create refund from your workflows.

Triggered by anything in the catalog. Free tier available. No credit card.