---
name: handle-payouts
description: Pay sellers, vendors and marketplace recipients out of a Fynex balance. Use when the user wants to pay sellers, send money to a vendor or supplier, withdraw a balance to a bank account, schedule payouts, or work out why a payout failed. Covers creating a payout, which balance it draws on, SEPA and Faster Payments routing, cancelling one before it leaves, and the failure codes with whether a retry can succeed.
---

# Pay out with Fynex

A payout moves money from one of your wallets to a payee's registered bank account.

## The shape

- `POST /payments-api/v1/payouts` — create one.
- `GET /payments-api/v1/payouts/{id}` — poll it, or subscribe to the webhook instead.
- `POST /payments-api/v1/payouts/{id}/cancel` — while it is still cancellable.
- `POST /payments-api/v1/payees/{payee_id}/payouts` — pay a payee without naming a wallet;
  the wallet and currency are resolved from the payout method.

## Check the right balance first

A wallet reports several. The one that decides whether a payout can be created is
**`withdrawableBalanceMinor`**, not `availableBalanceMinor`: available includes settled
funds still inside the maturity hold. Using available will overstate what you can send.

`heldBalanceMinor` is money already committed to an in-flight payout. It returns to
available if that payout fails — every failure path releases the hold, so a failed payout
never strands money.

## Rails

EUR IBAN uses SEPA. GBP `uk_local` uses Faster Payments. GBP/USD IBAN goes cross-border.
You do not choose: Fynex selects from the destination details. `bankAccountType` on the
payout tells you which identifier format was used, not which rail ran.

## When one fails

Read `failureCode`. **No payout failure is fixed by re-sending the same request** — treat a
failed payout as terminal, tell the seller what `failureMessage` says, and create a new
payout only once the cause is addressed. Some causes are yours to fix (an inactive payout
method, a blocked destination); some are ours (contact support rather than retrying).

Amounts: `amountMinor` is minor units (`1250` = 12.50), `amount` is the decimal string
form of the same value.

## Read next

- [Payouts guide](/payments-api/v2/docs/payouts.md) · [Wallets](/payments-api/v2/docs/wallets.md)
- [Errors and failure codes](/payments-api/v2/docs/errors.md)
- [OpenAPI document](/payments-api/v2/openapi.json) · [Agent index](/payments-api/v2/llms.txt)
