- Stripe · Create a refund — Sends money back for a payment — all of it, or part. It is marked Moves money: with a live key, the customer really gets the money back. See Steps that move money.
- Stripe · Retrieve a charge or payment — A charge's or payment intent's status and amount.
Who can do this
Workspace Admins and Editors, on every plan. Viewers see the step's settings but cannot change them.
Before you start
- A Stripe connection — see Connect Stripe. Use one with a test key while you build.
- The payment's id — a payment intent (
pi_…) or a charge (ch_…) — usually from a Stripe trigger, as{{ trigger.id }}.
Steps
Create a refund:
- Select +. In the step picker, open Apps, select Stripe, then Create a refund. The settings open with the Moves money tag and This step sends money out of your account.
- In Connection, choose your Stripe connection. Read the line under it: Live key — real money. or Test mode — Test key — no real money moves.
- In Payment, the payment or charge — The payment or charge to refund — from a trigger or an earlier step. An id starting
ch_is refunded as a charge; anything else as a payment intent. - In Refund, choose Full (the default) or Part. For Part, fill in Amount — In the currency's main unit; Bizomate sends the smallest. — and choose the payment's Currency.
- Optional: in Reason, choose Asked for by the customer, Duplicate or Fraudulent. None sends no reason.
- Leave Idempotency key as
{{ run.id }}— A retry of this step sends the same key, so the service pays once. Run again, Test run and Run this step start a new run with a new key, and pay again. Bizomate adds the step's id, and the item's position, to it. - Optional: under Metadata, add names and values Stripe keeps with the refund.
- Select Test run. With a live key, Bizomate asks first — This workflow refunds ₹ 500.00 with a live Stripe key. A test run pays for real. — and the red button, Refund ₹ 500.00, starts the test run, which refunds for real. Cancel runs nothing.
Retrieve a charge or payment:
- In the step picker, under Stripe, select Retrieve a charge or payment.
- In Connection, choose your Stripe connection.
- In Charge or payment, an id starting
pi_orch_. - Select Run this step.
Output
Create a refund
| Field | What it is |
|---|---|
id |
Stripe's id for the refund — starts re_. |
status |
succeeded, pending or failed. |
amount, amountMain, amountText |
50000, 500, ₹ 500.00. |
currency |
inr. |
paymentIntent, charge |
What was refunded. |
Retrieve a charge or payment
| Field | What it is |
|---|---|
id, status |
The payment's id and status — succeeded, requires_payment_method … |
amount, amountMain, amountText |
The amount. |
amountReceived, amountReceivedMain, amountReceivedText |
For a payment intent: what was received. |
amountRefunded, amountRefundedMain, amountRefundedText |
For a charge: what has been refunded. |
currency, customer, description, email |
As Stripe has them. |
createdAt |
When it was made, in UTC. |
Good to know
- A retried step refunds once. Every try in the same run sends Stripe the same
Idempotency-Key, and Stripe answers a repeat with the first refund. - Run again, Test run and Run this step refund again — each is a new run, with a new key.
- Several items in one run. The step runs once per item, and each item sends its own key — Bizomate adds the item's position to it — so several refunds in one run each go through.
- Once per order. To refund an order only once, whatever run does it, use a value from the trigger as the key.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| Payment is empty when the step ran — … | Payment reads a value that came out empty. | Check the value it reads. |
| Amount is empty when the step ran — … | Refund is Part with no Amount. | Fill in Amount, or choose Full. |
| Charge or payment is neither a charge (ch_…) nor a payment (pi_…). | Retrieve was given another kind of id. | Give a pi_ or ch_ id. |
| Stripe refused: … about a refund | Stripe would not refund, in its own words — already refunded, more than is left, or the payment is in the other mode. | Retrieve the payment and check it. |
| Stripe refused: Keys for idempotent requests can only be used with the same parameters they were first used with. … | A key of your own was used in an earlier run for a different refund — for example a fixed value. | Use a key that names the refund's payment or order, such as {{ $json.id }}. |