Volver

VibeFox Vindi for OpenCart — Ayuda

Requisitos

OpenCart: 3.0.x (probado en 3.0.5.0) o 4.0.2 y posterior (probado en 4.1.0.3).

PHP: 8.0 o posterior.

Moneda: el real brasileño (BRL) debe estar configurado en System > Localisation > Currencies. Vindi cobra solo en BRL, así que el método de pago se muestra solo cuando el cliente paga en BRL.

Cuenta de Vindi: necesitas la clave de API de tu cuenta de Vindi. El sandbox de Vindi es una cuenta de prueba de Vindi aparte, con su propia clave. Boleto, PIX y BolePix también deben estar activados en tu cuenta de Vindi si quieres ofrecerlos.

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_vindi_gateway-oc3-(version).ocmod.zip y el paquete de OpenCart 4 wcp_vindi_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_vindi_gateway-oc3-(version).ocmod.zip. La extensión no tiene modificaciones OCMOD, así que Extensions > Modifications no necesita actualizarse. En lugar del instalador, puedes copiar el contenido de la carpeta upload de este paquete en la carpeta raíz de tu tienda.

2. Ve a Extensions > Extensions y elige el tipo Payments. Busca VibeFox Vindi Gateway y haz clic en Install (el botón verde +). Tu usuario de administración 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. Introduce 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 (véase Clave de licencia).

4. Pega la Sandbox API key y, cuando estés listo, la Live API key. Elige los Offered methods.

5. Copia la URL del webhook de los ajustes en Vindi (véase Configuración).

6. Activa Enable / Disable y haz clic en Save. Prueba un pago en modo sandbox y luego desactiva Sandbox mode para aceptar pagos reales.

OpenCart 4

1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo wcp_vindi_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 de la misma página. Haz clic en Install (el botón verde +) junto a él.

3. Ve a Extensions > Extensions y elige el tipo Payments. Busca VibeFox Vindi 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, las API keys, los métodos y el webhook como en los pasos 3 a 6 de OpenCart 3. La página de ajustes y sus campos son los mismos en ambas versiones. Solo la URL del webhook es diferente (véase Webhook).

Una instalación nueva empieza con el método de pago desactivado y el modo sandbox activado.

Configuración

Todos los ajustes están en la página de la extensión: Extensions > Extensions > Payments > VibeFox Vindi Gateway > Edit. Las secciones aparecen a la izquierda; el botón Save situado debajo de la lista guarda la página completa. Encima de los ajustes, la página muestra el modo, TEST MODE o LIVE, y te avisa cuando la API key del modo actual está vacía (en ese caso el método de pago no se muestra en la finalización de compra) o cuando la moneda predeterminada de la tienda no es BRL (en ese caso el método de pago solo se muestra cuando el cliente paga en BRL). Sin el permiso para modificar la extensión, la página muestra los ajustes pero no puede guardarlos.

Al guardar, las claves se guardan tal como las escribes, sin espacios al principio y al final. Si no se selecciona ningún método de pago, se guarda la tarjeta de crédito y la página muestra Choose at least one payment method — credit card was selected. Un Title vacío o de más de 128 caracteres, un Sort Order que no sea un número entero (se permiten valores negativos), un Total que no sea un número igual o mayor que 0, o una zona geográfica o un estado de pedido que no existan, no se aceptan: no se guarda nada y la página muestra el mensaje, por ejemplo Enter a title for the payment method (1 to 128 characters).

Vindi

Enable / Disable: Enable Vindi payments activa o desactiva el método de pago. Predeterminado: desactivado.

Title: el nombre del método de pago que se muestra en la finalización de compra. Es también el nombre del método de pago guardado en el pedido. Predeterminado: Vindi. Obligatorio, como máximo 128 caracteres.

Description: el texto que ve el cliente en el paso Confirm Order, encima de los campos de pago. Predeterminado: Pay by credit card on the secure Vindi page, or by boleto / PIX.

Sort Order: la posición de Vindi entre los métodos de pago de la finalización de compra. Déjalo vacío o introduce un número entero (se permiten valores negativos).

Geo Zone: ofrece Vindi solo para direcciones de pago dentro de la zona geográfica seleccionada. Predeterminado: All zones. Las zonas geográficas se configuran en System > Localisation > Geo Zones.

