v2

latestOpenAPI 3.1.02026-07-262279731.3 MB
Payouts

Create a Payout

Initiate a payout request from a user's wallet to a Recipient

<Note icon="fa-regular fa-circle-info"> **Note – Local Recipients can only receive local currencies**

Attempting a payout to a newly created local Recipient (with the PayoutMethodType of LocalBankTransfer) in a non-local currency may return an HTTP 400 error because the Recipient’s Country doesn’t correspond to the currency sent (for example, a USD payout sent to local SEPA Recipient).

To receive non-local currencies, create a new Recipient with PayoutMethodType of InternationalBankTransfer and retry the payout. Mangopay automatically optimizes the payout route, so if a local currency is sent to an international Recipient, the domestic rail is used.

Read more about how Mangopay routes funds </Note>

<Note icon="fa-regular fa-circle-info"> **Note – `PayoutModeRequested` property only relevant for EUR**

The PayoutModeRequested property is only relevant for EUR payouts, where the value determines which of the SEPA schemes (SCT, SCT Inst, or T2) is used.

For other currencies, Mangopay automatically uses the relevant local scheme (e.g. FPS for GBP) if the Recipient's destination country corresponds, or otherwise uses SWIFT. Read more </Note>

If your platform offers User-Owned Accounts (Virtual Account or Banking Alias) to your end users, Verification of Payee (VOP) may impact their payouts. There is no impact for platforms not offering User-Owned Accounts. Read more

post/v2.01/{ClientId}/payouts/bankwire

Path parameters

ClientIdstring required

Platform's API account identifier, associated with the API key.

Headers

Authorizationstring required

Bearer authentication of the form Bearer <token>, where token is your auth token.

If your platform is using a proxy to take SCA-triggering action on behalf of users, you also need to integrate mTLS authentication and use the api-mtls base URL.

Request body

AuthorIdstring required

The unique identifier of the user at the source of the transaction.

Best practice: When the payout author is different from the bank account owner, the Payout AuthorId value must be different from the Recipient UserId value as well. Otherwise, Mangopay’s Compliance team will reject the payout.

DebitedWalletIdstring required

The unique identifier of the debited wallet.

RecipientIdstring

The unique identifier of the Recipient object to which the payout is being requested. This property should be used by platforms integrating for the first time (and not the BankAccountId).

BankAccountIdstring

The unique identifier of the Bank Account. This property should not be used by platforms integrating for the first time – send the RecipientId instead.

Tagstring

Max. length: 255 characters

Custom data that you can add to this object.

BankWireRefstring

Max. length: 255 characters (< 12 recommended)

Custom description to appear on the user’s bank statement along with the platform name. The recommended length is 12 characters – strings longer than this may be truncated depending on the bank.

For the full structure of the string, see the <a href="/bank-statements">Customizing bank statement references</a> article.

PayoutModeRequestedstring

Possible values: STANDARD, INSTANT_PAYMENT, INSTANT_PAYMENT_ONLY, RTGS_PAYMENT

Default value: STANDARD

The mode defining how the payout request is sent:

  • STANDARDNon-EUR: Sent via the relevant local rail if the Recipient's destination country corresponds, or otherwise sent via SWIFT. Mangopay automatically routes funds via the available rails, which also determines delivery times. Requests received after the applicable cutoff are processed the next working day. EUR: Sent via the SEPA Credit Transfer scheme or SWIFT (if non-domestic).
  • INSTANT_PAYMENTEUR only: Sent via the SEPA Instant Credit Transfer scheme (funds processed within 10 seconds) with a fallback to STANDARD mode if any of the prerequisites are not met or if another issue occurs. If the payout is above the threshold agreed with Mangopay, the payout fails and there is no fallback.
  • INSTANT_PAYMENT_ONLYEUR only: sent via the SEPA Instant Credit Transfer scheme (funds processed within 10 seconds) without a fallback. If an issue occurs, the wallet automatically refunded.
  • RTGS_PAYMENTEUR only: sent via the Eurozone’s real-time gross settlement (RGTS) scheme T2 (funds processed same working day) without a fallback. If the request is received after the applicable cutoff (16:15 CET), it is processed the next working day (from 07:00 CET).
ChargeBearerstring

Possible values: SHA, OUR

Default value: SHA

The allocation of processing fees for an international SWIFT payout:

  • SHA - Fees are shared between the remitter and beneficiary. The beneficiary's share is deducted from the payout, meaning that the amount arriving on the recipient's bank account may be less than the Payout's CreditedFunds.Amount.
  • OUR - All fees are paid by the remitter. The recipient receives the full CreditedFunds.Amount of the Payout, and Mangopay recovers the fees from the platform during the billing cycle. A 400 HTTP error is returned if Mangopay's network of partners does not support OUR fees for the given currency and recipient country, or if this feature is not activated.

