Saltar al contenido principal

Bizum

Bizum es un servicio de pago creado por los principales bancos españoles en 2016 para permitir pagos con móvil de particular a particular. Al aceptar pagos con Bizum, darás a tus clientes la posibilidad de pagar cómodamente y de forma segura con su móvil, en tu sitio web o aplicación móvil.

Acepta pagos con Bizum usando la Página de pago alojada o el Componente Bizum. No se necesita ninguna configuración adicional para la Página de pago alojada.

El Componente Bizum muestra un botón de Bizum en tu página de pago. Cuando los clientes seleccionan Bizum, aparece una superposición donde introducen su número de teléfono registrado para completar el pago.

Disponibilidad

Bizum es una app de pagos entre particulares (P2P) española, que permite a sus usuarios conectar con su cuenta bancaria () para mandar dinero a sus contactos del móvil, o realizar compras online. Por tanto, Bizum está disponible para los clientes cuya cuenta bancaria esté domiciliada en España y dada de alta en Bizum.

Activación

Bizum se activa automáticamente una vez que tu cuenta es aprobada — no necesitas solicitarlo. La activación suele tardar 48–72 horas en días laborables.

Para completar la activación, tu sitio web debe estar publicado y accesible públicamente — nuestro equipo verificará que se puede añadir un producto al carrito de compra. Si está protegido con contraseña, proporciona las credenciales durante el proceso de incorporación o envíalas abriendo una solicitud al equipo de soporte; de lo contrario, Bizum no se activará.

Una vez activado, Bizum aparece en MONEI Dashboard → Configuración → Métodos de pago. Estará entonces disponible en la Página de pago alojada y también puedes mostrar el Componente Bizum directamente en tu página web. El botón de Bizum aparecerá cuando los compradores entren en tu página de pago.

Si Bizum no se ha activado 7 días después de la aprobación de tu cuenta y tu web está disponible públicamente, contacta con nuestro equipo de soporte.

Comisiones

Bizum tiene una tarifa plana de MONEI de 1,29 % + 0,25 € por cada transacción completada con éxito, más una tarifa de adquirencia de 0,17 €. Para conocer los precios actuales, consulta las comisiones de MONEI.

Liquidaciones

Las transacciones de Bizum se liquidan en el IBAN asignado a tu cuenta de MONEI.

Reembolsos

Los pagos con Bizum se pueden devolver hasta 180 días después de que la transacción inicial haya sido procesada. Los reembolsos pueden fallar si:

  • El cliente ha desconectado su cuenta de Bizum.
  • El cliente ha cambiado el vínculo entre su número de teléfono y el IBAN.
  • El banco emisor está experimentando problemas internos con las notificaciones de Bizum.

MONEI no cobra por emitir un reembolso. Si reembolsas dentro del mismo ciclo de facturación semanal que la venta, la venta y el reembolso se cancelan entre sí y no pagas ninguna tarifa. La tarifa de adquirencia de 0,17 € del pago original no la devuelve la red, así que un reembolso en un ciclo posterior la deja deducida de tus liquidaciones. Consulta las comisiones de MONEI.

Límites

Las transacciones de Bizum online no tienen límite máximo de importe. Sin embargo, si una transacción falla, puede deberse a que el banco emisor tenga su propio límite máximo o a que el cliente carezca de fondos suficientes. A diferencia de los límites entre particulares (P2P) de Bizum, no existe un límite mensual en el número de compras online que un cliente puede realizar con Bizum.

Bizum tiene sus propios límites para las transacciones entre particulares (P2P). Aprende más sobre los límites de Bizum para negocios.

Envía payouts a clientes

También puedes usar Bizum para enviar dinero a un número de teléfono de un cliente con un payout. Los payouts son una función restringida: deben estar activados en tu cuenta por el equipo de riesgos de MONEI y se pagan con un saldo prefinanciado. Consulta Envía payouts a clientes para ver cómo funciona.

Prueba tu integración

Integración

1. Crear un pago Servidor

Crea un Pago en tu servidor con un importe y una moneda. Decide siempre cuánto cobrar en el lado del servidor, un entorno de confianza, y no en el cliente. Esto evita que clientes malintencionados puedan elegir sus propios precios.