Total: el total de la finalización de compra, en la moneda predeterminada de la tienda, que debe alcanzar un pedido antes de ofrecer Vindi. Déjalo vacío para ofrecer Vindi con cualquier total.

API keys

Crea las claves en el panel de Vindi, en Settings > API keys: en app.vindi.com.br para producción y en sandbox-app.vindi.com.br para el sandbox. Producción y sandbox tienen hosts y claves separados. Cada pago recuerda dónde se creó su factura, así que las comprobaciones, las cancelaciones y los reembolsos siempre usan ese entorno.

Sandbox mode: crea los nuevos pagos en el sandbox de Vindi, usando sandbox-app.vindi.com.br con la API key del sandbox. Los clientes ven una nota TEST MODE en la finalización de compra: Vindi sandbox: no real charges. Predeterminado: activado. Desactívalo para aceptar pagos reales.

Live API key: la clave privada de la cuenta de Vindi de producción. Solo se envía a la API de Vindi.

Sandbox API key: la clave privada de la cuenta sandbox de Vindi.

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 para cambiarlo. Para eliminar una clave guardada, marca Clear the saved key on save debajo del campo y haz clic en Save.

Métodos de pago

Offered methods: los métodos que pueden elegir los clientes. Predeterminado: tarjeta de crédito. Los métodos también deben estar activados en tu cuenta de Vindi.

Credit card: el cliente paga en la página de factura de Vindi.
Boleto: el boleto se emite de inmediato y el pedido queda en estado de espera.
PIX: el código QR de PIX y el código de copiar y pegar se emiten de inmediato, y el pedido queda en estado de espera.
BolePix (boleto + PIX): un boleto que también puede pagarse por PIX, emitido de inmediato como el boleto y PIX.

Boleto, PIX y BolePix requieren el CPF o CNPJ del cliente, que se pide en la finalización de compra.

Notificaciones de pago (webhook)

El webhook avisa a tu tienda de que una factura se ha pagado, cancelado, rechazado o reembolsado. El campo Webhook URL de esta sección muestra la URL. En OpenCart 3 tiene este aspecto: https://your-store/index.php?route=extension/payment/wcp_vindi_gateway/webhook&token=..., en OpenCart 4 así: https://your-store/index.php?route=extension/wcp_vindi_gateway/payment/wcp_vindi_gateway.webhook&token=.... Se genera a partir de la dirección de la tienda de tu instalación de OpenCart y contiene un token secreto creado por la extensión. Cópiala exactamente como la muestran los ajustes. En Vindi ve a Settings > Webhooks, tanto en la cuenta de producción como en la del sandbox, añade esta URL y selecciona estos eventos:

bill_paid: se pagó una factura.
bill_canceled: se canceló una factura.
charge_rejected: se rechazó un intento de pago.
charge_refunded: se reembolsó un pago, por ejemplo desde el panel de Vindi.

Vindi no firma sus notificaciones, así que las peticiones con un token ausente o incorrecto se rechazan, y cada notificación solo hace que la extensión vuelva a leer la factura a través de la API de Vindi antes de que cambie un pedido. La URL también funciona mientras la tienda está en modo mantenimiento (en OpenCart 4 una acción de inicio de la extensión deja pasar el webhook y la página de estado del pago). Las facturas de Vindi no tienen URL de retorno, así que sin el webhook un pago con tarjeta solo se detecta cuando el cliente vuelve a confirmar el pedido con el mismo carrito (entonces se encuentra la factura pagada), y un pago con boleto o PIX cuando el cliente vuelve a abrir el pedido en su cuenta (My Account > Order History).

Pedidos

OpenCart crea el pedido en el paso Confirm Order sin estado (un pedido sin estado). Solo recibe un estado después de que Vindi haya informado de la factura; la factura siempre se vuelve a leer desde Vindi. Los pedidos con boleto, PIX y BolePix reciben el estado de espera en cuanto se emite la factura. Cada campo siguiente muestra tus estados de pedido de OpenCart. OpenCart no tiene un estado de retenido, así que los estados de espera y retenido usan Pendiente de forma predeterminada; las notas del pedido los distinguen. Puedes crear tus propios estados en System > Localisation > Order Statuses y seleccionarlos aquí.

Order Status After Payment: se establece después de un pago de Vindi verificado. Predeterminado: En proceso.

