Skip to main content

Payouts (beta)

The MONEI Payouts API allows you to send money to individuals via Bizum or Cards.

warning

The Payouts API is currently in closed beta. To request access, please contact our Support Team. Please note that the Payouts API is not available in the test environment.

Before you begin

To enable MONEI payouts, it is essential to maintain a positive balance in the merchant account at all times. Additionally, a minimum initial top-up of €5,000 to the merchant account balance is required to fully activate the payout functionality.

Payouts with Bizum

Before you start, you need to make sure that you have Bizum enabled in MONEI Dashboard → Settings → Payment Methods. If you don't have Bizum configured, please contact our Support Team.

To test your Bizum payout integration:

You can use the MONEI API endpoint to verify if the phone number is registered with Bizum before sending the money to the end user.

Bizum payouts do not require client's confirmation. You only need to know their phone number.

1. Create a new payment on your server.

POST https://api.monei.com/v1/payments
curl --request POST 'https://api.monei.com/v1/payments' \
--header 'Authorization: pk_test_3c140607778e1217f56ccb8b50540e00' \
--header 'Content-Type: application/json' \
--data-raw '{
"amount": 110,
"currency": "EUR",
"orderId": "14379133960355",
"description": "Test Shop - #14379133960355",
"transactionType": "PAYOUT",
"paymentMethod": {
"bizum": {
"phoneNumber": "+34500000000"
}
}
}'

The following parameters are required:

  • amount positive integer - Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge 1.00 USD)
  • currency string - Three-letter ISO currency code, in uppercase. Must be a supported currency.
  • orderId string - An order ID from your system. A unique identifier that can be used to reconcile the payment with your internal system.
  • transactionType string - PAYOUT
  • paymentMethod object - Payment method object. It must contain bizum object with phoneNumber property.

Check all available request parameters.

2. Handle the response

Example response:

Bizum payouts are executed immediately. If the request is successful, you will receive a PAID_OUT status in the response.

{
"id": "af6029f80f5fc73a8ad2753eea0b1be0",
"amount": 110,
"currency": "EUR",
"orderId": "14379133960355",
"description": "Test Shop - #14379133960355",
"livemode": true,
"status": "PAID_OUT",
"statusCode": "E000",
"statusMessage": "Transaction approved",
"createdAt": 1685430038,
"updatedAt": 1685430039,
"paymentMethod": {
"method": "bizum",
"bizum": {
"phoneNumber": "+34500000000",
"integrationType": "REST"
}
},
"nextAction": {
"type": "COMPLETE",
"redirectUrl": "https://secure.monei.com/payments/af6029f80f5fc73a8ad2753eea0b1be0/receipt"
}
}

Check the full list of returned response parameters.

Optionally, you can redirect the client to the nextAction.redirectUrl to show the payout status or receipt.

Payouts with Cards

Payouts are supported by all our integrations. You can use a prebuilt payment page or build a custom checkout to let your client enter their Card details to receive the payout.

Pass the transactionType parameter with the value PAYOUT to create a payout in the first step of our guides.

Payouts are only supported for Cards and Bizum payments so, you need to pass the allowedPaymentMethods parameter with the values of card or bizum (in case you have more payment methods enabled)