For non-SWIFT requests, the ChargeBearer is ignored and SHA or null is displayed by default in the response.

Response

Success

Idstring

Max length: 128 characters (see data formats for details)

The unique identifier of the object.

Tagstring

Max. length: 255 characters

Custom data that you can add to this object.

CreationDateinteger

Unix timestamp (UTC) of the date and time the object was created.

AuthorIdstring

The unique identifier of the user at the source of the transaction.

Best practice: When the payout author is different from the bank account owner, the Payout AuthorId value must be different from the Bank Account UserId value as well. Otherwise, Mangopay’s Compliance team will reject the payout.

{"stackTrail":"components:schemas:CreatePayoutResponse:properties:CreditedUserId","oasType":"schema","type":"unknown","description":"For a payout, the `CreditedUserId` is always `null` as the funds are being paid out of the Mangoapy environment."}
Statusstring

Returned values: CREATED, SUCCEEDED, FAILED

The status of the transaction.

ResultCodestring

The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.

ResultMessagestring

The explanation of the result code.

ExecutionDateinteger

Unix timestamp (UTC) of the date and time the status changed to SUCCEEDED, indicating that the transaction occurred. The statuses CREATED and FAILED return an ExecutionDate of null.

Typestring

Returned values: PAYIN, TRANSFER, CONVERSION, PAYOUT

The type of the transaction.

Naturestring

Returned values: REGULAR, REPUDIATION, REFUND, SETTLEMENT

The nature of the transaction, providing more information about the context in which the transaction occurred:

  • REGULAR – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow.
  • REPUDIATION – Automatic withdrawal of funds from the platform’s repudiation wallet as part of the dispute process (when the user has requested a chargeback).
  • REFUND – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay).
  • SETTLEMENT – Transfer made to the repudiation wallet by the platform to settle a lost dispute.
CreditedWalletIdstring

The unique identifier of the credited wallet. In the specific case of the Payout object, this value is always null since there is no credited wallet.

DebitedWalletIdstring

The unique identifier of the debited wallet.

PaymentTypestring

Returned values: BANK_WIRE

The payment type of the payout.

BankAccountIdstring

The unique identifier of the bank account.

BankWireRefstring

Max. length: 255 characters (< 12 recommended)

Custom description to appear on the user’s bank statement along with the platform name. The recommended length is 12 characters – strings longer than this may be truncated depending on the bank. For the full structure of the string, see the <a href="/bank-statements">Customizing bank statement references</a> article.

ModeRequestedstring

Returned values: STANDARD, INSTANT_PAYMENT, INSTANT_PAYMENT_ONLY, RTGS_PAYMENT

The value set for the PayoutModeRequested parameter when making the request.

ModeAppliedstring

Returned values: STANDARD, INSTANT_PAYMENT, RTGS_PAYMENT, PENDING_RESPONSE

The mode defining how the payout request is sent:

  • STANDARDNon-EUR: Sent via the relevant local rail if the Recipient's destination country corresponds, or otherwise sent via SWIFT. Mangopay automatically routes funds via the available rails, which also determines delivery times. Requests received after the applicable cutoff are processed the next working day. EUR: Sent via the SEPA Credit Transfer scheme or SWIFT (if non-domestic).
  • INSTANT_PAYMENTEUR only: Sent via the SEPA Instant Credit Transfer scheme (funds processed within 10 seconds).
  • RTGS_PAYMENTEUR only: Sent via the Eurozone’s real-time gross settlement (RGTS) scheme T2 (funds processed same working day) without a fallback. If the request is received after the applicable cutoff (16:15 CET), it is processed the next working day (from 07:00 CET).
  • PENDING_RESPONSE – Temporary state to accommodate the possible latency between the creation of the request and the mode being applied in the case of instant payment and RGTS modes.
EndToEndIdstring

The unique identifier of a bank wire for tracking purposes only.

RecipientIdstring

The unique identifier of the Recipient object to which the payout is being requested. This property should be used by platforms integrating for the first time (and not the BankAccountId).

ChargeBearerstring

Possible values: SHA, OUR

Default value: SHA

The allocation of processing fees for an international SWIFT payout:

  • SHA - SWIFT fees are shared between the remitter and beneficiary. The beneficiary's share is deducted from the payout, meaning that the amount arriving on the recipient's bank account may be less than the Payout's CreditedFunds.Amount.
  • OUR - All SWIFT fees are paid by the remitter. The recipient receives the full CreditedFunds.Amount of the Payout, and Mangopay recovers the fees from the platform during the billing cycle. A 400 HTTP error is returned if Mangopay's network of partners does not support OUR fees for the given currency and recipient country, or if this feature is not activated.

For non-SWIFT requests, the ChargeBearer is ignored and SHA or null is displayed by default in the response.