Awaiting Vindi Payment Status: boleto, PIX o BolePix emitido en la finalización de compra; Vindi confirma el dinero más tarde. Los datos del pago se añaden al comentario del historial que ve el cliente. Predeterminado: Pendiente.

Vindi Payment On Hold Status: la factura está en revisión en Vindi, la factura pagada no coincide con el pedido (moneda, importe, código de factura o cliente de Vindi), o se pagó después de que el pedido se cancelara. Una nota explica el motivo. Predeterminado: Pendiente.

Payment Error Status: Vindi rechazó el intento de pago de un pedido en espera. El cliente aún puede pagar la misma factura; un pago posterior establece el estado de después del pago. Predeterminado: Fallido.

Canceled Status: la factura de un pedido en espera se canceló en Vindi. Cuando estableces un pedido de esta extensión a este estado, su factura pendiente de Vindi también se cancela. Predeterminado: Cancelado.

Refunded Status: se establece después de reembolsar por completo el pago desde la página del pedido. Predeterminado: Reembolsado.

Avanzado

Debug log: registra las llamadas a la API y las notificaciones en wc_vdi_debug.log.php, en la carpeta de registros de OpenCart (storage/logs, en OpenCart 4 system/storage/logs). El archivo no se puede abrir desde la web. Los errores y las advertencias siempre se registran, incluso cuando esto está desactivado. Las claves, el token del webhook y los datos de los clientes nunca se registran. Predeterminado: desactivado.

Log: muestra el tamaño y las últimas entradas 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, el token del webhook, la caché de productos y el registro. Los pedidos y las referencias de factura de Vindi de los pedidos se conservan. Predeterminado: desactivado.

Importar / Exportar

Export: Download JSON guarda los ajustes en un archivo JSON. Las API keys no se exportan.

Import: pega un JSON exportado antes y haz clic en Import para restaurar los ajustes. Las API keys guardadas se conservan.

Finalización de compra

En el paso Payment Method el cliente elige el método de pago (de forma predeterminada, Vindi). En el paso Confirm Order el cliente ve tu descripción. Cuando se ofrece más de un método, el cuadro de pago muestra Pay with y una elección entre tarjeta de crédito, boleto, PIX o BolePix. Cuando se ofrece boleto, PIX o BolePix, el cuadro también tiene un campo CPF or CNPJ. Es obligatorio cuando no se ofrece tarjeta de crédito; en caso contrario muestra Required for boleto and PIX. El campo se rellena con un campo personalizado del cliente o con la dirección llamada CPF o CNPJ cuando contiene un número válido. El número se comprueba mediante sus dígitos de control. Si falta algo, el cliente ve Please choose how you want to pay with Vindi., Please enter a valid CPF or CNPJ. o Please enter your CPF or CNPJ — it is required for boleto and PIX. En OpenCart 4 el cliente elige el método de pago con el botón Choose del bloque de método de pago, en la ventana Payment method options; el cuadro de pago con estos campos y el botón Confirm Order están al final de la página de finalización de compra.

Cuando el cliente hace clic en Confirm Order, la extensión crea un cliente de Vindi para este carrito a partir de la dirección de pago, y una factura de Vindi por el total del pedido, en una sola cuota. En Vindi la factura se llama Order # seguido del número de pedido de OpenCart.

Tarjeta de crédito: el cliente es enviado a la página de factura de Vindi y paga allí. El pedido se queda sin estado. Vindi no tiene URL de retorno para las facturas, así que el cliente no vuelve automáticamente a la tienda. El pedido recibe su estado cuando Vindi confirma el pago mediante el webhook. Si el cliente vuelve a confirmar el pedido con el mismo carrito y la factura ya está pagada, el pedido pagado se confirma y el cliente ve la página de éxito.

Boleto, PIX y BolePix: la factura se emite de inmediato, el pedido recibe el estado de espera y el cliente llega a la página de pedido realizado de OpenCart. Allí, y en los detalles del pedido de la cuenta del cliente, una sección Payment muestra el código QR de PIX, el código de PIX para copiar y pegar con un botón Copy code y su fecha de vencimiento, y un botón Open boleto. El correo electrónico del pedido y el historial de pedidos del cliente contienen el código PIX y el enlace del boleto. Si Vindi no devuelve los datos del boleto o de PIX, la factura se cancela y el cliente ve un error.

