Saltar al contenido principal

Medusa

Acepta pagos a través de MONEI en tu tienda Medusa v2 usando el plugin oficial medusa-payment-monei. Todos los métodos de pago de MONEI están disponibles automáticamente — tarjetas, Bizum, PayPal, Google Pay, Apple Pay, , MB Way, Multibanco y SEPA Direct Debit.

Características

  • Ciclo de pago completo — Iniciar, , , reembolsar (total y parcial) y cancelar
  • Flujo Auth + Capture — Preautoriza y captura cuando quieras (por defecto), o captura automáticamente en la autorización
  • Compatible con webhooks — Actualizaciones del estado del pago en tiempo real con verificación de firma
  • Múltiples métodos de pago — Todos los métodos de pago de MONEI disponibles automáticamente
  • Dos modos de integración — Página de pago alojada (redirección) o componentes MONEI.js integrados

Requisitos

DependenciaVersión
Node.js20+
Medusav2

Antes de empezar

Para probar tu integración:

Instalación

npm install medusa-payment-monei
# o
yarn add medusa-payment-monei

Configuración

Paso 1: Añadir a medusa-config.ts

import {defineConfig} from '@medusajs/framework/utils';

export default defineConfig({
// ...
modules: [
{
resolve: '@medusajs/medusa/payment',
options: {
providers: [
{
resolve: 'medusa-payment-monei',
id: 'monei',
options: {
apiKey: process.env.MONEI_API_KEY,
// Opcional: captura automática de pagos (por defecto: false)
// Si es false, los pagos usan el flujo AUTH + captura manual
// Si es true, los pagos usan el flujo SALE (capturados de inmediato)
capture: false
}
}
]
}
}
]
});

Paso 2: Definir las variables de entorno

# .env
MONEI_API_KEY=pk_test_xxxxxxxxxxxxxxxxxxxxx

Paso 3: Activar en Medusa Admin

Ve a Settings → Regions y activa MONEI para tu(s) región(es).

MONEI se registra como pp_monei_monei.

Opciones de configuración

OpciónTipoPor defectoDescripción
apiKeystringobligatorioTu clave de API de MONEI
capturebooleanfalseCaptura automática de pagos al autorizar
webhookSecretstringClave de firma de webhook (opcional)

Flujos de pago

  1. El cliente selecciona MONEI → se crea el pago con transactionType: AUTH
  2. El cliente completa el pago en la página alojada de MONEI o vía el componente MONEI.js
  3. MONEI envía un webhook con estado AUTHORIZED → se crea el pedido
  4. El administrador captura el pago desde el panel de Medusa
nota

Los pagos con tarjeta deben capturarse en un plazo de 7 días, y los de Bizum en 30 días.

Captura automática (define capture: true)

  1. El cliente selecciona MONEI → se crea el pago con transactionType: SALE
  2. El cliente completa el pago → los fondos se capturan de inmediato
  3. El webhook recibe el estado SUCCEEDED → se crea el pedido

Webhooks

MONEI envía notificaciones webhook asíncronas a tu servidor de Medusa en:

{your_server_url}/hooks/payment/monei_monei

El plugin verifica la cabecera MONEI-Signature mediante verificación de firma HMAC-SHA256.

Configura la en MONEI Dashboard → Configuración, o se establecerá dinámicamente al crear el pago.

Integración en el storefront

Opción A: Página de pago alojada (la más sencilla)

Tras iniciar la sesión de pago, los datos de la sesión contienen una redirect_url. Redirige al cliente:

const paymentSession = cart.payment_collection?.payment_sessions?.[0];

if (paymentSession?.data?.redirect_url) {
window.location.href = paymentSession.data.redirect_url;
}

Opción B: Componentes MONEI.js integrados

Usa el SDK de MONEI JS para integrar componentes de pago directamente en tu checkout:

import monei from '@monei-js/components';

const paymentId = paymentSession.data.id;

// Renderiza el campo de tarjeta
const cardInput = monei.CardInput({
paymentId,
onChange: (event) => {
// Gestiona la validación
}
});
cardInput.render('#card-input');

// Tokeniza la tarjeta y luego confirma el pago
const {token, error} = await cardInput.submit();
if (error) {
// Muestra el error al cliente
return;
}

const result = await monei.confirmPayment({
paymentId,
paymentToken: token
});

Métodos de pago

Todos los métodos de pago activados en tu MONEI Dashboard están disponibles automáticamente:

MétodoDescripción
TarjetasVisa, Mastercard, Amex con 3D Secure
BizumEl pago móvil n.º 1 de España (adquirencia directa)
PayPalMonedero digital global
Google PayPagos en Android/Chrome
Apple PayPagos en iOS/Safari
Comercio remoto seguro de Visa/Mastercard
BNPLCompra ahora, paga después
MB WayPagos móviles portugueses
MultibancoTransferencias bancarias portuguesas
SEPA DDDomiciliación en euros

Antes de pasar a producción