A payout is the process of withdrawing funds from the Mangopay environment to an external bank account opened in the name of the Mangopay account holder.

As detailed in the prerequisites below, the user must be verified (their KYCLevel must be REGULAR) and the bank account must be valid and in their name.

How Mangopay sends funds

How Mangopay sends a payout is determined by:

1. The user’s bank account and its type

Bank accounts in the API have a different Type depending on the country of registration of the account, and different information is required for each to reflect local formats (see prerequisites below).

The country of registration of a bank account is not linked to its currency. For example, a EUR payout to an account registered in the US requires a US-type account. A CAD payout to an account registered in Italy requires an IBAN-type account.

2. The currency of the payout

Mangopay can send payouts in a wide range of currencies – see the currencies page for details.

Receiving banks can be anywhere in the world. The currency of the payout combines with the account type to determine whether the bank wire is sent locally or internationally, which impacts processing times and costs.

For more information, see the bank wire glossary definition and pricing page.

3. The mode requested by the platform (if EUR in SEPA)

If the payout is in EUR in the SEPA zone, platforms can choose to request an Instant Payout or not. There are two modes of payout:

  • Standard - For all currencies and all bank account types, a request to send funds by the quickest route available (see processing times below).
  • Instant payment - For EUR in SEPA (only), a request to send funds as an SEPA Instant Credit Transfer (in about 25 seconds, see instant payout below).

Basic flow

Mangopay’s e-wallet system allows users of the Owner category to hold funds in their wallets. The user must be verified to withdraw funds to their bank account as a payout.

The flow is as follows:

  • Ensure the Owner user is verified (KYCLevel is REGULAR)
  • Create a Bank Account to register their bank account
  • Create a Payout to request that Mangopay wire the funds
See payouts endpoints

Once the payout is successfully requested, its status becomes CREATED.

You should set up hook notifications for the following event types to be notified of its progress:

  • PAYOUT_NORMAL_SUCCEEDED
  • PAYOUT_NORMAL_FAILED

The SUCCEEDED status indicates that Mangopay successfully processed the payout and sent the funds. There are some cases where the funds are returned by the receiving bank and Mangopay creates a payout refund (see below).

In case of a FAILED status, you can use the GET View a Payout endpoint to see more information, particularly the ResultCode and ResultMessage. For more information on specific errors, see Error codes.

Note - Testing payouts

You can find all you need to test payouts in Sandbox in the Testing payouts article.

Prerequisites

User verification

Mangopay has legal obligations to verify the identity of users who wish to make payouts. Therefore, payouts can only be performed to bank accounts whose owner (as defined by the Bank Account object’s User) is verified.

If the user is not verified, the payout Status will automatically be set to FAILED after being processed by Mangopay. This processing usually takes a few seconds, but can be longer due to the amount or supplementary fraud checks.

Note - Payout Status may remain CREATED

In the production environment, a payout can remain with the CREATED status for longer than expected. This may be due to an uploaded KYC document still pending processing for the corresponding user.

In addition, you should pay special attention to the identities of the payout author and bank account owner. Indeed, 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.

Bank accounts

Different information is required for bank accounts in different countries. This is managed by the Bank Account Type parameter, which determines the information that needs to be provided via the dedicated endpoint. The values are:

  • IBAN - For accounts registered in countries that use IBAN
  • US - For accounts registered in the United States
  • CA - For accounts registered in Canada
  • GB - For accounts registered in the United Kingdom
  • OTHER - For accounts registered in countries that do not use IBAN (and are not US, CA, GB)

The country of registration of a bank account is not linked to its currency.

Caution - Creating the wrong type can lead to processing delays

Failure to use the correct type can lead to processing delays. Use the dedicated types for US, CA, and GB. Only use OTHER if the country isn’t one of these and doesn’t use IBAN.

For USD and CAD payouts made by a natural user, the Address of the author must be provided.

For payments to GB accounts, the OwnerName must match either the FirstName and LastName of the corresponding natural user, or the Name of the corresponding legal user.

Country restrictions

Due to policy, we don’t accept the creation of bank accounts and payouts to some countries. Please refer to the Country restrictions article for more information.

Minimum amount