POST https://api.monei.com/v1/payments
curl --request POST 'https://api.monei.com/v1/payments' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"amount": 110,
"currency": "EUR",
"orderId": "14379133960355",
"description": "Test Shop - #14379133960355",
"customer": {
"email": "email@example.com"
},
"callbackUrl": "https://example.com/checkout/callback"
}'

(Sustituye YOUR_API_KEY por tu clave de API de MONEI real)

Los siguientes parámetros son obligatorios:

  • amount entero positivo - Importe que se pretende 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 cadena - Código de moneda ISO de tres letras, en mayúsculas. Debe ser una moneda compatible.
  • orderId cadena - Un ID de pedido de tu sistema. Un identificador único que puede usarse para el pago con tu sistema interno.
  • callbackUrl cadena - La URL a la que se enviará de forma asíncrona el resultado del pago.

Consulta todos los parámetros de solicitud disponibles.

El objeto Pago devuelto incluye un id de pago, que se usa en el lado del cliente para completar de forma segura el proceso de pago en lugar de pasar el objeto Pago completo.

2. Añadir Bizum a tu página de pago Cliente

Incluye monei.js en tu página de checkout añadiendo la etiqueta script al head de tu archivo HTML.

checkout.html
<head>
<title>Checkout</title>
<script src="https://js.monei.com/v3/monei.js"></script>
</head>

Añade el Componente Bizum de MONEI a tu página de pago. Crea un nodo DOM vacío (contenedor) con un ID único en tu formulario de pago.

checkout.html
<form
action="https://secure.monei.com/payments/{{payment_id}}/confirm"
method="post"
id="payment-form"
>
<div id="bizum_container">
<!-- A MONEI Bizum Component will be inserted here. -->
</div>
</form>

Inicializar el Componente Bizum

client.js
// Create an instance of the Bizum component.
const bizum = monei.Bizum({
paymentId: '{{payment_id}}',
onSubmit(result) {
// result.paymentMethod === 'bizum'
moneiTokenHandler(result.token);
},
onError(error) {
console.log(error);
}
});

// Render an instance of the Bizum component into the `bizum_container` <div>.
bizum.render('#bizum_container');
nota

El Componente Bizum también está disponible como componente de React, Vue, Angular y Svelte.

Consulta la Referencia de MONEI JS para ver más opciones.

3. Confirmar el pago Cliente

Para completar el pago necesitas confirmarlo usando la función confirmPayment de monei.js.

Debes proporcionar un paymentId (obtenido en el paso 1) y el paymentToken generado con el Componente Bizum. También puedes proporcionar parámetros adicionales como customer.email. Consulta todos los parámetros disponibles.

client.js
// Confirm the payment
async function moneiTokenHandler(token) {
try {
const result = await monei.confirmPayment({
paymentId: '{{payment_id}}',
paymentToken: token
});
// At this moment you can show a customer the payment result
// But you should always rely on the result passed to the callback endpoint
// on your server to update the order status
console.log(result);
} catch (error) {
console.error(error);
}
}
nota

Como proceso alternativo, puedes enviar el paymentToken generado a tu servidor y luego confirmar el pago en el lado del servidor.

4. Procesar la notificación webhook Servidor

Tras la interacción en el lado del cliente y cualquier procesamiento en segundo plano necesario, MONEI envía el estado de pago final y autoritativo mediante una solicitud HTTP POST asíncrona a la callbackUrl que proporcionaste en el Paso 1.

El cuerpo de la solicitud contiene el objeto Pago completo en formato JSON.

Este webhook es la única forma fiable de confirmar el resultado definitivo del pago.

Es imprescindible que:

  1. Verifiques el encabezado MONEI-Signature incluido en la solicitud. Esto confirma que el webhook proviene genuinamente de MONEI. Consulta la guía de verificación de firmas para los detalles de implementación.
  2. Devuelvas un código de estado HTTP 200 OK inmediatamente al recibir el webhook para confirmar la recepción. Cualquier otro código de estado indica a MONEI que la notificación ha fallado.

Si MONEI no recibe un 200 OK, reintentará el envío del webhook.

Una vez verificada la firma, inspecciona el campo status del objeto Pago (SUCCEEDED, FAILED, CANCELED, etc.) para determinar si debes completar el pedido o gestionar el error.

Antes de pasar a producción

Información adicional

Monitorización del estado del pago

