VibeFox Cashfree 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.
HTTPS: Cashfree envía los webhooks solo a direcciones https://. Sin HTTPS los pagos se siguen confirmando cuando el cliente vuelve a la tienda, pero activa HTTPS antes de pasar a producción.
Cuenta de Cashfree: necesitas el App ID y la Secret Key de tu cuenta de Cashfree, por separado para el entorno de pruebas (sandbox) y el de producción, y un webhook en el Merchant Dashboard de Cashfree (ver Configuración). La Secret Key también se usa para verificar los webhooks, así que no hay una clave secreta de webhook aparte. La moneda del pedido debe estar habilitada en tu cuenta de Cashfree.
Clave de licencia de VibeFox: se compra en vibefox.net. Una clave funciona en un solo dominio.
Instalación
El archivo descargado es un único zip con los paquetes de ambas versiones de OpenCart. Descomprímelo en tu ordenador. Contiene README.txt, el paquete de OpenCart 3 wcp_cashfree_payment-oc3-(version).ocmod.zip y el paquete de OpenCart 4 wcp_cashfree_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_cashfree_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 Cashfree Payments 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 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 (ver Clave de licencia).
4. Introduce el Sandbox App ID y la Sandbox Secret Key, añade el webhook en el Merchant Dashboard de Cashfree (ver Configuración), activa Enable/Disable, haz clic en Save y prueba un pago.
5. Cuando estés listo, introduce el App ID y la Secret Key de producción, desactiva Sandbox Mode y haz clic en Save.
OpenCart 4
1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo wcp_cashfree_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 Cashfree Payments, haz clic en Install (el botón verde +) y después en Edit (el botón del lápiz).
4. Pega la clave de licencia y las claves de Cashfree, y configura el webhook, igual que 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 (ver 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 Cashfree Payments > 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 explica que el pedido solo recibe un estado cuando Cashfree confirma el pago. Cuando el método de pago está activado, la página avisa si faltan las claves API del modo seleccionado (en ese caso el método de pago se oculta en la finalización de compra) y muestra Sandbox mode is on: customers see a test checkout and no real money is charged. mientras el modo sandbox esté activado. Sin el permiso para modificar la extensión, la página muestra los ajustes pero no puede guardarlos.
Al guardar, Title no puede estar vacío (como máximo 128 caracteres), API Version debe ser una de las versiones de la lista, Sort Order debe ser un número entero, Total debe ser un número igual o mayor que 0, y la zona geográfica y los estados de pedido deben existir; de lo contrario, no se guarda nada. Si guardas un método de pago activado sin las claves del modo seleccionado, los ajustes se guardan con una advertencia de que seguirá oculto en la finalización de compra hasta que se introduzcan.
Cashfree Payments
Enable/Disable: Enable Cashfree Payments 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 guardado en el pedido. Predeterminado: Cashfree Payments. Obligatorio.
Description: el texto que ve el cliente en el paso Confirm Order, encima del botón de confirmación. Predeterminado: Pay securely via Card, UPI, Net Banking, Wallet via Cashfree.
Sort Order: la posición de Cashfree 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 Cashfree 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 un pedido debe alcanzar antes de ofrecer Cashfree. Déjalo vacío para ofrecer Cashfree con cualquier total. Los importes inferiores al mínimo de Cashfree para la moneda (1 unidad; 0,01 o 0,1 en monedas con tres decimales) nunca se ofrecen.
Modo y claves API
Obtén tu App ID y tu Secret Key en el Merchant Dashboard de Cashfree, en Developers > API Keys (la página incluye enlaces allí). Las claves de prueba y de producción son distintas.
Sandbox Mode: usa el sandbox de Cashfree para las pruebas. No se cobra dinero real, y el paso Confirm Order y la página de pago muestran SANDBOX MODE - no real payments will be processed. Predeterminado: activado. Desactívalo para los pagos reales.
Sandbox App ID: el App ID de tu entorno de pruebas de Cashfree.
Sandbox Secret Key: la Secret Key de tu entorno de pruebas de Cashfree.
App ID: el App ID de tu entorno de producción de Cashfree.
Secret Key: la Secret Key de tu entorno de producción de Cashfree.
Las Secret Keys guardadas no vuelven a mostrarse nunca. El campo queda vacío y muestra Guardada — déjalo vacío para mantenerla. Escribe un valor nuevo solo si quieres cambiarlo. Para eliminar una clave guardada, marca Clear the saved value on save debajo del campo y haz clic en Save.
Los pagos conservan el entorno en el que se crearon. Sus webhooks se verifican, su estado se comprueba y sus reembolsos se envían con las claves de ese entorno, así que mantén rellenas las claves de sandbox hasta que los pagos de sandbox estén liquidados tras pasar a producción.
Webhook
El webhook informa a tu tienda de que un pago se ha realizado, ha fallado o se ha reembolsado. En el Merchant Dashboard de Cashfree ve a Developers > Webhooks y añade la URL que aparece en Webhook URL de esta sección, con los eventos Payment y Refund. En OpenCart 3 tiene el aspecto de https://your-store/index.php?route=extension/payment/wcp_cashfree_payment/webhook y en OpenCart 4 el de https://your-store/index.php?route=extension/wcp_cashfree_payment/payment/wcp_cashfree_payment.webhook. Se construye a partir de la dirección de la tienda de tu instalación de OpenCart. Copia la URL exactamente como la muestran los ajustes. En una tienda con HTTPS, la extensión también pasa esta URL a Cashfree con cada pago. Si tu tienda no usa HTTPS, esta sección muestra una advertencia.
La extensión gestiona estos eventos (también aparecen listados en esta sección):
Cashfree firma cada webhook con tu Secret Key. Los webhooks sin una firma válida se rechazan. Un webhook debe estar firmado con la Secret Key del entorno en el que se hizo el pago, de modo que una clave de sandbox nunca confirma un pago real. Los webhooks firmados de pagos que no inició esta tienda (por ejemplo, otra tienda en la misma cuenta de Cashfree) se confirman y se ignoran. Sin el webhook, un pedido solo se confirma cuando el cliente vuelve a la tienda después de pagar. Si el cliente cierra el navegador tras pagar, solo el webhook (o el siguiente intento de pago del mismo carrito) puede confirmar el pedido.
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 Cashfree confirme el pago. Un pago fallido o abandonado deja el pedido sin estado, y el carrito se conserva. Cada campo siguiente muestra tus estados de pedido de OpenCart.
Order Status After Payment: el estado que se asigna una vez confirmado el pago y coincidan el importe y la moneda. Predeterminado: Procesando.
On Hold (Review) Status: Cashfree informó de un importe o una moneda pagados que difieren del total del pedido. Una nota muestra el importe esperado y el recibido. Predeterminado: Pendiente, porque OpenCart no tiene el estado En espera. Puedes crear tu propio estado en System > Localisation > Order Statuses y seleccionarlo aquí.
Refunded Status: se asigna después de reembolsar el pago por completo desde la página del pedido. Predeterminado: Reembolsado.
Avanzado
API Version: la versión de la API de Cashfree que se utilizará.
Order ID prefix: los ID de pedido de Cashfree se forman como prefijo + ID del pedido de OpenCart; un nuevo intento del mismo pedido recibe un número al final (por ejemplo, 123-2). Déjalo vacío para usar el prefijo automático de esta tienda, que aparece en la descripción del campo (OC, cuatro letras derivadas de la dirección de la tienda, y un guion). Usa un prefijo distinto para cada tienda conectada a la misma cuenta de Cashfree. Solo letras, dígitos, «_» y «-», hasta 20 caracteres. Los demás caracteres se eliminan al guardar, con una advertencia.
Debug log: los errores siempre se registran. Cuando está activado, las llamadas a la API de Cashfree y los webhooks también se escriben en cashfree_p_debug.log.php, en la carpeta de registros de OpenCart (storage/logs). El archivo no se puede abrir desde la web, y al llegar a 5 MB se archiva y se empieza uno nuevo. Las claves 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 de Cashfree y el registro de la extensión. Los pedidos y sus transacciones y reembolsos de Cashfree siempre se conservan. Predeterminado: desactivado.
Importar / Exportar
Export: Download JSON guarda los ajustes como un archivo JSON. Las Secret Keys no se exportan.
Import: pega el JSON exportado anteriormente y haz clic en Import para restaurar los ajustes. Las Secret Keys guardadas se conservan.
Finalización de compra
En el paso Payment Method el cliente elige el método de pago (por defecto Cashfree Payments). En el paso Confirm Order el cliente ve tu descripción y la nota Serás redirigido a la página de pago segura de Cashfree (tarjetas, UPI, banca online, monederos electrónicos). 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 de Cashfree por el total del pedido en la moneda del pedido y abre una página Cashfree payment que muestra Redirigiendo a Cashfree para el pago... y carga la página de pago de Cashfree. Si no se abre sola, el cliente puede hacer clic en Pay Now. En la página de Cashfree, el cliente paga con cualquier método habilitado en tu cuenta de Cashfree, por ejemplo tarjeta, UPI, banca online o monedero electrónico. El correo electrónico y el teléfono del cliente se pasan a Cashfree. 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. OpenCart 4 no pide un número de teléfono por defecto: si el pedido no tiene ninguno, el bloque de confirmación muestra un campo Phone opcional (Opcional: el número de teléfono del pagador para Cashfree (UPI, OTP).). Un formato incorrecto muestra Introduce un número de teléfono válido (10 dígitos, o + y el código de país) o deja el campo vacío. El número se recuerda para el siguiente intento.
Después de pagar, el cliente vuelve a tu tienda. El pedido solo se marca como pagado cuando Cashfree lo confirma: mediante el webhook firmado o mediante una petición de servidor a Cashfree cuando el cliente vuelve. Después, el pedido recibe su estado de la forma estándar de OpenCart, con los correos habituales del pedido y la actualización del stock, y el cliente ve la página de éxito del pedido de OpenCart. El retorno también funciona en otro navegador, por ejemplo cuando el cliente vuelve desde una aplicación UPI. Si el banco todavía no ha confirmado el pago, una página de Payment confirmation muestra Your payment is being processed by the bank. We will update the order as soon as Cashfree confirms it — please do not pay again. y un botón Check again; el webhook asigna el estado del pedido en cuanto el banco confirma el pago. En OpenCart 4 el navegador no envía la sesión de la tienda cuando Cashfree devuelve al cliente, así que la extensión muestra primero una página breve que vuelve a abrir la misma dirección de retorno desde tu tienda: el cliente conserva el carrito y el inicio de sesión.
Si el pago falla o el cliente abandona la página de Cashfree sin pagar, el cliente vuelve a la finalización de compra con El pago de Cashfree no se completó. Inténtalo de nuevo o elige otro método de pago. En OpenCart 4 los mensajes de la finalización de compra se muestran encima de la página de finalización. El pedido queda sin estado y el carrito se conserva. 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, de modo que el cliente vuelve a pagar el mismo pedido. Un pago de Cashfree abierto del mismo pedido se reutiliza cuando el importe no ha cambiado y quedan más de cinco minutos; en caso contrario, el pedido antiguo de Cashfree se cierra y se crea uno nuevo. Los pagos abiertos de Cashfree de pedidos anteriores del mismo carrito también se cierran, para que el carrito no se pueda pagar dos veces. Si el carrito ya estaba pagado en Cashfree pero no se registró, el siguiente intento confirma ese pago en lugar de volver a cobrar. Un carrito que ya está pagado por otro pedido no se vuelve a cobrar: el cliente va a la página de éxito. Si el mismo carrito se sigue pagando dos veces (por ejemplo, en dos pestañas del navegador a la vez), el segundo pedido no recibe estado y el pedido pagado recibe una nota que indica que el cliente puede haber sido cobrado dos veces, para que puedas reembolsarlo en el panel de Cashfree.
En OpenCart 4 el pedido se mantiene en la finalización de compra hasta que se muestra la página de éxito. Si ese pedido se cerró entretanto (por ejemplo, cancelado) y Cashfree no tiene dinero para él, el cliente vuelve a la finalización de compra con El pago de Cashfree no se completó. Inténtalo de nuevo o elige otro método de pago., y el siguiente Confirm Order paga un pedido nuevo del carrito. Si el pedido ya tiene un estado y el carrito ha cambiado desde entonces (otros productos o cantidades), el cliente vuelve a la finalización de compra con Tu pedido anterior ya se ha realizado. Confirma el pedido de nuevo: el carrito actual se pagará con un pedido nuevo.
Si Cashfree no puede iniciar el pago, el cliente se queda en el paso Confirm Order con No pudimos iniciar el pago con Cashfree. Inténtalo de nuevo o elige otro método de pago. encima del botón. El motivo técnico se escribe en el registro. Un total de pedido inferior al mínimo de Cashfree (1 unidad de la moneda; 0,01 para monedas con tres decimales como KWD y 0,1 para TND) no se puede pagar con Cashfree, y el método de pago no se muestra para ese pedido.
El webhook también funciona mientras la tienda está en modo de mantenimiento: OpenCart 3 deja pasar las peticiones de las extensiones de pago, y en OpenCart 4 la extensión añade una acción de inicio que deja pasar el webhook y el retorno del cliente.
La extensión acepta solo pagos únicos en la finalización de compra de Cashfree. No tiene tarjetas guardadas, suscripciones ni pagos recurrentes, ni autorización y captura por separado, ni widget de ofertas de Cashfree, ni pago contra reembolso a través de Cashfree ni enlaces de pago, y no hace conversión de moneda: el pedido se cobra en la moneda del pedido.
Pedidos y reembolsos
Estados de pedido
Sin estado (pedido ausente): el cliente fue enviado a Cashfree y no ha pagado, el pago falló o el pago sigue pendiente en el banco. En Sales > Orders estos pedidos solo se muestran con el filtro Order Status establecido en Missing Orders.
Order Status After Payment (predeterminado Procesando): el pago fue confirmado. Una nota muestra el ID de la transacción de Cashfree y el grupo del método de pago (por ejemplo, upi o credit_card).
On Hold (Review) Status (predeterminado Pendiente): Cashfree informó de un importe o una moneda pagados que difieren del total del pedido. La nota muestra el importe esperado y el recibido, y el ID de la transacción. Comprueba el pago en el panel de Cashfree y, después, completa el pedido o reembolsa el pago.
Refunded Status (predeterminado Reembolsado): el pago fue reembolsado por completo a través de la extensión.
Un pago que llega después de que asignaras al pedido en espera un estado a mano (por ejemplo, Cancelado) se registra igualmente, y el pedido pasa a estar pagado, porque el dinero ya se cobró; OpenCart notifica al cliente de este cambio. Un pedido pagado nunca vuelve atrás por un pago fallido posterior, y un segundo pago de un pedido ya pagado no lo modifica.
Las notas son entradas del History del pedido que el cliente no ve.
Pestaña VibeFox Cashfree Payments
En Sales > Orders abre un pedido pagado con Cashfree. En la parte inferior de la página del pedido, junto a History y Additional, la pestaña VibeFox Cashfree Payments muestra el Transaction ID con la etiqueta Sandbox en los pagos de sandbox, el Cashfree order, el Status del pago, los importes Paid / refunded, el formulario de reembolso, el historial de reembolsos con el estado de cada reembolso y las Cashfree notes del pedido. La pestaña se muestra a los usuarios que tienen acceso a la extensión.
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 Cashfree. Confirma la pregunta Refund this amount through Cashfree? 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 en la moneda que cobró Cashfree, así que, tras una diferencia de importe, puedes reembolsar hasta lo que el cliente realmente pagó, y no el total del pedido. El reembolso se envía al pedido de Cashfree que se pagó, en el entorno (sandbox o producción) en el que se pagó, por lo que deben estar configuradas las claves de ese entorno. Si Cashfree no acepta el reembolso, o lo informa como cancelado o rechazado, la pestaña muestra el error y no se registra ningún reembolso. Un reembolso iniciado se añade al historial de reembolsos y a las notas con su ID, su importe y su estado. Un reembolso total pone el pedido en el Refunded Status sin notificar al cliente y sin devolver los productos al stock, igual que un cambio manual de estado. Un reembolso parcial no cambia el estado. Los reembolsos están disponibles una vez que Cashfree ha confirmado el pago.
El estado final del reembolso llega mediante el webhook de reembolsos y se añade a las notas. Las devoluciones de productos en Sales > Returns no devuelven dinero a través de Cashfree.
Clave de licencia
La extensión funciona con una clave de licencia de VibeFox obtenida en vibefox.net. El bloque de licencia License — VibeFox Cashfree Payments es el primer bloque de Extensions > Extensions > Payments > VibeFox Cashfree Payments > 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-cashfree 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 (están incluidos el inglés y el ruso).
Si la clave no se acepta, el bloque indica el motivo, por ejemplo Clave no encontrada, Esta clave pertenece a otro producto, Se ha alcanzado el límite de dominios o La licencia caducó el seguido de una fecha. Después de cambiar la dirección de la tienda, o tras liberar un espacio de dominio en tu cuenta, haz clic en Check now. Si no se puede conectar 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. Eliminar la clave de la tienda no libera su espacio de dominio. Libera el espacio en tu cuenta de vibefox.net.
Sin una clave activa, Cashfree no se muestra a los clientes en la finalización de compra. Si se inicia un pago de todos modos, el cliente ve Este método de pago no está disponible. Elige otro. 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 (sin licencia — visible solo para administradores), así que puedes 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 queda oculto para todos. Después de 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: los pagos ya iniciados siguen confirmándose 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 al abrir 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. Desinstalar la extensión siempre elimina la clave de licencia y el estado de la licencia.
Solución de problemas
Cashfree 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 sus claves: Sandbox App ID y Sandbox Secret Key en modo sandbox, App ID y Secret Key en modo real. La página de ajustes muestra una advertencia cuando faltan las claves. El método de pago también se oculta cuando el total del pedido es inferior al mínimo de Cashfree. Comprueba además que la dirección de pago esté en la Geo Zone seleccionada y que el pedido alcance el Total establecido en los ajustes.
El pago se realizó, pero el pedido sigue sin estado: el webhook no funciona. Comprueba que tu tienda use HTTPS, que la URL en Developers > Webhooks sea exactamente la que aparece en Webhook URL y que estén seleccionados los eventos de pago. Comprueba que la Secret Key de los ajustes pertenezca al entorno en el que se hizo el pago. El panel de Cashfree muestra la respuesta de tu tienda para cada webhook. El pedido también recibe su estado cuando el cliente vuelve a la tienda después de pagar, y en el siguiente intento de pago del mismo carrito.
El webhook responde Missing signature o Invalid signature: la llamada no llevaba una firma válida de Cashfree, o la Secret Key de los ajustes no coincide con el entorno en el que se hizo el pago. Comprueba que las claves de sandbox y de producción no estén intercambiadas.
El webhook responde Ignored: el webhook está firmado correctamente, pero pertenece a un pago que no inició esta tienda, por ejemplo otra tienda en la misma cuenta de Cashfree. Asigna a cada tienda su propio Order ID prefix.
El webhook responde Busy, retry later: el pedido estaba siendo confirmado por otra petición en el mismo momento, o no se pudo asignar el estado del pedido. Cashfree reintenta el webhook. Activa el Debug log para ver el motivo.
El cliente ve «No se pudo cargar la página de pago de Cashfree. Inténtalo de nuevo.»: el script de Cashfree no pudo cargarse en el navegador, por ejemplo por un bloqueador. El cliente puede volver a hacer clic en Pay Now o en Choose another payment method.
El cliente ve «No pudimos iniciar el pago con Cashfree»: revisa el campo Log de la página de la extensión. Los motivos habituales son claves incorrectas para el modo seleccionado o una moneda que no está habilitada en tu cuenta de Cashfree.
El cliente ve «Esta forma de pago no está disponible.» tras Confirm Order: la sesión de finalización de compra ya no coincide con el pedido, o el método de pago se desactivó entretanto. El cliente recarga la finalización de compra.
El cliente ve «Sesión de pago no encontrada. Inténtalo de nuevo.»: el enlace de la página de pago no pertenece a un pago de esta tienda, o la sesión de Cashfree ha terminado. El cliente confirma el pedido de nuevo.
El cliente ve «No pudimos verificar el pago»: el enlace de retorno no coincidía con el pago. Si se cobró dinero, el webhook sigue confirmando el pedido. Comprueba el pago en el panel de Cashfree antes de que el cliente vuelva a pagar.
El pedido está en estado de revisión tras el pago: lee las notas de la pestaña VibeFox Cashfree Payments (ver Estados de pedido) y, después, completa el pedido o reembolsa el pago.
No aparece el formulario de reembolso en la pestaña: la pestaña indica el motivo: el pago todavía no está confirmado, está reembolsado por completo, tu grupo de usuarios no tiene permiso para modificar la extensión o faltan las claves API del entorno del pago.
El reembolso falla con un mensaje sobre el modo sandbox o real: el pago se hizo en ese entorno, y sus claves API no están configuradas. Introdúcelas 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 Cashfree Payments. 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 en una reinstalación. 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 Cashfree (título, descripción, modo, claves, versión de la API, prefijo del ID de pedido, registro) y el registro. Si está desactivado, se conservan para una reinstalación posterior. Las transacciones y los reembolsos de Cashfree siempre se conservan, así que los pedidos pagados antes pueden reembolsarse 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 desinstalarla, haz clic en Uninstall (el botón naranja −) junto a VibeFox Cashfree Payments en la lista de extensiones instaladas, y después en Delete (el botón rojo de papelera) para eliminar el paquete subido.
Cashfree es una marca comercial de su respectivo propietario. Esta extensión no está afiliada ni respaldada por Cashfree.