El pedido solo se marca como pagado después de que Vindi lo confirme: la extensión lee la factura desde la API de Vindi y comprueba la moneda, que la factura pertenece al pedido (código de factura y cliente de Vindi) y que el importe pagado es igual al total del pedido. La página de éxito y la página del pedido en la cuenta del cliente vuelven a comprobar un pedido en espera a través de la API, como máximo cada 15 segundos. Cuando se ha recibido el pago, la página de éxito muestra Your payment with Vindi has been received. Mientras el pago no esté confirmado, muestra We are confirming your payment with Vindi. The order will be updated automatically — please do not pay again. Para un pedido cancelado muestra This order was cancelled and its Vindi bill can no longer be paid. Please contact us if you have already paid.

Mientras el pago no esté confirmado, la página de éxito y la página del pedido en la cuenta del cliente (para un pedido en espera o retenido) también muestran un botón Check payment status. Comprueba la factura de Vindi más reciente del pedido. Un pedido confirmado o en espera vuelve a la página de éxito con sus datos de pago. Si la factura sigue sin pagar, la sección Payment dice Your payment has not been completed yet. If you have already paid, the order is confirmed as soon as Vindi reports the payment — please do not pay again. y tiene los botones Pay at Vindi, Check again y Back to checkout.

OpenCart 3 crea un pedido nuevo cada vez que se muestra el paso Confirm Order, OpenCart 4 actualiza el pedido de la finalización de compra, así que la extensión cobra cada carrito una sola vez. Si otro pedido del mismo carrito ya está pagado, esperando boleto o PIX, o retenido, el cliente va a la página de éxito y no se emite ninguna factura nueva. Un nuevo intento para el mismo pedido reutiliza su factura pendiente de Vindi si el método, el importe y el entorno son los mismos. En caso contrario, la factura anterior se cancela en Vindi antes de crear una nueva, de modo que el cliente no pueda pagar dos veces el mismo carrito. Un cambio del carrito, incluida una nueva cantidad, cuenta como un carrito nuevo que necesita su propio pago.

OpenCart 4 mantiene el pedido en la finalización de compra hasta que se muestra la página de éxito. Tras un pago con tarjeta rechazado o una factura cancelada, el cliente vuelve a pagar el mismo pedido. Si ese pedido se cerró sin pago mientras tanto, el cliente vuelve a la finalización de compra y el siguiente Confirm Order paga un pedido nuevo: un pedido cancelado muestra This order was cancelled and its Vindi bill can no longer be paid. Please contact us if you have already paid., y uno fallido Your Vindi payment attempt was rejected. You can try again below. En OpenCart 4 los mensajes de la página de estado de Payment que llevan de vuelta a la finalización de compra se muestran encima de la página de finalización de compra.

Si Vindi no puede iniciar el pago, el cliente permanece en el paso Confirm Order con un mensaje breve encima del botón, por ejemplo para que revise el CPF / CNPJ, la dirección de facturación (se necesitan calle, código postal, ciudad y estado para el boleto), el correo electrónico o el teléfono, o para indicar que Vindi no está disponible temporalmente. El motivo técnico se escribe en el registro.

La extensión acepta pagos únicos en una sola cuota. No tiene suscripciones ni cobros recurrentes, ni tarjetas guardadas, ni cuotas, ni formulario de tarjeta en tu sitio: la tarjeta siempre se introduce en la página de Vindi. El número de la casa y el barrio no forman parte de la dirección de OpenCart, así que no se envían a Vindi.

Pedidos y reembolsos

Estados de pedido

Sin estado (pedido sin estado): se inició un pago con tarjeta y Vindi aún no lo ha confirmado. En Sales > Orders estos pedidos solo se muestran con el filtro Order Status en Missing Orders. En OpenCart 4.1 ese pedido también puede tener el estado Voided, que OpenCart establece cuando se vuelve a mostrar el paso de confirmación; la extensión lo cuenta como un pedido sin estado.

Awaiting Vindi Payment Status (predeterminado Pendiente): un pago con boleto, PIX o BolePix está en espera. El pedido pasa a Order Status After Payment cuando Vindi informa de que la factura está pagada.

