Integration flow
1
Simulate the payout
Call Simulate bank payout with the amounts,
routingData and bankCountry to preview the fees, the exchange rate and the exact amount the recipient will receive — without moving funds.2
Create the payout
Call Create bank payout with the full recipient details. The order is created in
CREATED state.3
Complete OTP validation (if required)
The creation response includes
isOTPRequired. When true, complete the OTP flow before the payout is dispatched.4
Track the result
Subscribe to the payout webhooks (
payout_processing, payout_completed, payout_failed, payout_canceled) or poll Get bank payout order details.Choosing the routing type
recipient.routingData selects how the destination bank account is identified:
Not every currency is available on every routing type — it depends on what is enabled for your account. If a combination is not available, the API responds
recipient currency X is not supported for rail Y.
Amounts
All amounts are integers in minor units (25000 = 250.00 EUR).
Two more rules:
amounts.debitedAmount.currencymust always be your account’s currency, even when you only provide the received amount.amounts.receivedAmount.currencyis the currency the recipient gets, and must be a fiat currency. When it differs from the account currency, the payout includes a currency conversion (the simulation shows the applied rate).
Field reference
Human-readable description of the payout (minimum 3 characters). Shown in the order details.
Your own identifier for this payout (e.g. an invoice or batch number). Returned in order details and webhooks so you can correlate it with your systems.
Required fields by scenario
Fields always required, on every payout:description · ownReference · amounts (with exactly one non-zero amount) · recipient.routingData · recipient.accountNumber · recipient.bankCountry · recipient.beneficiaryType · recipient.document · recipient.address (all subfields)
By routing type
By beneficiary type
Complete examples
- SEPA · person
- SWIFT · business
- SWIFT · US bank
- SWIFT · Canadian bank
- WIRE · US domestic
After you create it
A successful creation returns201 with the order and the isOTPRequired flag:
isOTPRequired: true— the payout stays inCREATEDuntil you complete the OTP flow.isOTPRequired: false— the payout continues automatically.
CREATED → PENDING → SETTLED, or FAILED / CANCELED), and each transition fires the corresponding payout webhook.