Payouts (beta)
La API de Payouts de MONEI te permite enviar dinero a particulares mediante Bizum o tarjetas. Para una visión general de cómo funcionan los payouts, el modelo de saldo prefinanciado y cómo obtener acceso, consulta Envía payouts a clientes.
La API de Payouts se encuentra actualmente en beta cerrada. Para solicitar acceso, contacta con nuestro equipo de soporte. Ten en cuenta que la API de Payouts no está disponible en el entorno de pruebas.
Antes de empezar
Para activar los payouts de MONEI, es imprescindible mantener un saldo positivo en la cuenta del comercio en todo momento. Además, se requiere una recarga inicial mínima de 5.000 € en el saldo de la cuenta del comercio para activar completamente la funcionalidad de payouts.
Payouts con Bizum
Antes de comenzar, asegúrate de tener Bizum habilitado en MONEI Dashboard → Configuración → Métodos de pago. Si no tienes Bizum configurado, contacta con nuestro equipo de soporte.
Para probar tu integración de payouts con Bizum:
Puedes usar el endpoint de la API de MONEI para comprobar si el número de teléfono está registrado en Bizum antes de enviar el dinero al usuario final.
Los payouts de Bizum no requieren confirmación por parte del cliente. Solo necesitas conocer su número de teléfono.
1. Crea un nuevo pago en tu servidor.
- 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, PaymentTransactionType} = 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: PaymentTransactionType.PAYOUT,
paymentMethod: {
bizum: {
phoneNumber: '+34500000000'
}
}
});
$monei = new Monei\MoneiClient('pk_test_36cf3e8a15eff3f5be983562ea6b13ec');
$monei->payments->create(new Monei\Model\CreatePaymentRequest([
'amount' => 110,
'currency' => 'EUR',
'order_id' => '14379133960355',
'description' => 'Test Shop - #14379133960355',
'transaction_type' => 'PAYOUT',
'payment_method' => [
'bizum' => [
'phone_number' => '+34500000000'
]
]
]));
Los siguientes parámetros son obligatorios:
- amount
positive integer- Importe que se desea cobrar con este pago. Un entero positivo que representa cuánto cobrar en la (p. ej., 100 céntimos para cobrar 1,00 USD). - currency
string- Código de moneda ISO de tres letras, en mayúsculas. Debe ser una moneda admitida. - orderId
string- Un ID de pedido de tu sistema. Un identificador único que puede usarse para el pago con tu sistema interno. - transactionType
string-PAYOUT - paymentMethod
object- Objeto del método de pago. Debe contener el objetobizumcon la propiedadphoneNumber.
Consulta todos los parámetros de solicitud disponibles.
2. Gestiona la respuesta
Ejemplo de respuesta:
Los payouts de Bizum se ejecutan de inmediato. Si la solicitud es correcta, recibirás el estado PAID_OUT en la respuesta.
{
"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"
}
}
Consulta la lista completa de parámetros de respuesta devueltos.
Opcionalmente, puedes redirigir al cliente a nextAction.redirectUrl para mostrar el estado del payout o el recibo.
Payouts con tarjetas
Los payouts son compatibles con todas nuestras integraciones. Puedes usar una página de pago prediseñada o crear un checkout personalizado para que tu cliente introduzca los datos de su tarjeta y reciba el payout.
Pasa el parámetro transactionType con el valor PAYOUT para crear un payout en el primer paso de nuestras guías.
Los payouts solo son compatibles con pagos mediante tarjeta y Bizum, por lo que debes pasar el parámetro allowedPaymentMethods con los valores card o bizum (en caso de que tengas más métodos de pago habilitados).