Order Status After Payment (predeterminado En proceso): el pago se confirmó. El pedido recibe su estado de la forma habitual de OpenCart, con los correos de pedido habituales y la actualización del stock. Una nota muestra la factura de Vindi, el importe y el entorno.

Vindi Payment On Hold Status (predeterminado Pendiente): la factura de Vindi está en revisión, la factura pagada no coincide con el pedido (moneda, importe, código de factura o cliente de Vindi), o la factura se pagó después de que el pedido se cancelara. La nota lo explica. Revisa el pedido y el stock, y después completa el pedido o reembolsa el pago.

Payment Error Status (predeterminado Fallido): Vindi rechazó el intento de pago de un pedido en espera. La nota muestra el motivo indicado por la adquirente, si lo hay. El cliente aún puede pagar la misma factura, y un pago posterior mueve el pedido a Order Status After Payment.

Canceled Status (predeterminado Cancelado): la factura de un pedido en espera se canceló en Vindi. Cuando estableces un pedido en este estado en OpenCart, su factura pendiente de Vindi también se cancela, de modo que ya no se puede pagar. Si no es posible, una nota te pide cancelar la factura en el panel de Vindi.

Refunded Status (predeterminado Reembolsado): el pago se reembolsó por completo a través de la extensión.

Si se paga una segunda factura de un pedido que ya está pagado, o de otro pedido de un carrito que ya está pagado, el pedido no cambia. Una nota en el pedido pagado te pide reembolsar un pago en Vindi. Las notas son entradas del History del pedido que el cliente no ve.

Pestaña VibeFox Vindi Gateway

En Sales > Orders abre un pedido pagado con Vindi. En la parte inferior de la página del pedido, junto a History y Additional, la pestaña VibeFox Vindi Gateway muestra la Vindi bill, el Charge, el entorno (con una insignia Sandbox para los pagos de sandbox), el Payment method, el Status, los importes Paid / refunded, el formulario de reembolso, el historial de reembolsos, todas las Bills of this cart y las Vindi notes del pedido. La pestaña se muestra a los usuarios que tienen acceso a la extensión.

Reembolsos

En la pestaña VibeFox Vindi 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 Vindi. Confirma la pregunta Refund this amount through Vindi? This cannot be undone. Se admiten reembolsos totales y parciales de pagos con tarjeta y PIX. Necesitas el permiso para modificar la extensión (se configura en System > Users > User Groups). Los reembolsos se limitan al importe que Vindi cobró realmente, así que tras una diferencia puedes reembolsar hasta lo que pagó el cliente, no el total del pedido. El reembolso se envía en el entorno del pago (producción o sandbox), así que la API key de ese entorno debe estar configurada.

Un reembolso total también cancela la factura en Vindi y pone el pedido en Refunded Status sin notificar al cliente y sin devolver productos al stock, como un cambio manual de estado. Un reembolso parcial no cambia el estado. Un reembolso correcto se añade al historial de reembolsos y a las notas, con el cargo de Vindi y el estado. Si Vindi o la adquirente rechazan el reembolso, la pestaña muestra el error y no se registra ningún reembolso. Los reembolsos están disponibles una vez que Vindi ha informado de que la factura está pagada.

Vindi no puede reembolsar pagos con boleto. La pestaña muestra Vindi cannot refund boleto payments. Return the money to the customer by bank transfer and record the refund manually.

Las devoluciones de productos en Sales > Returns no devuelven dinero a través de Vindi. Los reembolsos hechos en el panel de Vindi llegan mediante el webhook charge_refunded y se añaden a las notas. El estado del pedido no cambia automáticamente. Actualízalo manualmente si es necesario.

Clave de licencia

La extensión funciona con una clave de licencia de VibeFox de vibefox.net. El bloque de licencia License — VibeFox Vindi Gateway es el primer bloque de Extensions > Extensions > Payments > VibeFox Vindi Gateway > Edit, encima de los ajustes. Introduce 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 quitar la clave de esta tienda. Debajo aparecen la línea Product: opencart-payment-vindi 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 de 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 es aceptada, 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 que cambie la dirección de la tienda, o después de liberar una plaza de dominio en tu cuenta, haz clic en Check now. Si no se puede contactar con el servidor de licencias, 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. Quitar la clave de la tienda no libera su plaza de dominio. Libera la plaza en tu cuenta de vibefox.net.

