Saltar al contenido principal

Saleor

Acepta pagos a través de MONEI en tu tienda Saleor usando la app de pago oficial de MONEI. La app sigue la arquitectura de apps de pago de Saleor y admite tarjetas (Visa, Mastercard, Amex), Bizum, Apple Pay y Google Pay.

Características

  • Métodos de pago admitidos — Tarjetas vía iframe seguro de MONEI.js, Bizum por redirección, Apple Pay y Google Pay vía componentes MONEI.js
  • Ciclo de vida completo, (manual o automático), reembolsar y cancelar
  • Enrutamiento multiadquirente — Enrutamiento inteligente para optimizar las tasas de autorización
  • Bizum nativo — Adquirencia directa de Bizum, el método de pago móvil dominante en España
  • Conforme a — Los datos de tarjeta se gestionan mediante iframes seguros de MONEI.js, manteniendo tu tienda fuera del alcance de PCI
  • Basado en webhooks — Actualizaciones del estado del pago mediante webhooks firmados de MONEI

Métodos de pago admitidos

MétodoIntegraciónCapturaReembolsoCancelación
Tarjetas (Visa, Mastercard, Amex)iframe seguro de MONEI.jsManual / Auto
BizumRedirecciónAuto
Apple PayComponente MONEI.jsAuto
Google PayComponente MONEI.jsAuto

Requisitos

DependenciaVersión
Node.js18.17+ (LTS recomendado)
Saleor3.13+ (Cloud o autoalojado)

Antes de empezar

Para probar tu integración:

Instalación

Paso 1: Clonar y configurar

git clone https://github.com/MONEI/saleor-monei.git
cd saleor-monei
cp .env.example .env

Edita .env con tus credenciales de MONEI:

MONEI_API_KEY=your_api_key
MONEI_ACCOUNT_ID=your_account_id
NEXT_PUBLIC_APP_URL=http://localhost:3000

Paso 2: Instalar y ejecutar

npm install
npm run dev

Paso 3: Instalar en Saleor

  1. Abre Saleor Dashboard → Apps → Install External App
  2. Introduce la URL de tu manifest: http://localhost:3000/api/manifest
  3. La app registra sus webhooks automáticamente

Configuración

VariableDescripciónObligatoriaPor defecto
MONEI_API_KEYClave de API del MONEI Dashboard
MONEI_ACCOUNT_IDID de la cuenta del comercio
MONEI_WEBHOOK_SECRETClave HMAC para verificar la firma del webhookNo
MONEI_ENVIRONMENTtest o liveNotest
APLCapa de persistencia de auth: file (dev) o upstash (prod)Nofile
NEXT_PUBLIC_APP_URLURL pública donde se aloja esta app

Cómo funciona

La app gestiona tres webhooks síncronos de Saleor:

WebhookPropósito
PAYMENT_GATEWAY_INITIALIZE_SESSIONDevuelve los métodos de pago disponibles y la configuración de MONEI.js
TRANSACTION_INITIALIZE_SESSIONCrea un pago en MONEI y devuelve el resultado o la URL de redirección
TRANSACTION_PROCESS_SESSIONComprueba el estado del pago tras la acción del cliente (3D Secure, Bizum)

Flujo de pago

  1. El cliente inicia el checkout → Saleor llama a PAYMENT_GATEWAY_INITIALIZE_SESSION
  2. La app devuelve los métodos de pago de MONEI disponibles y la configuración de MONEI.js
  3. El cliente selecciona un método de pago → Saleor llama a TRANSACTION_INITIALIZE_SESSION
  4. La app crea un pago en MONEI y devuelve la URL de redirección o los datos de MONEI.js
  5. El cliente completa el pago (3D Secure, redirección de Bizum, etc.)
  6. Saleor llama a TRANSACTION_PROCESS_SESSION → La app comprueba el estado final del pago

Despliegue

Despliega en Vercel, Railway o cualquier plataforma compatible con Next.js:

npm run build
npm start

Para despliegues multiinquilino en producción, define APL=upstash y configura Upstash Redis para almacenar los tokens de auth.

Antes de pasar a producción

Enlaces