VibeFox Mollie for OpenCart — Ayuda
Requisitos
OpenCart: 3.0.x (probado en 3.0.5.0) o 4.0.2 y posteriores (probado en 4.1.0.3).
PHP: 8.0 o posterior.
Moneda: la moneda de la finalización de compra debe ser una de las monedas admitidas por Mollie: AED, AUD, BGN, BRL, CAD, CHF, CZK, DKK, EUR, GBP, HKD, HUF, ILS, ISK, JPY, MXN, MYR, NOK, NZD, PHP, PLN, RON, SEK, SGD, THB, TWD, USD, ZAR. Para otras monedas, el método de pago no se muestra en la finalización de compra. Qué métodos de pago ofrece Mollie depende de la moneda y de tu cuenta.
Acceso a Internet a tu tienda: Mollie envía webhooks a tu tienda, por lo que el sitio debe ser accesible desde Internet. Sin webhooks, los pedidos reciben su estado cuando el cliente vuelve desde Mollie.
Cuenta de Mollie: necesitas las claves API de Mollie Dashboard > Developers > API keys. Las claves de prueba empiezan por test_ y las reales por live_. No se necesitan otras claves ni secretos. Los métodos de pago se activan en tu cuenta de Mollie.
Clave de licencia de VibeFox: se compra en vibefox.net. Una clave funciona en un solo dominio.
Instalación
La descarga es un único archivo zip con los paquetes para ambas versiones de OpenCart. Descomprímelo en tu ordenador. Contiene README.txt, el paquete de OpenCart 3 wcp_mollie_gateway-oc3-(version).ocmod.zip y el paquete de OpenCart 4 wcp_mollie_gateway.ocmod.zip. Instala solo el paquete de tu versión de OpenCart. La clave de licencia es la misma para ambas versiones.
OpenCart 3
1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo wcp_mollie_gateway-oc3-(version).ocmod.zip. La extensión no tiene modificaciones OCMOD, por lo que Extensions > Modifications no necesita actualizarse. En lugar del instalador, también puedes copiar el contenido de la carpeta upload de este paquete en la carpeta raíz de tu tienda.
2. Ve a Extensions > Extensions, elige el tipo Payments, busca VibeFox Mollie Gateway y haz clic en Install (el botón verde +). Tu usuario administrador necesita el permiso para modificar la lista de extensiones de pago.
3. Haz clic en Edit (el botón del lápiz) para abrir la página de configuración. Pega tu clave de licencia de VibeFox en License key, en el bloque de licencia de la parte superior de la página, y haz clic en Activate (consulta License key).
4. Introduce tus claves API de prueba y reales (consulta Configuration). No es necesario configurar ningún webhook en Mollie.
5. Activa Enable/Disable y haz clic en Save. Deja Test Mode activado hasta que hayas hecho un pago de prueba y, después, desactívalo.
OpenCart 4
1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo wcp_mollie_gateway.ocmod.zip. No cambies el nombre del archivo: OpenCart 4 toma el código de la extensión del nombre del archivo, y un paquete renombrado no funciona.
2. El paquete aparece en la lista de extensiones instaladas en la misma página. Haz clic en Install (el botón verde +) junto a él.
3. Ve a Extensions > Extensions, elige el tipo Payments. Busca VibeFox Mollie Gateway, haz clic en Install (el botón verde +) y, después, en Edit (el botón del lápiz).
4. Introduce la clave de licencia y las claves API como en los pasos 3 a 5 de OpenCart 3. La página de ajustes y sus campos son los mismos en ambas versiones. Solo la URL del webhook es distinta (consulta Webhook URL).
Una instalación nueva empieza con el método de pago desactivado y el modo de prueba activado.
Configuración
Todos los ajustes están en la página de la extensión: Extensions > Extensions > Payments > VibeFox Mollie Gateway > Edit. Las secciones aparecen a la izquierda; el botón Save situado debajo de la lista guarda toda la página. Encima de los ajustes, la página te avisa si Mollie está activado pero la clave API del modo actual está vacía, y si Mollie no admite la moneda predeterminada de la tienda. En ambos casos, el método de pago no se muestra en la finalización de compra. Sin permiso para modificar la extensión, la página muestra los ajustes pero no permite guardarlos.
Al guardar, Title debe tener de 1 a 128 caracteres, Sort Order debe ser un número entero y Total debe ser un número igual o mayor que 0; de lo contrario, no se guarda nada. Una clave API que no empiece por test_ o live_ seguido de al menos 30 letras y cifras no se guarda: la página muestra Settings saved, except the API key shown in red., el error indica la clave y se conserva la clave guardada anteriormente.
Checkout
Enable/Disable: Enable Mollie Gateway activa o desactiva el método de pago. Predeterminado: desactivado.
Title: el título del método de pago que se muestra al cliente durante la finalización de compra. También es el nombre del método de pago que se guarda en el pedido. Predeterminado: Mollie. Obligatorio.
Description: el texto que se muestra al cliente en el paso Confirm Order, encima del botón de confirmación. Predeterminado: Pay securely via Mollie.
Sort Order: la posición de Mollie entre los métodos de pago de la finalización de compra. Déjalo vacío o introduce un número entero.
Geo Zone: ofrece Mollie solo a las direcciones de pago de la zona geográfica seleccionada. Predeterminado: All zones. Las zonas geográficas se configuran en System > Localisation > Geo Zones.
Total: el importe total de la finalización de compra, en la moneda predeterminada de la tienda, que debe alcanzar un pedido para que se ofrezca Mollie. Déjalo vacío para ofrecer Mollie con cualquier importe.
Claves API
Encuentra tus claves API en el panel de Mollie, en Developers > API keys; la sección enlaza con esa página. Las claves de prueba y las reales son independientes.
Test Mode: usa la clave API de prueba para los nuevos pagos. No se procesa ningún pago real. En la página de pago de prueba de Mollie puedes elegir el resultado del pago. Los clientes ven Test mode: no real payment will be made. en el paso Confirm Order. Los pagos realizados en el otro modo siguen usando la clave de su propio modo para comprobar el estado y para los reembolsos. Predeterminado: activado.
Test API Key: tu clave API de prueba de Mollie (empieza por test_).
Live API Key: tu clave API real de Mollie (empieza por live_).
Las claves guardadas nunca se vuelven a mostrar. El campo queda vacío y muestra Saved — leave empty to keep it. Escribe un valor nuevo solo si quieres cambiarla. Para eliminar una clave guardada, marca Clear the saved key on save debajo del campo y haz clic en Save.
Webhook
Webhook URL: se muestra a modo de referencia. No es necesario configurar ningún webhook: la extensión envía esta URL a Mollie con cada pago. En OpenCart 3 tiene el aspecto de https://your-store/index.php?route=extension/payment/wcp_mollie_gateway/webhook, y en OpenCart 4, el de https://your-store/index.php?route=extension/wcp_mollie_gateway/payment/wcp_mollie_gateway.webhook. Se genera a partir de la dirección de la tienda de tu instalación de OpenCart. Debe ser accesible desde Internet; de lo contrario, los pedidos solo reciben su estado cuando el cliente vuelve desde Mollie.
Pedidos
OpenCart crea el pedido en el paso Confirm Order sin estado (un pedido ausente). El pedido recibe un estado solo después de que Mollie haya informado del pago. Cada campo siguiente muestra tus estados de pedido de OpenCart.
Order Status After Payment: el estado que se asigna después de un pago correcto. Predeterminado: En proceso. Elige Complete para marcar como completados los pedidos pagados.
Awaiting Mollie Payment Status: el cliente eligió transferencia bancaria en la página de Mollie; el pedido se marca como pagado automáticamente cuando Mollie recibe el dinero. Predeterminado: Pendiente.
Mollie Payment On Hold Status: el pago necesita tu revisión (consulta Order statuses). Predeterminado: Pendiente, porque OpenCart no tiene un estado En espera. Puedes crear tu propio estado en System > Localisation > Order Statuses y seleccionarlo aquí.
Payment Error Status: la transferencia bancaria pendiente o el pago autorizado fallaron, caducaron o se cancelaron. Predeterminado: Fallido.
Refunded Status: el pago se reembolsó por completo desde la página del pedido. Predeterminado: Reembolsado.
Avanzado
Logging: escribe las llamadas a la API y los webhooks en molg_debug.log.php, en la carpeta de registros de OpenCart (storage/logs). El archivo no se puede abrir desde la web. Los errores siempre se registran, incluso si esta opción está desactivada. Las claves API y los datos de los clientes nunca se registran. Predeterminado: desactivado.
Log: muestra el tamaño y las entradas más recientes del registro. Haz clic en Clear log para vaciarlo.
Delete Data on Uninstall: si está activado, al desinstalar la extensión se eliminan los ajustes de la pasarela y su registro. Los ID de pago de Mollie guardados con los pedidos (pagos y reembolsos) siempre se conservan. Predeterminado: desactivado.
Importar / Exportar
Export: Download JSON guarda los ajustes en un archivo JSON. Las claves API no se exportan.
Import: pega el JSON exportado previamente y haz clic en Import para restaurar los ajustes. Las claves API guardadas se conservan.
Finalización de compra
En el paso Payment Method, el cliente elige el método de pago (por defecto, Mollie). En el paso Confirm Order, el cliente ve tu descripción y la nota You will be redirected to Mollie to choose a payment method and pay. OpenCart crea el pedido en este paso, todavía sin estado. Cuando el cliente hace clic en Confirm Order, la extensión crea un pago de Mollie por el total del pedido en la moneda del pedido (JPY e ISK sin decimales), con la descripción Order # y el número de pedido, y envía al cliente a la página de pago alojada por Mollie. Allí el cliente elige uno de los métodos de pago activados en tu cuenta de Mollie y paga. En OpenCart 4, el cliente elige el método de pago con el botón Choose del bloque del método de pago, en la ventana Payment method options, y hace clic en Confirm Order al final de la página de finalización de compra.
Los webhooks de Mollie no llevan firma, solo el ID del pago. Por eso, la extensión nunca confía en un webhook por sí mismo: acepta únicamente los ID de pago que creó ella misma, lee el pago desde la API de Mollie con la clave del modo en el que se hizo el pago, comprueba que el pago pertenece al pedido y compara el importe y la moneda pagados con el total del pedido. El pedido solo se marca como pagado después de que Mollie lo confirme de esta forma. La extensión gestiona estos estados de pago de Mollie:
Cuando el cliente vuelve, la extensión comprueba el pago con la API de Mollie de la misma forma. Después, el pedido recibe su estado de la forma habitual de OpenCart, con los correos electrónicos de pedido habituales y la actualización del stock, y el cliente ve la página de éxito del pedido de OpenCart con Your payment with Mollie has been received. En el caso de una transferencia bancaria, la página muestra Your order will be processed as soon as Mollie receives your bank transfer. Si el pedido está en espera, la página muestra We are confirming your payment with Mollie. The order will be updated automatically — please do not pay again. Si un pago pendiente falló, la página muestra Your Mollie payment was not completed. Please contact us about this order.
Si el pago se canceló, falló, caducó o no terminó, el cliente vuelve a la finalización de compra con un mensaje, por ejemplo You cancelled the Mollie payment. You can try again or choose another payment method. o The Mollie payment has expired. Please try again or choose another payment method. En OpenCart 4, estos mensajes se muestran encima de la página de finalización de compra. El carrito se conserva. Si no se puede contactar con Mollie o todavía no ha decidido, aparece una página Payment confirmation que pide al cliente que no pague de nuevo y ofrece un botón Check again; el webhook asigna el estado del pedido en cuanto llega.
OpenCart 3 crea un pedido nuevo cada vez que se muestra el paso Confirm Order; OpenCart 4 mantiene un único pedido para la finalización de compra y paga de nuevo el mismo pedido con un nuevo pago de Mollie. En ambos casos, la extensión trata todos los pedidos de un mismo carrito como un único pago. Cuando el cliente vuelve a pagar, se reutiliza el pago de Mollie todavía abierto por el mismo importe, en lugar de crear un segundo pago cobrable. Si el total cambió, el pago abierto anterior se cancela en Mollie cuando Mollie lo permite. Si un pago anterior se realizó mientras tanto, ese pago se confirma y el cliente va a la página de éxito sin un nuevo pago.
OpenCart 4 mantiene el pedido en la finalización de compra hasta que se muestra la página de éxito. Si ese pedido se cerró sin pago entretanto (por ejemplo, si su transferencia bancaria caducó, o lo cancelaste o reembolsaste), el cliente vuelve a la finalización de compra con Your previous order was cancelled or refunded. Please confirm the order again to pay with a new order., y el siguiente Confirm Order paga un pedido nuevo. Un pedido del carrito que se pagó y después se canceló o reembolsó ya no bloquea el carrito.
Si Mollie no puede iniciar el pago, el cliente permanece en el paso Confirm Order con un breve mensaje encima del botón, por ejemplo The payment provider could not be reached. Please try again in a moment., This payment method is temporarily unavailable. Please choose another payment method. (clave API incorrecta) o Mollie cannot accept a payment of this amount or currency. Please choose another payment method. El motivo técnico se escribe en el registro.
El webhook también funciona mientras la tienda está en modo de mantenimiento, porque OpenCart 3 deja pasar las solicitudes de las extensiones de pago, y en OpenCart 4 la extensión añade para ello una acción de inicio (startup action), que también permite al cliente volver desde Mollie.
El cliente elige el método de Mollie en la página de Mollie, no en tu finalización de compra. La extensión no tiene suscripciones ni pagos recurrentes, ni tarjetas guardadas, ni mandatos, ni campos de tarjeta en tu sitio, ni botones express de Apple Pay o PayPal, ni la API de pedidos, por lo que Mollie no ofrece en estos pagos los métodos que requieren líneas de pedido (por ejemplo, algunas variantes de Klarna, Billie o in3). Los pagos autorizados se capturan o anulan en el panel de Mollie, no desde OpenCart.
Pedidos y reembolsos
Estados de pedido
Sin estado (pedido ausente): el cliente fue enviado a Mollie y no ha pagado, o Mollie todavía no ha confirmado el pago. En Sales > Orders, estos pedidos solo se muestran con el filtro Order Status establecido en Missing Orders.
Order Status After Payment (predeterminado En proceso): el pago fue confirmado. Una nota muestra el pago de Mollie (tr_...), el método y el modo.
Awaiting Mollie Payment Status (predeterminado Pendiente): el cliente eligió transferencia bancaria en la página de Mollie. El pedido pasa al estado de pagado cuando Mollie recibe el dinero.
Mollie Payment On Hold Status (predeterminado Pendiente): un pago autorizado espera su captura, Mollie informó de un contracargo, el importe o la moneda pagados no coinciden con el pedido, se pagó un pago de prueba mientras la tienda está en modo real (no se recibió dinero) o el pago llegó después de que el pedido recibiera otro estado (por ejemplo, si fue cancelado). La nota lo explica. Revisa el pago en el panel de Mollie y, después, procesa el pedido o reembolsa el pago.
Payment Error Status (predeterminado Fallido): una transferencia bancaria o una autorización de un pedido falló, caducó o se canceló.
Refunded Status (predeterminado Reembolsado): el pago se reembolsó por completo a través de la extensión.
OpenCart notifica a los clientes de estos cambios de estado de la forma habitual. Si se paga un segundo pago del mismo carrito, el pedido no se modifica. Una nota en el pedido pagado te pide que reembolses el pago duplicado en tu panel de Mollie.
Las notas son entradas del History del pedido que el cliente no ve.
Pestaña VibeFox Mollie Gateway
En Sales > Orders, abre un pedido pagado con Mollie. En la parte inferior de la página del pedido, junto a History y Additional, la pestaña VibeFox Mollie Gateway muestra el ID de Mollie payment con la etiqueta Test mode para los pagos de prueba, el Method, el Status del pago, los importes Paid / refunded, el formulario de reembolso, el historial de reembolsos (fecha, ID del reembolso, importe, modo, estado de Mollie, motivo) y las Mollie notes del pedido. La pestaña se muestra a los usuarios que tienen acceso a la extensión.
Reembolsos
En la pestaña VibeFox Mollie Gateway, introduce el Amount (se rellena el importe que aún no se ha reembolsado), opcionalmente un Reason (optional), y haz clic en Refund via Mollie. Confirma la pregunta Refund this amount through Mollie? This cannot be undone. Se admiten reembolsos totales y parciales. Necesitas el permiso para modificar la extensión (se configura en System > Users > User Groups). Los reembolsos se hacen por el importe y la moneda que cobró Mollie, así que, después de una diferencia de importe, puedes reembolsar hasta lo que el cliente realmente pagó, no el total del pedido. El reembolso se envía para el pago que realmente pagó el pedido, con la clave API del modo en el que se hizo, por lo que esa clave debe estar configurada. Si Mollie rechaza el reembolso o lo informa como fallido o cancelado, la pestaña muestra el mensaje y no se registra ningún reembolso. Un reembolso correcto se añade al historial de reembolsos y a las notas, con el ID de reembolso de Mollie. Un reembolso total asigna al pedido el Refunded Status sin notificar al cliente y sin devolver los productos al stock, como un cambio manual de estado. Un reembolso parcial no cambia el estado. Los reembolsos están disponibles cuando Mollie ha informado de que el pago está pagado.
Las devoluciones de productos en Sales > Returns no devuelven dinero a través de Mollie. Los reembolsos creados en el panel de Mollie no se muestran en el pedido; un contracargo añade una nota.
Clave de licencia
La extensión funciona con una clave de licencia de VibeFox obtenida en vibefox.net. El bloque de licencia License — VibeFox Mollie Gateway es el primer bloque de Extensions > Extensions > Payments > VibeFox Mollie Gateway > Edit, encima de los ajustes. Pega la clave en License key y haz clic en Activate. Después, el bloque muestra la clave enmascarada, el estado (por ejemplo, la fecha hasta la que la licencia está activa y tu dominio) y los botones Check now para volver a comprobar el estado, Change key para introducir otra clave y Remove key para eliminar la clave de esta tienda. Debajo aparecen la línea Product: opencart-payment-mollie y el enlace Manage licenses and domains in your account, que abre tu cuenta de vibefox.net. Solo los usuarios administradores con el permiso Modify para la extensión pueden cambiar la clave. Los textos del bloque siguen el idioma del panel de administración (se incluyen inglés y ruso).
Si la clave no se acepta, el bloque indica el motivo, por ejemplo Key not found, This key belongs to another product, Domain limit reached o License expired on seguido de una fecha. Después de cambiar la dirección de la tienda, o después de liberar una plaza de dominio en tu cuenta, haz clic en Check now. Si el servidor de licencias no está disponible, la extensión sigue funcionando con el último estado conocido.
Una clave funciona en un solo dominio: la dirección de la tienda de la configuración de OpenCart. Eliminar la clave de la tienda no libera su plaza de dominio. Libérala en tu cuenta de vibefox.net.
Sin una clave activa, Mollie no se muestra a los clientes en la finalización de compra. Si de todas formas se inicia un pago, el cliente ve This payment method is not available. Please choose another one. Un usuario administrador que haya iniciado sesión en el panel de administración en el mismo navegador sigue viendo el método de pago en la tienda, marcado como (unlicensed — visible to admins only), para que puedas configurar y probar la extensión antes de comprar una clave. En OpenCart 4 esta vista previa no está disponible: la tienda no ve el inicio de sesión del administrador, por lo que, sin una clave activa, el método de pago se oculta a todos. Después de abrir la página Edit una vez, aparece un recordatorio en el Dashboard del panel de administración. Ciérralo con × para ocultarlo durante 7 días. Los pedidos existentes no se ven afectados: los pagos ya iniciados se siguen confirmando y los reembolsos funcionan.
Cuando una licencia caduca, la extensión sigue funcionando, pero las actualizaciones y el soporte requieren una renovación. El estado se vuelve a comprobar automáticamente cuando abres el Dashboard o la página Edit del panel de administración: una vez al día durante los primeros 14 días después de introducir la clave y, después, una vez por semana. No se necesita ninguna tarea cron. Al desinstalar la extensión siempre se eliminan la clave de licencia y el estado de la licencia.
Solución de problemas
Mollie no aparece en la finalización de compra: comprueba que la licencia está activa, que Enable/Disable está activado y que el modo actual tiene una clave API: Test API Key en modo de prueba, Live API Key en modo real. Comprueba que la moneda de la finalización de compra es compatible con Mollie, que la dirección de pago está en la Geo Zone seleccionada y que el pedido alcanza el Total de los ajustes. La página de ajustes muestra un aviso si falta una clave o si la moneda de la tienda no es compatible.
El pago se realizó, pero el pedido se queda sin estado: el webhook no puede llegar a tu tienda. La URL que aparece en Webhook URL debe ser accesible desde Internet (sin autenticación básica ni cortafuegos que lo bloqueen). El pedido también recibe su estado cuando el cliente vuelve a la tienda después de pagar, o cuando el cliente hace clic en Check again.
El webhook responde Unknown payment.: el pago no lo creó esta tienda, o Mollie no lo conoce con la clave API de su modo, por ejemplo un pago de otra cuenta de Mollie.
El webhook responde Payment ID mismatch.: el pago no pertenece al pedido para el que se creó. No se modifica nada.
El webhook responde Failed to fetch payment.: no se pudo contactar con la API de Mollie, o no está configurada la clave API del modo del pago. Mollie volverá a intentar el webhook más tarde.
El webhook responde Temporarily unavailable.: otra solicitud estaba procesando el carrito en el mismo momento, o no se pudo asignar el estado del pedido. Mollie vuelve a intentar el webhook. Activa Logging para ver el motivo.
La URL del webhook muestra Method not allowed. en el navegador: es normal. La URL solo acepta solicitudes de Mollie.
Una clave API no se guarda: la clave debe empezar por test_ o live_, seguido de al menos 30 letras y cifras. Cópiala de nuevo desde el panel de Mollie.
El cliente ve un error después de Confirm Order: revisa el campo Log de la página de la extensión. Muestra el código HTTP y el mensaje de Mollie. 401 significa una clave API incorrecta; 422 indica un campo de la solicitud, por ejemplo un importe o una moneda que Mollie no acepta. This payment method is not available. significa que la sesión de finalización de compra ya no coincide con el pedido, o que el método de pago se desactivó mientras tanto: el cliente debe recargar la finalización de compra.
El pedido está en el estado En espera: lee las notas de la pestaña VibeFox Mollie Gateway (consulta Order statuses) y, después, procesa el pedido o reembolsa el pago.
No hay formulario de reembolso en la pestaña: la pestaña indica el motivo: el pago todavía no está pagado, está reembolsado por completo, tu grupo de usuarios no tiene permiso para modificar la extensión, o el pago se hizo en modo de prueba o real y la clave API de ese modo no está configurada (introdúcela y vuelve a abrir el pedido).
Para desarrolladores: la extensión activa los eventos de OpenCart molg_supported_currencies (la lista de monedas) y molg_payment_data (la solicitud de pago y el pedido, antes de crear el pago de Mollie).
Desinstalación
Ve a Extensions > Extensions, elige el tipo Payments y haz clic en Uninstall (el botón rojo −) junto a VibeFox Mollie Gateway. La clave de licencia y el estado de la licencia de esta extensión siempre se eliminan. OpenCart siempre elimina los ajustes propios de la extensión: Enable/Disable, Sort Order, Geo Zone, Total y los estados de pedido de la sección Orders, que vuelven a sus valores predeterminados al reinstalar. El evento de OpenCart de la extensión también se elimina (en OpenCart 4, sus eventos y su acción de inicio, que deja pasar el webhook en modo de mantenimiento). Si Delete Data on Uninstall está activado, se eliminan los demás ajustes de la pasarela (título, descripción, modo de prueba, claves API, registro) y el registro. Si está desactivado, se conservan para una reinstalación posterior. Los ID de pago de Mollie y los registros de reembolsos siempre se conservan, así que los pedidos pagados antes se pueden reembolsar después de una reinstalación. Los pedidos existentes conservan sus notas de pago.
En OpenCart 4, para eliminar también los archivos de la extensión, ve a Extensions > Installer después de la desinstalación y haz clic en Uninstall (el botón naranja −) junto a VibeFox Mollie Gateway en la lista de extensiones instaladas, y después en Delete (el botón rojo con forma de papelera) para eliminar el paquete subido.
Mollie es una marca registrada de su titular. Esta extensión no está afiliada a Mollie ni cuenta con su respaldo.
