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](/guides/payouts#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](/guides/payouts#how-mangopay-routes-funds) **&rarr;** </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](/guides/vop) **&rarr;**

Authentication

AuthorizationBearer
Bearer authentication of the form `Bearer <token>`, where token is your auth token. If your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL.

Path parameters

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

Request

This endpoint expects an object.
AuthorIdstringRequired

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.

DebitedFundsobjectRequired
Information about the debited funds.
FeesobjectRequired
Information about the fees.
DebitedWalletIdstringRequired
The unique identifier of the debited wallet.
RecipientIdstringOptional

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).

BankAccountIdstringOptional

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

TagstringOptional

Max. length: 255 characters

Custom data that you can add to this object.

BankWireRefstringOptional

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 Customizing bank statement references article.

PayoutModeRequestedstringOptional

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).
PaymentRefobject or nullOptional

Information about the payment reference provided for the payout.

This object must be used to provide the reference of a bank wire pay-in or a pay-in to virtual IBAN, if the payout is being used to refund it.

ChargeBearerstringOptional

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.

CreditedUserIdany

For a payout, the CreditedUserId is always null as the funds are being paid out of the Mangoapy environment.

DebitedFundsobject
Information about the debited funds.
CreditedFundsobject

Information about the credited funds (CreditedFunds = DebitedFunds - Fees).

Feesobject
Information about the fees.
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 handle errors 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 Customizing bank statement references 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.
FallbackReasonobject or null
Information regarding the reason for the refusal of the instant payout request.
EndToEndIdstring
The unique identifier of a bank wire for tracking purposes only.
PaymentRefobject or null

Information about the payment reference provided for the payout.

This object must be used to provide the reference of a bank wire pay-in or a pay-in to virtual IBAN, if the payout is being used to refund it.

RecipientVerificationOfPayeeobject or null

Information about the Verification of Payee (VOP) check performed on the Recipient as part of a Payout request. Because VOP only applies to SEPA local schemes, this object is returned null if the Recipient’s Currency is not EUR or its PayoutMethodType is not LocalBankTransfer.

Unlike Recipient endpoints, RecipientVerificationPayeeSuggestedName is not returned on Payout responses, even if the result is CLOSE_MATCH.

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.

Errors

400
Bad Request Error