Sin una clave activa, Vindi no se muestra a los clientes en la finalización de compra. Si se inicia un pago de todos modos, 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, así que sin una clave activa el método de pago se oculta para todos. Tras abrir una vez la página Edit, 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: las facturas ya creadas siguen confirmándose mediante el webhook de Vindi, y los reembolsos funcionan.

Cuando una licencia caduca, la extensión sigue funcionando, pero las actualizaciones y el soporte necesitan una renovación. El estado se vuelve a comprobar automáticamente cuando abres el Dashboard del panel de administración o la página Edit: una vez al día durante los primeros 14 días después de introducir la clave, y después una vez a la 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

Vindi no aparece en la finalización de compra: comprueba que la licencia está activa, que Enable / Disable está activado, que el cliente paga en BRL, que al menos un método está seleccionado en Offered methods y que el modo actual tiene una API key: Sandbox API key en modo sandbox, Live API key en modo de producción. La página de ajustes muestra una advertencia cuando falta la clave o la moneda de la tienda no es BRL. Comprueba también que la dirección de pago está en la Geo Zone seleccionada y que el pedido alcanza el Total definido en los ajustes.

El pago se realizó, pero el pedido se queda sin estado o en el estado de espera: el webhook no funciona. En Vindi comprueba que el webhook existe en la cuenta que usas (producción o sandbox), que su URL es exactamente la que muestran los ajustes, incluido el token, y que están seleccionados los cuatro eventos.

El webhook responde Forbidden: el token de la URL falta o es incorrecto. Copia de nuevo la URL desde los ajustes.

El webhook responde Verification failed, retry later: no se pudo leer la factura desde la API de Vindi (por ejemplo, se eliminó la API key de ese entorno), el carrito se estaba actualizando con otra petición en el mismo momento, o no se pudo establecer el estado del pedido. Vindi envía la notificación de nuevo. El registro muestra el motivo.

La URL del webhook muestra Method not allowed en el navegador: es normal. La URL solo acepta peticiones de Vindi.

El cliente ve This payment method is temporarily unavailable: Vindi rechazó la API key. Comprueba la clave del modo actual.

El cliente ve un error después de Confirm Order: mira el campo Log de la página de la extensión. Los errores se registran incluso cuando Debug log está desactivado. Para el boleto, la dirección de facturación debe tener calle, código postal, ciudad y estado.

El pedido está en el estado retenido: lee las notas de la pestaña VibeFox Vindi Gateway (véase Estados de pedido), y después completa el pedido o reembolsa el pago.

Pedidos antiguos de sandbox tras cambiar a producción: cada pago conserva el entorno de su factura. Las comprobaciones, cancelaciones y reembolsos de los pedidos de sandbox siguen usando la clave de sandbox mientras esté en los ajustes.

El reembolso falla: lee el mensaje. Los pagos con boleto no se pueden reembolsar a través de Vindi, y la API key del entorno del pago debe estar configurada. Sin el permiso para modificar la extensión, la pestaña dice You do not have permission to refund orders (modify this extension).

Para desarrolladores: antes de crear el cliente y la factura de Vindi, la extensión activa los eventos de OpenCart wc_vdi_customer_request y wc_vdi_bill_request con los datos de la petición y el pedido.

Desinstalación

Ve a Extensions > Extensions, elige el tipo Payments y haz clic en Uninstall (el botón rojo −) junto a VibeFox Vindi 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. También se eliminan los eventos de OpenCart de la extensión (en OpenCart 4 también su acción de inicio, que deja pasar en modo mantenimiento el webhook y la página de estado del pago). Si Delete data on uninstall está activado, se eliminan los demás ajustes (título, descripción, modo sandbox, API keys, métodos de pago, registro), el token del webhook, la caché de productos y el registro. Si está desactivado, se conservan para una reinstalación posterior. Las facturas y reembolsos de Vindi de los pedidos siempre se conservan, así que los pedidos pagados antes pueden reembolsarse tras 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 tras la desinstalación y haz clic en Uninstall (el botón naranja −) junto a VibeFox Vindi Gateway en la lista de extensiones instaladas, y después en Delete (el botón rojo de la papelera) para eliminar el paquete subido.

Vindi es una marca comercial de su respectivo titular. Esta extensión no está afiliada ni respaldada por Vindi.