PayPal · Refund a capture — Sends money back for a captured payment — all of it, or part — refunds through your PayPal account. It is marked Moves money: on a Live connection, the customer really gets the money back. See Steps that move money.

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 PayPal connection — see Connect PayPal. Use a Sandbox one while you build.
  • The capture's id — from Capture an order as captureId, or from the trigger Payment captured as {{ trigger.id }}.

Steps

  1. Select +. In the step picker, open Apps, select PayPal, then Refund a capture. The settings open with Moves money and This step sends money out of your account.
  2. In Connection, choose your PayPal connection. Read the line under it: Live key — real money. or Test mode — Test key — no real money moves.
  3. In Capture, the capture's id — The capture's id — from Capture an order, or a trigger.
  4. In Refund, choose Full (the default) or Part. For Part, fill in Amount — 10.00 — and choose the capture's Currency.
  5. 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.
  6. Select Test run. On a Live connection, Bizomate asks first — This workflow refunds $ 10.00 with a live PayPal key. A test run pays for real. — with Refund $ 10.00 and Cancel. A full refund reads This workflow refunds a payment in full with a live PayPal key. A test run pays for real., with Refund for real.

Output

Field What it is
id PayPal's id for the refund.
status COMPLETED, or PENDING while PayPal processes it.
amount, amountCurrency, amountText 10.00, USD, $ 10.00.

Good to know

  • A retried step refunds once. Every try in the same run sends the same PayPal-Request-Id, and PayPal 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 refunds in one run — one per item — each send their own key: Bizomate adds the item's position to it, so PayPal treats each as a refund of its own.
  • When the refund completes, PayPal sends Refund completed — see Start a workflow from PayPal payment events.

If something goes wrong

What you see Why What to do
Capture is empty when the step ran — … The value it reads came out empty. Check it — an order's id is not a capture's id.
Amount is empty when the step ran — … Refund is Part with no Amount. Fill in Amount, or choose Full.
PayPal refused: … PayPal would not refund, in its own words — already refunded, more than is left, or the capture is in the other environment. Check the capture in PayPal.