- Trading: Instantly pay your supplier after a successful trade or delivery
- Marketplaces: Payout to sellers, drivers, or freelancers
- Finance: Move funds between treasury accounts or pay out interest/dividends
- Consumer: Customer withdrawals, refunds, or loyalty rewards
- Payroll: Pay out salaries, wages, or commissions
Payouts currently support fiat currencies. Stablecoin and virtual account payouts are coming soon.
How Payouts Work
1
Choose payout type
- Closed-loop: Pay a customer who has previously paid in via Ivy (reference their order)
- Open-loop: Pay any external account using their bank details (IBAN, sort code, etc.)
2
Create a payout
Use the API to specify the amount, currency, and destination (orderId or financial address).
3
Track status
Monitor payout status in the Dashboard or via webhooks. Funds usually arrive instantly, but can take up to 2 business days depending on the bank.
API Reference
To create a payout from a merchant account, use the endpoint. This endpoint lets you specify the payout-amount
, currency
, and destination
.
The destination can be a previous orderId
for closed-loop payouts or a financialAddress
for open-loop payouts. Set the orderId
field in the destination
object to send a closed-loop payout, i.e. a payout to a customer who has previously paid in money using Ivy Instant Bank Payments.
Statuses
Status | Description |
---|---|
paid | The payout has been successfully initiated and funds have left the Ivy sending account. |
failed | The payout could not be initiated. Can be caused by insufficient funds, a technical error, an invalid beneficiary, or bank rejection |
canceled | The payout flow was cancelled before being attempted. Can be caused by invalid requests, account issues, or manual cancellation by merchant admins. |
Listing and Retrieving a Payout
Dashboard
You can view all payouts in the Dashboard. To access your payouts:- Log in to the Ivy Dashboard.
- Navigate to the Payouts section to see a table of all payouts.
API
To list all payouts:Webhooks
To receive real-time updates about your payouts, set up webhook subscriptions. This allows you to automatically respond to payout status changes without polling the API.Payout Webhook Events
Event | Description |
---|---|
payout.initiated | Sent when a payout is created and processing begins |
payout.paid | Sent when the status reaches paid. Initiation succeeded and funds have been sent |
payout.failed | Sent when the status reaches failed |
Setting Up Webhooks
- Create a webhook subscription using the webhook subscription API:
- Handle incoming webhooks on your server. Each webhook contains the payout data:
- Test your webhook integration using the webhook trigger endpoint