¿Qué es Magento?
Magento es una plataforma que permite la gestión de contenidos web para un comercio electrónico, ofreciendo una solución flexible y escalable sobre la cual se puede basar cualquier proyecto de tienda en línea.
El plugin de Openpay para Magento le permite configurar y añadir nuestros métodos de pago soportados (tarjeta de crédito/débito, tiendas de conveniencia y SPEI) dentro del flujo compra de su comercio electrónico.
Versiones soportadas
- Magento Open Source Edition (Magento Community) 2.1.1 en adelante
- Magento Adobe Commerce (Magento Enterprise)
- Magento Commerce Cloud Edition (Magento Cloud)
Requerimientos
Es necesario que el servidor donde se encuentre alojado su comercio electrónico basado en Magento 2 cuente con las siguientes características:
- Versión instalada de PHP 8.1.
- Versión instalada de MySQL 8.0 o mayor.
- Contar con un certificado SSL para su comercio electrónico.
Instalación
Para la instalación de extensiones (plugins) en Magento 2 es necesario aplicar una serie de comandos en la terminal del servidor donde este alojada tu plataforma.
Para implementar las 3 diferentes formas de pago en tu tienda, será necesario instalar y habilitar cada uno de ellos por separado.
1.- Ingresar desde la terminal de nuestro servidor a la carpeta raíz de Magento.
2.- Ingresar los siguientes comandos, los cuales descargarán las extensiones al proyecto y adicional a ello descargarán la librería de Openpay de PHP.
- Módulo de pagos con tarjeta de crédito
composer require openpay/magento2-cards:3.4.*
- Módulo para pagos en efectivo
# Para versiones de Magento < 2.3.0
composer require openpay/magento2-stores:~3.1.0
# Para versiones de Magento >= 2.3.0
composer require openpay/magento2-stores:~3.5.0
# Para versiones de Magento >= 2.3.5
composer require openpay/magento2-stores:~4.1.0
- Módulo para pagos vía SPEI
# Para versiones de Magento < 2.3.0
composer require openpay/magento2-banks:~3.1.0
# Para versiones de Magento >= 2.3.0
composer require openpay/magento2-banks:~3.5.0
# Para versiones de Magento >= 2.3.5
composer require openpay/magento2-banks:~4.1.0
3) Después se procede a habilitar los módulos, actualizar y limpiar cache de la plataforma:
php bin/magento module:enable Openpay_Cards --clear-static-content
php bin/magento module:enable Openpay_Stores --clear-static-content
php bin/magento module:enable Openpay_Banks --clear-static-content
php bin/magento setup:upgrade
php bin/magento cache:clean
Configuración de módulos.

2.- Aparecerá una pantalla como la que se muestra a continuación.

3.- En tu panel de administración de Magento2 (Dashboard Magento), dirigirse a la sección Stores > Configuration.

4.- Una vez dentro de la pantalla de configuración, ubicar el menú lateral izquierdo Sales > Payment Methods.

5.- Le aparecerán los Módulos que instaló.

Configuración Openpay Tarjetas.
- Habilitado: Para habilitar el módulo de pago.
- Sandbox: Determina si el plugin va a funcionar en entorno de pruebas (Sandbox).
- País: Seleccionar el país donde se encuentra (México).
- Clasificación del comercio: Tipo de comercio electrónico (por default Openpay).
- Título: Nombre del método de pago que se mostrará en la tienda.
- Merchant ID: El Id de su comercio que se obtuvo en pasos anteriores (Credenciales de API).
- Llave Secreta: La llave secreta de su comercio (Credenciales de API).
- Llave Pública: La llave pública de su comercio (Credenciales de API).
- ¿Cómo procesar el cargo?: Define el tipo de cargo que se realizará: Directo, 3Dsecure o Autenticación Selectiva.
- Configuración del cargo: Indica si el cargo se hace o no inmediatamente.
- Pago con puntos: Recibe pagos con puntos con BBVA, Santander y citibanamex.
- Guardar Tarjetas: Permite a los usuarios registrados guardar sus tarjetas crédito/débito para agilizar sus futuras compras.

- Tipos de tarjetas.-Deberán de estar seleccionados los 3 tipos de tarjetas para aceptar todo tipo de tarjetas permitidas por Openpay.
- Meses sin intereses: Puede habilitar o deshabilitar pagos con tarjeta con meses sin intereses seleccionando 3,6,9,12 y/o 18 meses sin intereses.
- Configurar Montos Mínimos MSI: Puede configurar un monto mínimo para Meses Sin Intereses.
- Pago aplicable para países: Seleccione si quiere que el método de pago este disponible solo para un país o para todos.
- Pago para países específicos: Si en la opción anterior selecciono países específicos, aquí deberá seleccionar los países.
- Openpay processing: Debe seleccionar el estatus que tendrá la orden una vez que el módulo de tarjetas lo establezca en processing.
- Openpay Pendiente de Pago: Debe seleccionar el estatus que tendrá la orden un vez que el módulo de tarjetas lo establezca en payment_review.
- Openpay Cancelado: Debe seleccionar el estatus que tendrá la orden una vez que el módulo de tarjetas lo establezca en canceled.
- Orden.- Orden en que se mostrará este método de pago.

Configuración Pagos en Tiendas
Fecha límite para pago.- Definir el número de horas que tendrá el cliente una vez emitido el recibo de pago.
Configuración de países permitidos.- Puede dejarse con la configuración por default que tiene o bien puede definirse únicamente a México.
Orden.- Orden en que se mostrará este método de pago.

Configuración Pagos vía SPEI (Banks).
Fecha límite para pago.- Definir el número de horas que tendrá el cliente una vez emitido el recibo de pago.
Configuración de países permitidos.- Puede dejarse con la configuración por default que tiene o bien puede definirse únicamente a México.
Orden.- Orden en que se mostrará este método de pago.

6.- Cuando finalize las configuraciones de su preferencia, dar clic en el botón de Save Config.
7.- Una vez que se hayan guardado los cambios, Magento te solicitará que limpies la cache del sistema, dar clic en Cache Management.

8.- En la pantalla que le aparecerá, dar clic en Flush Magento Cache.

una vez hecho esto, tu tienda dispondrá de las formas de pago que ofrece Openpay.
Notificaciones de pagos en tiendas y SPEI
Importante: Los plugins asumen que la tienda se encuentra en la raíz del dominio, por lo que se crea el webhook tomando como base está url.
Pago en tiendas y SPEI (wire transfer)
https://[eCommerce domain]/openpay/index/webhook
Pago con tarjeta
https://[eCommerce domain]/openpay/cards/webhook
Verificación de Webhook
NOTA: Recuerde que no es necesario agregar el Webhook manualmente, al guardar la configuración del módulo este lo crea de forma automática.
Es importante verificar que el Webhook haya sido creado de forma correcta en Openpay.
1.- En su panel de configuración de Openpay ir a Ajustes (icono de engrane) -> Configuraciones.

2. Ubicar el apartado de Webhooks. Si el webhook fue configurado correctamente habrá un registro en estado Verificado.
