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.
- cURL
- Node.js
- PHP
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"
}
}
}'
const {Monei, TransactionTypes} = require('@monei-js/node-sdk');
const monei = new Monei('pk_test_36cf3e8a15eff3f5be983562ea6b13ec');
monei.payments.create({
amount: 110,
currency: 'EUR',
orderId: '14379133960355',
description: 'Test Shop - #14379133960355',
transactionType: TransactionTypes.PAYOUT,
paymentMethod: {
bizum: {
phoneNumber: "+34500000000"
}
}
});
$monei = new Monei\MoneiClient('pk_test_36cf3e8a15eff3f5be983562ea6b13ec');
$monei->payments->create([
'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 containbizum
object withphoneNumber
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)