VibeFox Razorpay 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.
Cuenta de Razorpay: necesitas el Key ID y el Key Secret de tu cuenta de Razorpay para el modo de prueba, y para el modo de producción una vez que tu cuenta esté activada. Se recomienda encarecidamente un webhook con un secreto de tu elección (véase Configuración). Los pagos en monedas distintas de INR necesitan que International Payments esté activado en tu cuenta de Razorpay.
Clave de licencia de VibeFox: se compra en vibefox.net. Una clave funciona en un dominio.
Instalación
La descarga es un único archivo zip con los paquetes de ambas versiones de OpenCart. Descomprímelo en tu ordenador. Contiene README.txt, el paquete de OpenCart 3 wcp_razorpay_payment-oc3-(version).ocmod.zip y el paquete de OpenCart 4 wcp_razorpay_payment.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_razorpay_payment-oc3-(version).ocmod.zip. La extensión no tiene modificaciones OCMOD, así 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 y elige el tipo Payments. Busca VibeFox Razorpay Payment 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 con el lápiz) para abrir la página de ajustes. 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 (véase Clave de licencia).
4. Introduce tu Test Key ID y tu Test Key Secret, configura el webhook en el Razorpay Dashboard e introduce su secreto (véase Configuración).
5. Activa Enable/Disable y haz clic en Save. Haz un pago de prueba con Test mode activado. Cuando estés listo, introduce las claves Live y desactiva Test mode.
OpenCart 4
1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo wcp_razorpay_payment.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 y elige el tipo Payments. Busca VibeFox Razorpay Payment, haz clic en Install (el botón verde +) y después en Edit (el botón con el lápiz).
4. Introduce la clave de licencia, las claves de Razorpay y el webhook como en los pasos 3 a 5 de OpenCart 3. La página de ajustes y sus campos son iguales en ambas versiones. Solo la URL del webhook es distinta (véase Webhook).
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 Razorpay Payment > Edit. Las secciones aparecen en la lista de la izquierda; el botón Save situado debajo de la lista guarda toda la página. Sin el permiso para modificar la extensión, la página muestra los ajustes pero no permite guardarlos.
Encima de los ajustes, la página explica que el pedido recibe un estado solo después de que el pago se verifique con Razorpay, y muestra avisos: faltan las claves del modo actual (en ese caso Razorpay no se muestra en la finalización de compra), el Key ID no empieza por rzp_test_ en modo de prueba ni por rzp_live_ en modo de producción, el modo de prueba está activado, el secreto del webhook está vacío, o la moneda predeterminada de la tienda no es INR y necesita International Payments en tu cuenta de Razorpay. Los avisos se actualizan después de cada guardado.
Al guardar, Title debe tener de 1 a 128 caracteres (Enter a title for the payment method (1 to 128 characters).), Sort Order debe ser un número entero (se permiten los negativos), Total debe ser un número igual o mayor que 0, y la zona geográfica y cada estado de pedido deben existir. Si no se cumple, no se guarda nada. Los espacios pegados junto con los Key ID se eliminan.
Razorpay
Enable/Disable: Enable Razorpay Payment Gateway activa o desactiva el método de pago. Predeterminado: desactivado.
Title: el nombre del método de pago que ven los clientes en la finalización de compra. También es el nombre del método de pago que se guarda en el pedido. Predeterminado: UPI, Cards, NetBanking. Obligatorio, hasta 128 caracteres.
Description: el texto que ve el cliente en el paso Confirm Order, encima del botón de confirmar. Predeterminado: Pay securely via UPI, Credit/Debit Card, or Internet Banking through Razorpay.
Sort Order: la posición de Razorpay entre los métodos de pago en la finalización de compra. Déjalo vacío o introduce un número entero.
Geo Zone: ofrece Razorpay solo para 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 total de la compra, en la moneda predeterminada de la tienda, que debe alcanzar un pedido para que se ofrezca Razorpay: un número igual o mayor que 0. Déjalo vacío para ofrecer Razorpay con cualquier total.
Claves de API
Obtén tus claves en el Razorpay Dashboard, en Account & Settings > API Keys (la página incluye un enlace a esa sección). Cambia el Dashboard al modo de prueba para generar claves de prueba (rzp_test_...). Las claves de producción (rzp_live_...) están disponibles una vez que tu cuenta esté activada.
Test mode: usa las claves del modo de prueba, así que no se cobra dinero real. Predeterminado: activado. Desactívalo para aceptar pagos reales. Los pagos, las capturas y los reembolsos de un pedido siempre usan las claves del modo en el que se pagó el pedido, así que cambiar el modo más adelante no afecta a los pedidos existentes. Mientras esté activado, los clientes ven Razorpay Test mode: no real money will be charged. en el paso Confirm Order y en la página de pago.
Test Key ID: el Key ID del Razorpay Dashboard en modo de prueba. Empieza por rzp_test_.
Test Key Secret: el Key Secret del Razorpay Dashboard en modo de prueba.
Live Key ID: el Key ID del Razorpay Dashboard en modo de producción. Empieza por rzp_live_.
Live Key Secret: el Key Secret del Razorpay Dashboard en modo de producción.
Los secretos guardados 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 cambiarlo. Para eliminar un valor guardado, marca Clear the saved value on save debajo del campo y haz clic en Save.
Pago
Payment Action: el momento en que se cobra el dinero. Predeterminado: Authorize & Capture.
Webhook
El webhook confirma los pagos incluso cuando el cliente cierra el navegador justo después de pagar, y registra los reembolsos realizados en el Razorpay Dashboard. En el Razorpay Dashboard ve a Account & Settings > Webhooks y añade un webhook en modo de prueba y otro en modo de producción. Usa la URL que aparece en Webhook URL en esta sección. En OpenCart 3 tiene este aspecto: https://your-store/index.php?route=extension/payment/wcp_razorpay_payment/webhook, y en OpenCart 4, este: https://your-store/index.php?route=extension/wcp_razorpay_payment/payment/wcp_razorpay_payment.webhook. Se construye a partir de la dirección de la tienda de tu instalación de OpenCart. Cópiala exactamente como la muestran los ajustes. Introduce en Razorpay un secreto de tu elección y selecciona estos eventos (también aparecen en esta sección):
Webhook Secret: el secreto que introdujiste al crear el webhook. Usa el mismo secreto para el webhook de prueba y para el de producción, porque la extensión tiene un solo campo para ambos. Los webhooks sin una firma válida se rechazan. Sin el webhook, un pago solo se confirma cuando el cliente vuelve de la ventana emergente, o cuando el cliente inicia de nuevo el pago del mismo carrito más adelante.
Pedidos
OpenCart crea el pedido en el paso Confirm Order sin estado (un pedido faltante). El pedido recibe un estado solo después de que Razorpay haya confirmado el pago. Un pago fallido o abandonado deja el pedido sin estado, y el carrito se conserva. OpenCart no tiene un estado Autorizado ni un estado En espera, así que eliges estados existentes; las notas del pedido explican el motivo. Cada campo siguiente muestra tus estados de pedido de OpenCart.
Order Status After Payment: el pago se captura y el importe y la moneda coinciden. Predeterminado: En curso.
Authorized Status: Authorize Only: el dinero queda reservado, sin capturar todavía. Predeterminado: Pendiente.
On Hold (Review) Status: revisión manual: el importe o la moneda pagados no coinciden con el total del pedido, llegó un pago para un pedido cancelado, o la firma de la ventana emergente era válida pero el pago no se pudo verificar mediante la API de Razorpay. Predeterminado: Pendiente. Puedes crear tus propios estados en System > Localisation > Order Statuses y seleccionarlos aquí.
Cancelled Status: la extensión nunca asigna este estado. Solo indica a la extensión qué pedidos están cancelados: un pago capturado más tarde para uno de estos pedidos lo pone en revisión en lugar de reabrirlo; un pago autorizado solo añade una nota. Predeterminado: Cancelado.
Refunded Status: se asigna cuando el pago se reembolsa por completo, desde la pestaña del pedido o en el Razorpay Dashboard. Predeterminado: Reembolsado.
Avanzado
Enable Logging: el registro se escribe en razorpay_p_debug.log.php en la carpeta de logs de OpenCart (storage/logs). El archivo no se puede abrir desde la web. Los errores y las advertencias siempre se registran; esta opción añade los detalles de depuración. Las claves, las firmas y los datos de contacto del cliente 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 el registro. Los pedidos y sus transacciones y reembolsos de Razorpay siempre se conservan. Predeterminado: desactivado.
Importar / Exportar
Export: Download JSON guarda los ajustes como un archivo JSON. Las claves secretas no se exportan.
Import: pega el JSON exportado anteriormente y haz clic en Import para restaurar los ajustes. Las claves secretas guardadas se conservan.
Finalización de compra
En el paso Payment Method el cliente elige el método de pago (de forma predeterminada UPI, Cards, NetBanking). En el paso Confirm Order el cliente ve tu descripción y la nota After "Confirm Order" the Razorpay Checkout window opens to pay securely (UPI, cards, NetBanking, wallets). OpenCart crea el pedido en este paso, todavía sin estado. Cuando el cliente hace clic en Confirm Order, la extensión crea un pedido en Razorpay por el total exacto del pedido y su moneda, y abre la página de Razorpay payment de tu tienda. La ventana emergente de Razorpay Checkout se abre allí automáticamente, con el nombre, el correo electrónico y el teléfono del cliente ya rellenados. 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. El pago aparece en Razorpay como Order # y el número de pedido. Si se cierra la ventana emergente, el cliente puede hacer clic en Pay Now para abrirla de nuevo o en Choose another payment method para volver a la finalización de compra. El carrito se conserva.
Después de un pago correcto, el cliente ve Please wait while we process your payment... La extensión comprueba la firma de Razorpay, obtiene el pago desde la API de Razorpay y compara el importe y la moneda con el pedido. El pedido se marca como pagado solo cuando Razorpay lo confirma. Después, el pedido recibe su estado de la forma habitual de OpenCart, con los correos electrónicos habituales del pedido y la actualización del stock, y el cliente ve la página de éxito del pedido de OpenCart. Si la firma es válida pero el pago no se puede obtener en ese momento, el pedido recibe el On Hold (Review) Status y el webhook lo confirma más tarde.
OpenCart 3 crea un pedido nuevo cada vez que se muestra el paso Confirm Order. OpenCart 4 mantiene un solo pedido para la finalización de compra y lo actualiza, así que tras cerrar la ventana emergente o elegir Choose another payment method, el cliente paga el mismo pedido. Antes de iniciar un pago nuevo, la extensión comprueba los pedidos de Razorpay abiertos del mismo carrito: si uno ya está pagado, por ejemplo porque el cliente cerró el navegador y no hay webhook, se aplica en lugar de pedir un segundo pago, y los demás dejan de ofrecerse. Si el cliente paga el mismo pedido otra vez, se reutiliza su pedido de Razorpay siempre que no cambien el importe, la moneda ni el modo; si no, se crea uno nuevo. Si el carrito ya está pagado con otro pedido, el cliente va directamente a la página de éxito.
Mensajes que puede ver el cliente:
En OpenCart 4, si la tienda cerró el pedido de la finalización de compra o si ya está pagado para otro carrito (por ejemplo, porque el carrito ha cambiado desde entonces, incluida una nueva cantidad), el cliente vuelve a la finalización de compra con Your previous order is already closed or paid. Please confirm the order again: the cart will be paid with a new order., y el siguiente Confirm Order paga un pedido nuevo. En OpenCart 4, los mensajes que llevan de nuevo a la finalización de compra, como este, Payment session not found. Please try again. y We could not verify your payment., se muestran encima de la página de finalización de compra.
El webhook también funciona mientras la tienda está en modo de mantenimiento: OpenCart 3 deja pasar las solicitudes de las extensiones de pago, y en OpenCart 4 la extensión añade una acción de inicio para el webhook y para el resultado de la ventana emergente.
La extensión solo admite pagos únicos. No tiene suscripciones ni pagos recurrentes, ni tarjetas guardadas, ni Razorpay Magic Checkout, Payment Links o Route (pagos divididos), ni widgets de ofertas o de asequibilidad.
Pedidos y reembolsos
Estados de pedido
Sin estado (pedido faltante): el cliente no ha pagado, el intento de pago ha fallado o Razorpay todavía no ha confirmado el pago. En Sales > Orders estos pedidos solo se muestran con el filtro Order Status configurado en Missing Orders.
Order Status After Payment (predeterminado En curso): el pago se capturó y se confirmó. Una nota muestra el ID del pago de Razorpay (pay_...), el importe y cómo se confirmó (callback, webhook, sincronización o administrador).
Authorized Status (predeterminado Pendiente): el pago solo fue autorizado (Authorize Only). Captúralo para completar el pedido.
On Hold (Review) Status (predeterminado Pendiente): se asigna en estos casos, cada uno con una nota: el importe o la moneda pagados no coincidían con el pedido, el pago se capturó para un pedido cancelado, o el pago no se pudo verificar mediante la API de Razorpay en ese momento. Revisa el pedido y tramítalo o reembolsa el pago.
Cancelled Status: un pago que llega más tarde para un pedido cancelado no lo reabre automáticamente: un pago autorizado no se captura y solo recibe una nota, y un pago capturado pone el pedido en revisión. Una notificación repetida del pago que ya pagó el pedido no cambia nada, incluso si cancelaste el pedido después.
Refunded Status (predeterminado Reembolsado): el pago se reembolsó por completo.
Si llega un pago adicional para un pedido que ya está pagado, el pedido no cambia. Una nota te pide que lo reembolses en el Razorpay Dashboard si no era intencionado. Un pago tardío de un pedido anterior de un carrito que ya está pagado deja ese pedido anterior sin estado, y el pedido pagado recibe la nota. Un payment.failed tardío para un pedido pagado solo añade una nota.
Las notas son entradas del History del pedido que el cliente no ve.
Pestaña VibeFox Razorpay Payment
En Sales > Orders abre un pedido pagado con Razorpay. En la parte inferior de la página del pedido, junto a History y Additional, la pestaña VibeFox Razorpay Payment muestra el Payment ID con una etiqueta Test mode para los pagos de prueba, el Razorpay order, el Status del pago, Paid / refunded (el importe que cobró Razorpay y el importe reembolsado), el botón de captura, el formulario de reembolso, el historial de reembolsos y las Razorpay notes del pedido. La pestaña se muestra a los usuarios que tienen acceso a la extensión. La captura y los reembolsos necesitan el permiso para modificar la extensión (se configura en System > Users > User Groups).
Captura (Authorize Only)
Abre el pedido en el Authorized Status, haz clic en Capture Razorpay payment en la pestaña y confirma Capture the authorized Razorpay payment? El pago se captura en el modo en que se autorizó, y el pedido pasa a Order Status After Payment, sin notificar al cliente y sin cambiar el stock, igual que un cambio manual de estado. Si Razorpay lo rechaza, la pestaña y las notas muestran Razorpay capture failed: con el motivo. Una captura hecha en el Razorpay Dashboard completa el pedido mediante el webhook.
Reembolsos
En la pestaña introduce el Amount (se rellena el importe que aún no se ha reembolsado), opcionalmente un Reason (optional), y haz clic en Refund via Razorpay. Confirma la pregunta Refund this amount through Razorpay? This cannot be undone. Se admiten reembolsos totales y parciales. Los reembolsos se hacen en el importe y la moneda que cobró Razorpay, así que tras una diferencia de importe puedes reembolsar hasta lo que el cliente pagó realmente, y no el total del pedido. Un importe mayor muestra Invalid refund amount: at most seguido del importe. El reembolso se envía con las claves del modo en el que se hizo el pago. Si Razorpay no acepta el reembolso, la pestaña muestra Razorpay refund failed: con el motivo, y no se registra ningún reembolso. Un reembolso correcto se añade al historial de reembolsos y a las notas con el ID del reembolso de Razorpay, el importe y el estado. Un reembolso total asigna al pedido el Refunded Status sin notificar al cliente y sin devolver productos al stock. Un reembolso parcial no cambia el estado. Los reembolsos están disponibles una vez capturado el pago.
Las devoluciones de productos en Sales > Returns no devuelven dinero a través de Razorpay.
Los reembolsos realizados en el Razorpay Dashboard llegan mediante el webhook y se registran una sola vez en el historial de reembolsos (marcados como Razorpay Dashboard) y en las notas. Cuando el pedido se reembolsa por completo, su estado pasa a Refunded Status. Un reembolso del Dashboard en otra moneda o superior al importe reembolsable no se registra automáticamente; una nota te pide registrarlo manualmente.
Clave de licencia
La extensión funciona con una clave de licencia de VibeFox obtenida en vibefox.net. El bloque de licencia License — VibeFox Razorpay Payment es el primer bloque de Extensions > Extensions > Payments > VibeFox Razorpay Payment > 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-razorpay 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 administrador (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 no se puede contactar con el servidor de licencias, la extensión sigue funcionando con el último estado conocido.
Una clave funciona en un 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, Razorpay 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 en el panel de administración, así que sin una clave activa el método de pago queda oculto para todos. Después de abrir la página Edit una vez, aparece un recordatorio en el Dashboard del administrador. Ciérralo con × para ocultarlo durante 7 días. Los pedidos existentes no se ven afectados: los pagos ya iniciados se siguen confirmando, y las capturas 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 al abrir el Dashboard o la página Edit del administrador: 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. Desinstalar la extensión elimina siempre la clave de licencia y el estado de la licencia.
Solución de problemas
Razorpay no aparece en la finalización de compra: comprueba que la licencia esté activa, que Enable/Disable esté activado y que el modo actual tenga las dos claves: Test Key ID y Test Key Secret en modo de prueba, Live Key ID y Live Key Secret en modo de producción. La página de ajustes muestra un aviso cuando faltan. Comprueba también que la dirección de pago esté en la Geo Zone seleccionada y que el pedido alcance el Total definido en los ajustes.
El pago se realizó, pero el pedido sigue sin estado: el webhook no funciona. En el Razorpay Dashboard comprueba que el webhook existe en el modo que usas (Test o Live), que su URL es exactamente la que aparece en Webhook URL y que los cinco eventos están seleccionados. Comprueba que Webhook Secret sea el mismo secreto que hay en Razorpay. El pedido también recibe su estado cuando el cliente vuelve de la ventana emergente o inicia de nuevo el pago del mismo carrito.
El webhook responde Webhook secret not configured: Webhook Secret está vacío. Introduce el secreto del webhook de Razorpay. Razorpay volverá a enviar el evento más adelante.
El webhook responde Invalid signature o Missing signature: el secreto de los ajustes no coincide con el secreto del webhook de Razorpay. Introduce el mismo secreto en ambos sitios, para el webhook de prueba y para el de producción.
El webhook responde Retry later: la extensión no pudo confirmar una captura con la API de Razorpay, no se pudo asignar el estado del pedido, o el carrito estaba siendo actualizado por otra solicitud en ese mismo momento. Razorpay vuelve a enviar el evento automáticamente. El motivo está en el Log.
La URL del webhook muestra Method not allowed en el navegador: es normal. La URL solo acepta solicitudes de Razorpay.
Un pedido está en el estado de revisión: lee las notas de la pestaña VibeFox Razorpay Payment. El importe o la moneda no coincidían con el pedido, el pago llegó para un pedido cancelado, o no se pudo verificar mediante la API de Razorpay en ese momento y espera al webhook.
El cliente ve un error al pagar: revisa el campo Log de la página de la extensión. Los errores se registran incluso con Enable Logging desactivado. Las claves incorrectas muestran el mensaje de que el método de pago no está disponible en este momento. Otros motivos de Razorpay se muestran después de Razorpay could not accept this payment:.
La ventana emergente no se abre: un bloqueador de contenido o la conexión ha bloqueado el script de Razorpay Checkout. El cliente ve un mensaje y puede recargar la página.
No aparece el formulario de captura o reembolso en la pestaña: la pestaña indica el motivo: el pago todavía no está capturado, está reembolsado por completo, tu grupo de usuarios no tiene permiso para modificar la extensión, o no están configuradas las claves del modo en el que se hizo el pago (The payment was made in Test mode, but the Test Key ID / Key Secret are not configured. o lo mismo para el modo de producción). Introduce las claves de ese modo e inténtalo de nuevo.
Desinstalación
Ve a Extensions > Extensions, elige el tipo Payments y haz clic en Uninstall (el botón rojo −) junto a VibeFox Razorpay Payment. La clave de licencia y el estado de la licencia de esta extensión siempre se eliminan. OpenCart siempre elimina sus propios ajustes 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. En OpenCart 4 también se eliminan los eventos de la extensión 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, acción de pago, secreto del webhook, registro) y el registro. Si está desactivado, se conservan para una reinstalación posterior. Las transacciones y los reembolsos de Razorpay siempre se conservan, así que los pedidos pagados antes se pueden capturar y reembolsar después de reinstalar. 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 desinstalarla, haz clic en Uninstall (el botón naranja −) junto a VibeFox Razorpay Payment en la lista de extensiones instaladas y después en Delete (el botón rojo de papelera) para eliminar el paquete subido.
Razorpay es una marca comercial de su propietario. Esta extensión no está afiliada a Razorpay ni cuenta con su respaldo.
