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étodo | Integración | Captura | Reembolso | Cancelación |
|---|---|---|---|---|
| Tarjetas (Visa, Mastercard, Amex) | iframe seguro de MONEI.js | Manual / Auto | Sí | Sí |
| Bizum | Redirección | Auto | Sí | Sí |
| Apple Pay | Componente MONEI.js | Auto | Sí | Sí |
| Google Pay | Componente MONEI.js | Auto | Sí | Sí |
Requisitos
| Dependencia | Versión |
|---|---|
| Node.js | 18.17+ (LTS recomendado) |
| Saleor | 3.13+ (Cloud o autoalojado) |
Antes de empezar
Para probar tu integración:
- Usa tu clave de API en modo de prueba. La encuentras en MONEI Dashboard → Configuración → Acceso a la API.
- Puedes consultar el estado de un pago de prueba en MONEI Dashboard → Pagos (en modo de prueba).
- Consulta las tarjetas de prueba de MONEI para ver números de tarjeta de prueba.
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
- Abre Saleor Dashboard → Apps → Install External App
- Introduce la URL de tu manifest:
http://localhost:3000/api/manifest - La app registra sus webhooks automáticamente
Configuración
| Variable | Descripción | Obligatoria | Por defecto |
|---|---|---|---|
MONEI_API_KEY | Clave de API del MONEI Dashboard | Sí | — |
MONEI_ACCOUNT_ID | ID de la cuenta del comercio | Sí | — |
MONEI_WEBHOOK_SECRET | Clave HMAC para verificar la firma del webhook | No | — |
MONEI_ENVIRONMENT | test o live | No | test |
APL | Capa de persistencia de auth: file (dev) o upstash (prod) | No | file |
NEXT_PUBLIC_APP_URL | URL pública donde se aloja esta app | Sí | — |
Cómo funciona
La app gestiona tres webhooks síncronos de Saleor:
| Webhook | Propósito |
|---|---|
PAYMENT_GATEWAY_INITIALIZE_SESSION | Devuelve los métodos de pago disponibles y la configuración de MONEI.js |
TRANSACTION_INITIALIZE_SESSION | Crea un pago en MONEI y devuelve el resultado o la URL de redirección |
TRANSACTION_PROCESS_SESSION | Comprueba el estado del pago tras la acción del cliente (3D Secure, Bizum) |
Flujo de pago
- El cliente inicia el checkout → Saleor llama a
PAYMENT_GATEWAY_INITIALIZE_SESSION - La app devuelve los métodos de pago de MONEI disponibles y la configuración de MONEI.js
- El cliente selecciona un método de pago → Saleor llama a
TRANSACTION_INITIALIZE_SESSION - La app crea un pago en MONEI y devuelve la URL de redirección o los datos de MONEI.js
- El cliente completa el pago (3D Secure, redirección de Bizum, etc.)
- 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
- Asegúrate de usar tu clave de API en modo producción (live).
- Asegúrate de tener al menos un método de pago activo.
- Define
MONEI_ENVIRONMENT=liveen tus variables de entorno.
Enlaces
¿Te ha resultado útil esta página?