MONEI supervisa activamente el estado de las transacciones de Bizum para garantizar la coherencia entre la pasarela de pago y el procesador, evitando discrepancias que podrían afectar a comercios o consumidores.

Límites de importe

Las transacciones de Bizum online no tienen límite máximo de importe. Si una transacción falla, puede deberse a que el banco emisor impone su propio límite o a que no hay fondos suficientes. A diferencia de los límites entre particulares (P2P), no existe un límite mensual para las compras online.

Pre-autenticaciones

Bizum admite pre-autenticaciones (transactionType: AUTH) para verificar que el número de Bizum pertenece al titular de la cuenta sin bloquear fondos. Tras una autenticación exitosa, dispones de hasta 30 días para el pago. Se admiten capturas totales y parciales. Si no hay fondos suficientes en el momento de la captura, la transacción no se procesará. No se requiere adicional durante la captura.

Las pre-autenticaciones solo están disponibles si el banco del cliente admite el flujo RTP (Request to Pay).

Reembolsos

Las transacciones de Bizum pueden reembolsarse en un plazo de 180 días. Los reembolsos pueden fallar si:

  • El cliente ha desconectado su cuenta de Bizum.
  • El cliente ha cambiado el vínculo entre su número de teléfono y el IBAN.
  • El banco emisor está experimentando problemas internos con las notificaciones de Bizum.

Suscripciones

Puedes usar Bizum para suscripciones o , de forma similar a las suscripciones basadas en tarjeta. Establece Bizum como método de pago al crear una suscripción a través de la API de MONEI.

Consideraciones clave:

  • La cobertura bancaria todavía se está desplegando, con un objetivo de cobertura de usuarios superior al 90%. Si el banco del cliente no admite suscripciones de Bizum, la suscripción no funcionará. Confírmalo directamente con tu cliente.
  • El cliente autoriza únicamente el primer pago. Los pagos posteriores se procesan automáticamente a través del motor de suscripciones de MONEI, o puedes gestionarlos manualmente usando la API de pagos recurrentes.
  • Solo se puede realizar un pago recurrente al mes a través de Bizum, y el importe de la suscripción no puede modificarse tras el primer pago.

Solicitud de pago

Puedes enviar una solicitud de pago directamente al teléfono del cliente. Si el número de teléfono está registrado en Bizum, el cliente recibe una notificación push para confirmar el pago en su aplicación bancaria. Si no lo está, recibe un enlace de pago por WhatsApp. Esta funcionalidad funciona de forma independiente al Componente UI.

Ejemplo de notificación push de Bizum:

Notificación push de Bizum

Preguntas frecuentes

¿Los pagos con Bizum admiten pre-autorizaciones (SALE vs AUTH)?

Bizum tiene dos tipos de transacciones:

  • SALE hace referencia al tipo de transacción de captura automática, en el que el pago se captura inmediatamente. En principio no genera fricción.
  • AUTH hace referencia al tipo de transacciones pre-autorizadas: verifica que el número de Bizum pertenece al titular de la cuenta sin bloquear fondos. El importe no está bloqueado y el balance del cliente no se verifica, por lo que el éxito en el momento de la captura no está garantizado.

Para AUTH, dispones de hasta 30 días tras una autenticación exitosa para capturar el pago (se admiten capturas totales y parciales) y no se requiere SCA adicional durante la captura. Consulta Pre-autenticaciones para más detalles. Las pre-autenticaciones solo están disponibles si el banco del cliente admite el flujo RTP (Request to Pay).

¿Cuándo se activa Bizum?

Bizum se activa automáticamente una vez que tu cuenta es aprobada — no necesitas solicitarlo. La activación suele tardar 48–72 horas en días laborables.

Para completar la activación, tu sitio web debe estar publicado y accesible públicamente — nuestro equipo verificará que se puede añadir un producto al carrito de compra. Si está protegido con contraseña, proporciona las credenciales durante el proceso de incorporación o abriendo una solicitud al equipo de soporte.

Una vez activado, Bizum aparece en MONEI Dashboard → Configuración → Métodos de pago y queda disponible en tu página de pago. Consulta Activación para todos los detalles. Si Bizum no se ha activado 7 días después de la aprobación de tu cuenta y tu web está disponible públicamente, contacta con nuestro equipo de soporte.