The payout minimum amount is €0.10 (or equivalent in other currencies). This is the default amount in Sandbox.

It is not possible to make a payout inferior to €0.10, unless it is a payout made to empty a wallet. In other words, you can only make a €0.05 payout if the wallet balance is also €0.05.

Note that the minimum amount might differ depending on the platform’s contract with Mangopay.

Standard payout processing

Cutoffs and processing times

Standard payouts are processed by Mangopay as quickly as possible. Some payouts are subject to manual review by Mangopay’s teams for reasons of risk management or AML/CFT - these may take longer.

Payouts created before the cutoff times outlined below are transferred to the user’s bank account within the corresponding processing times. Payouts created after the cutoff are processed next .

Cutoffs and processing times vary between currencies and target bank account types:

CurrencyBank account typeCutoffProcessing time
EURAll types15:30 CET2 working days
GBPGBN/A~10 seconds up to 2 hours
GBPIBAN15:30 CET2 – 5 working days
USDUS15:30 CET1 working day
USDOTHER15:30 CET2 – 5 working days
CADCA15:30 CET1 – 2 working days
DKKIBAN15:30 CET2 working days
OtherAll types15:30 CET2 – 5 working days

Faster Payments in the UK

For GBP payouts to GB bank accounts, Mangopay sends them automatically via the Faster Payments System (FPS).

The payout is usually processed in a matter of seconds (the Status changes from CREATED to SUCCEEDED) but there can be a delay of up to two hours. The service is available 24/7, 365 days of the year, so there is no cutoff for processing.

Cost-bearing for international USD payouts

For USD payouts sent internationally (that is, not to US-type bank accounts), Mangopay can enable platforms to shoulder the full cost of any processing fees that may arise from correspondent banks. This allows the beneficiary to receive the full amount of USD international payouts.

When activated, cost-bearing uses the OUR configuration of SWIFT international bank wires instead of the SHA option used as standard for international payouts. The fees borne by the platform are recuperated by Mangopay during the usual billing cycle.

Please note that this setting can only be applied to all international USD payouts and is not available on a payout-by-payout basis. A contractual amendment is also required. To activate this option for your platform, contact our teams via the Dashboard.

Refunds using payouts

A Refund object cannot be created to reimburse the initial pay-in on two payment methods:

In these cases, a payout must be used instead.

For the payout to be correctly processed as a reimbursement, you must specify the initial transaction in the PaymentRef object parameter:

  1. Set the ReasonType value to PAYIN_REFUND to indicate that the payout is serving as a refund
  2. Provide the Id of the initial pay-in as the ReferenceId value

Note the following conditions and possibilities:

  • The ReferenceId value must be the Id of a pay-in that was successful (it’s Status is SUCCEEDED)
  • The Fees value can’t be negative, meaning that you can’t reimburse any fees taken on the initial bank wire pay-in
  • You can create multiple payouts that reference the same pay-in Id
  • The payout or payouts can exceed the amount of the initial transaction up to 115%

If a payout containing a PAYIN_REFUND reference is returned, it follows the same process as other payouts.

Payout returns

Successful payouts (i.e. with Status value SUCCEEDED) can be rejected by the acquiring bank, for example if the bank account is closed or not compatible (e.g. a savings account). In some cases, Mangopay is able to request the recall on behalf of a platform or user.

In this scenario, Mangopay creates a Refund object for the payout so that the funds can be returned to the wallet.

Set up hook notifications for the following event types to be notified of this:

  • PAYOUT_REFUND_CREATED
  • PAYOUT_REFUND_SUCCEEDED
  • PAYOUT_REFUND_FAILED

You can use the GET View a Refund endpoint to see details of the payout return.

Additional information regarding the return can be found in the RefundReason object returned by the API.

Possible RefundReasonType are:

  • BANKACCOUNT_INCORRECT
  • BANKACCOUNT_HAS_BEEN_CLOSED
  • OWNER_DOT_NOT_MATCH_BANKACCOUNT
  • WITHDRAWAL_IMPOSSIBLE_ON_SAVINGS_ACCOUNTS

The refund reason type may be accompanied by a custom message in the RefundReasonMessage parameter.