Volver

VibeFox Midtrans 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: rupia indonesia (IDR). Midtrans cobra solo en IDR, por lo que el método de pago se ofrece únicamente cuando la moneda de la finalización de compra es IDR. No hay conversión de moneda. Añade la moneda IDR en System > Localisation > Currencies si tu tienda no la tiene.

Cuenta de Midtrans: necesitas la Server Key de Midtrans Dashboard > Settings > Access Keys, tanto en el panel sandbox como en el de producción. Solo se usa la Server Key. La Client Key no es necesaria para Snap Redirect. Los métodos de pago en sí (GoPay, QRIS, cuentas virtuales y otros) se activan en tu cuenta de Midtrans.

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_midtrans_payment_gateway-oc3-(version).ocmod.zip y el paquete de OpenCart 4 wcp_midtrans_payment_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_midtrans_payment_gateway-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 Midtrans Payment 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 (ver Clave de licencia).

4. Introduce las Server Keys y copia la URL de notificación de pagos en el panel de Midtrans (ver Configuración).

5. Activa Enable/Disable y haz clic en Save. Prueba en Sandbox y después cambia Environment a Production.

OpenCart 4

1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo wcp_midtrans_payment_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 y elige el tipo Payments. Busca VibeFox Midtrans Payment Gateway, haz clic en Install (el botón verde +) y luego en Edit (el botón del lápiz).

4. Introduce la clave de licencia, las Server Keys y la URL de notificación como en los pasos 3 a 5 de OpenCart 3. La página de configuración y sus campos son los mismos en ambas versiones. Solo la URL de notificación es distinta (consulta Configuración).

Una instalación nueva empieza con el método de pago desactivado y con el entorno Sandbox seleccionado.

Configuración

Todos los ajustes están en la página de la extensión: Extensions > Extensions > Payments > VibeFox Midtrans Payment 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 cuando falta la Server Key del entorno seleccionado (en ese caso el método de pago se oculta en la finalización de compra) y cuando la moneda predeterminada de la tienda no es IDR, y muestra Sandbox mode: payments are simulated, no real money is charged. mientras esté seleccionado Sandbox. Sin el permiso para modificar la extensión, la página muestra los ajustes pero no puede guardarlos.

Al guardar, Title debe tener entre 1 y 128 caracteres, Sort Order debe ser un número entero, Total debe ser un número igual o mayor que 0 y Payment page expiry (minutes) debe ser un número entero. Si un valor es incorrecto, la página muestra el error y no se guarda nada.

Midtrans

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

Title: el título del método de pago que ve el cliente en la finalización de compra. También es el nombre del método de pago guardado en el pedido. Predeterminado: Midtrans. Obligatorio.

Description: el texto que ve el cliente en el paso Confirm Order, encima del botón de confirmación. Predeterminado: Pay securely via Midtrans — GoPay, QRIS, ShopeePay, cards, bank transfer and more. En Sandbox aparece encima la línea SANDBOX MODE: no real money is charged.

Sort Order: la posición de Midtrans 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 Midtrans solo para 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 Midtrans. Déjalo vacío para ofrecer Midtrans con cualquier importe.

Credenciales de API

Copia la Server Key de Midtrans Dashboard > Settings > Access Keys. La sección incluye enlaces al panel de producción y al panel sandbox.

Environment: el entorno de Midtrans que usan los pagos nuevos. Al cambiar, se usan la clave y la API del entorno seleccionado. Los pedidos conservan el entorno en el que se pagaron, para los reembolsos y las notificaciones. Predeterminado: Sandbox.

Sandbox: para pruebas, sin dinero real.
Production: pagos reales.

Production Server Key: empieza por Mid-server-. Manténla en secreto.

Sandbox Server Key: empieza por SB-Mid-server-.

Las claves guardadas nunca vuelven a mostrarse. El campo queda vacío y muestra Saved — leave empty to keep it. Escribe un valor nuevo solo si quieres cambiarlo. Para eliminar una clave guardada, marca Clear the saved key on save debajo del campo y haz clic en Save.

URL de notificación de pago

La notificación indica a tu tienda que se ha realizado un pago. El campo Notification URL muestra la URL que hay que usar. En OpenCart 3 tiene este aspecto: https://your-store/index.php?route=extension/payment/wcp_midtrans_payment_gateway/webhook; en OpenCart 4, https://your-store/index.php?route=extension/wcp_midtrans_payment_gateway/payment/wcp_midtrans_payment_gateway.webhook. Se genera a partir de la dirección de la tienda de tu instalación de OpenCart. Copia la URL exactamente como la muestra la configuración y pégala en Midtrans Dashboard > Settings > Payment > Notification URL, tanto en el panel sandbox como en el de producción que uses. La URL debe ser accesible desde internet. Si la abres en un navegador, muestra una breve explicación, así que puedes comprobar que es accesible. El botón Test notification URL del panel de Midtrans también recibe respuesta.

Cada notificación debe llevar una firma válida hecha con una de tus Server Keys, y el entorno de la clave debe coincidir con el entorno del pago. Las notificaciones sin una firma válida se rechazan. El estado se vuelve a leer desde la API de estado de Midtrans antes de cambiar el pedido. La extensión gestiona estos estados de transacción de Midtrans:

settlement, capture (accepted): el pago se realizó. El pedido se marca como pagado cuando el importe (en rupias enteras) y la moneda coinciden con el pedido.
capture (challenge): un pago con tarjeta marcado por la detección de fraude de Midtrans. El pedido pasa al estado de revisión hasta que lo apruebes o rechaces en el panel de Midtrans.
pending: el cliente eligió un método con pago diferido (cuenta virtual, tienda de conveniencia, QRIS) o no se ha completado la verificación 3-D Secure de la tarjeta. El pedido recibe el estado de espera.
expire, cancel: la transacción sin pagar caducó o se canceló. Un pedido en espera recibe el estado expirado / cancelado, para todos los métodos de pago. Un pedido sin estado no recibe ninguno: solo se cierra el intento y el cliente puede volver a pagar.
deny: el pago fue denegado. Un pedido en espera recibe el estado de fallido.
failure: el pago falló. Un pedido en espera recibe el estado de fallido.
refund, partial_refund: un reembolso hecho en el panel de Midtrans se registra en el pedido.

Sin la URL de notificación, un pedido solo se confirma cuando el cliente vuelve a la tienda tras pagar, y un pago diferido realizado más tarde no se detecta hasta que el cliente vuelva.

Ajustes de pago

Midtrans cobra solo en IDR, y los importes se envían en rupias enteras. Si las líneas del pedido no suman el total redondeado, se envía a Midtrans una línea de Rounding adjustment.

Payment page expiry (minutes): el tiempo que tiene el cliente para pagar (página Snap, cuenta virtual, etc.). Déjalo vacío o en 0 para usar el valor predeterminado de Midtrans.

Order ID prefix: se añade al número que se envía a Midtrans, para que varias tiendas puedan compartir una misma cuenta de Midtrans. El número es el ID del pedido de OpenCart con una marca de tiempo, por ejemplo OC-123-1700000000. Solo se admiten letras, dígitos y - _ . ~, hasta 20 caracteres; los demás caracteres se eliminan al guardar. Las notificaciones de otras tiendas se ignoran. Predeterminado: OC-.

Pedidos

OpenCart crea el pedido en el paso Confirm Order sin estado (un pedido sin completar). El pedido solo recibe un estado después de que Midtrans haya confirmado la transacción. Cada uno de los campos siguientes muestra tus estados de pedido de OpenCart.

Status after payment: el estado tras un pago confirmado. Predeterminado: Procesando. Elige un estado de completado para marcar los pedidos pagados como completados, o tu propio estado de revisión para comprobar manualmente cada pedido pagado.

Awaiting Midtrans payment status: Midtrans informa de pending: se emitió una cuenta virtual, un código de tienda de conveniencia o QRIS, o no se ha completado la verificación 3-D Secure de la tarjeta. Predeterminado: Pendiente.

Midtrans payment on hold status: el pago necesita tu revisión (ver Estados de pedido). Predeterminado: Pendiente, porque OpenCart no tiene el estado On hold. Puedes crear tu propio estado en System > Localisation > Order Statuses y seleccionarlo aquí.

Payment failed status: Midtrans informa de deny o failure para un pedido en espera. Predeterminado: Fallido.

Payment expired / cancelled status: la transacción pendiente de un pedido en espera caducó o se canceló. Cuando tú asignas este estado a un pedido de Midtrans sin pagar, su transacción pendiente de Midtrans (por ejemplo, una cuenta virtual emitida) se caduca para que ya no pueda pagarse. Predeterminado: Cancelado.

Refunded status: el pago se reembolsó en su totalidad desde la página del pedido o en el panel de Midtrans. Predeterminado: Reembolsado.

Avanzado

Debug log: escribe las llamadas a la API y las notificaciones en midtrans_p_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. 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 la pasarela y el registro. Las referencias de pago de Midtrans y los reembolsos de los pedidos siempre se conservan, así que los pedidos antiguos se pueden reembolsar tras una reinstalación. Predeterminado: desactivado.

Importar / Exportar

Export: Download JSON guarda los ajustes en un archivo JSON. Las Server Keys no se exportan.

Import: pega el JSON exportado previamente y haz clic en Import para restaurar los ajustes. Las Server Keys guardadas se conservan.

Finalización de compra

En el paso Payment Method el cliente elige el método de pago (por defecto Midtrans). En el paso Confirm Order el cliente ve tu descripción y la nota You will be redirected to the Midtrans payment page (GoPay, QRIS, ShopeePay, cards, bank transfer and more). OpenCart crea el pedido en este paso, todavía sin estado. Cuando el cliente hace clic en Confirm Order, la extensión crea una transacción Midtrans Snap por el total del pedido en rupias enteras, con las líneas del pedido, el envío, los descuentos, los impuestos y los datos de facturación y envío del cliente, y envía al cliente a la página de pago de Midtrans. Allí el cliente elige cualquier método habilitado en tu cuenta de Midtrans. 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.

Tras pagar, el cliente vuelve a tu tienda. El enlace de retorno nunca marca un pedido como pagado: el pedido solo se marca como pagado cuando Midtrans lo confirma, mediante la notificación firmada o mediante una consulta a la API de estado de Midtrans 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. En un pago diferido, la página también muestra We are waiting for Midtrans to confirm your payment. If you chose a bank transfer, virtual account or convenience store, please complete the payment using the instructions from Midtrans. You will receive an e-mail once the payment is confirmed. Si Midtrans no está disponible cuando el cliente vuelve, aparece una página de Payment confirmation con We are confirming your payment with Midtrans. The order will be updated automatically — please do not pay again., un botón Check again y un botón Back to checkout.

Si el cliente salió de la página Snap sin pagar, vuelve a la finalización de compra con The Midtrans payment was not completed. You can try again below. Si el pago fue rechazado o ha caducado, el mensaje es Your Midtrans payment was declined or has expired. Please try again or choose another payment method. El carrito se conserva. OpenCart 3 crea un pedido nuevo cada vez que se muestra el paso Confirm Order; OpenCart 4 mantiene un pedido para la finalización de compra y lo paga de nuevo. En ambos casos, la extensión trata todos los pedidos de un mismo carrito como un solo pago: cuando el cliente vuelve a pagar, se reutiliza un Snap sin usar o pendiente por el mismo importe (una cuenta virtual ya emitida sigue siendo válida); si el importe cambió, primero se caduca en Midtrans la transacción pendiente; si mientras tanto se pagó un Snap anterior, ese pago se confirma y el cliente va a la página de éxito sin una nueva transacción.

OpenCart 4 mantiene el pedido en la finalización de compra hasta que se muestra la página de éxito. Si ese pedido se ha cerrado sin pago mientras tanto (por ejemplo, el pago fue rechazado o ha caducado, o cancelaste el pedido), el cliente vuelve a la finalización de compra con Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order., y el siguiente Confirm Order paga un pedido nuevo. Si el pedido ya está realizado y el carrito ha cambiado, el mensaje es Your previous order #(number) has already been placed. Your cart has changed: please confirm the new order to pay for it. Un cambio en el carrito, incluida una nueva cantidad, cuenta como un carrito nuevo que necesita su propio pago. Si el pago de un pedido es rechazado o caduca después de que el carrito ya se haya vaciado (por ejemplo, tras un pago con cuenta virtual), el cliente ve The Midtrans payment of order #(number) was declined or has expired, so the order will not be shipped. To buy these items, please place a new order.

Si Midtrans no puede iniciar el pago, el cliente permanece en el paso Confirm Order con un breve mensaje encima del botón: Could not connect to Midtrans. Please try again in a moment., Midtrans payments are temporarily unavailable. Please choose another payment method or contact us. (por ejemplo, con una Server Key incorrecta) o el motivo indicado por Midtrans. El motivo técnico se escribe en el registro.

La notificación 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 ella, que también deja pasar el regreso del cliente desde Midtrans.

La extensión usa solo Snap Redirect. No tiene ventana emergente de Snap, ni formulario de tarjeta en tu sitio, ni tarjetas guardadas o pagos de un clic, ni ajustes de cuotas o promociones (los métodos de pago se configuran en el panel de Midtrans), ni suscripciones. Los pagos con tarjeta se cobran de inmediato, sin autorización y captura por separado.

Pedidos y reembolsos

Estados de pedido

No status (missing order): el cliente fue enviado a Midtrans y no ha pagado, o Midtrans todavía no ha confirmado el pago. En Sales > Orders estos pedidos solo se muestran con el filtro Order Status configurado en Missing Orders.

Awaiting Midtrans payment status (default Pendiente): el cliente eligió un método de pago diferido o inició un pago con tarjeta que no ha terminado. Cuando Midtrans informa del pago, el pedido pasa a Status after payment.

Status after payment (default Procesando): el pago fue confirmado. Una nota muestra el método de pago, el ID de pedido de Midtrans y la transacción.

Midtrans payment on hold status (default Pendiente): un pago con tarjeta está en revisión por fraude (challenge, todavía no se ha registrado dinero), el importe o la moneda pagados no coinciden con el pedido (el pedido no se marca como pagado), o llegó un pago para un pedido cancelado (el pedido no se reabre automáticamente). La nota lo explica. Revisa el pedido y después complétalo o reembolsa el pago.

Payment expired / cancelled status (default Cancelado): la transacción sin pagar de un pedido en espera caducó o se canceló.

Payment failed status (default Fallido): el pago falló, o un pago con tarjeta en verificación fue denegado.

Refunded status (default Reembolsado): el pago se reembolsó en su totalidad.

OpenCart notifica al cliente de estos cambios de estado de la forma habitual. Si llega un segundo pago para el mismo carrito, el pedido no cambia. Una nota en el pedido pagado te pide que reembolses el segundo pago en el panel de Midtrans. Un pago de un pedido reembolsado solo añade una nota.

Las notas son entradas del History del pedido que el cliente no ve.

Pestaña VibeFox Midtrans Payment Gateway

En Sales > Orders abre un pedido pagado con Midtrans. En la parte inferior de la página del pedido, junto a History y Additional, la pestaña VibeFox Midtrans Payment Gateway muestra el Midtrans order ID, el Transaction ID (enlazado a la transacción en el panel de Midtrans del entorno del pago), con una etiqueta Sandbox para los pagos sandbox, el Payment method, el Status, los importes Paid / refunded, el formulario de reembolso, el historial de reembolsos y las Midtrans notes del pedido. La pestaña se muestra a los usuarios que tienen acceso a la extensión.

Reembolsos

En la pestaña VibeFox Midtrans Payment Gateway introduce el Amount (se rellena el importe aún no reembolsado), opcionalmente un Reason (optional), y haz clic en Refund via Midtrans. Confirma la pregunta Refund this amount through Midtrans? This cannot be undone. Se admiten reembolsos totales y parciales en rupias enteros; un importe con decimales se rechaza. Necesitas el permiso para modificar la extensión (se configura en System > Users > User Groups). Puedes reembolsar hasta el importe que Midtrans cobró realmente, aunque el pedido se haya editado después. El reembolso se envía en el entorno en el que se hizo el pago, por lo que la Server Key de ese entorno debe estar configurada. Midtrans solo permite reembolsos por API para algunos métodos de pago y transacciones liquidadas. Si Midtrans no acepta el reembolso, la pestaña muestra el error y no se registra ningún reembolso; en ese caso, reembolsa en el panel de Midtrans. Un reembolso correcto se añade al historial de reembolsos y a las notas. Un reembolso total pone el pedido en Refunded status sin notificar al cliente y sin devolver productos al stock, igual que un cambio manual de estado. Un reembolso parcial no cambia el estado. Los reembolsos solo están disponibles cuando Midtrans ha informado de que el pago está liquidado.

Las devoluciones de productos en Sales > Returns no devuelven dinero a través de Midtrans.

Los reembolsos hechos en el panel de Midtrans llegan mediante la notificación y se añaden automáticamente al historial de reembolsos, con el motivo Refunded in the Midtrans dashboard. Cuando se reembolsa ahí el pago completo, el pedido recibe el Refunded status.

Clave de licencia

La extensión funciona con una clave de licencia de VibeFox de vibefox.net. El bloque de licencia License — VibeFox Midtrans Payment Gateway es el primer bloque de Extensions > Extensions > Payments > VibeFox Midtrans Payment 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-midtrans 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 el inglés y el 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. Tras cambiar la dirección de la tienda, o tras 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 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. Libérala en tu cuenta de vibefox.net.

Sin una clave activa, Midtrans no se muestra a los clientes en la finalización de compra. Si de todos modos 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, así que, sin una clave activa, el método de pago se oculta para 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 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 tras introducir la clave, y después una vez a la 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

Midtrans no aparece en la finalización de compra: comprueba que la licencia esté activa, que Enable/Disable esté activado y que el Environment seleccionado tenga su Server Key. Comprueba que la moneda de la finalización de compra sea IDR, que la dirección de pago esté en la Geo Zone seleccionada y que el pedido alcance el Total configurado. La página de ajustes muestra un aviso cuando falta la clave o la moneda de la tienda no es IDR.

El pago se realizó, pero el pedido sigue sin estado: la notificación no funciona. Comprueba que la URL de notificación de pago esté configurada en el panel de Midtrans del entorno que usas (sandbox o producción), que sea exactamente la URL que se muestra en Notification URL y que sea accesible: ábrela en un navegador, mostrará una breve explicación. Activa Debug log para ver las notificaciones. El pedido también recibe su estado cuando el cliente vuelve a la tienda tras pagar.

La notificación devuelve Invalid signature: la notificación no se firmó con tu Server Key de Sandbox o de Producción. Comprueba que las claves de los ajustes pertenezcan a la misma cuenta de Midtrans que el panel que envía las notificaciones.

La notificación devuelve Server key not configured: no hay ninguna Server Key configurada. Introdúcela en los ajustes; Midtrans reintenta la notificación.

La notificación devuelve Order not found — ignored: el ID de pedido de Midtrans no lo emitió esta tienda, por ejemplo otra tienda de la misma cuenta de Midtrans. Asigna a cada tienda un Order ID prefix distinto.

La notificación devuelve Environment mismatch — ignored: la notificación se firmó con la clave del otro entorno distinto de aquel en el que se hizo el pago.

La notificación devuelve Verification failed, please retry: no se pudo contactar con la API de estado de Midtrans. Midtrans reintenta la notificación.

La notificación devuelve Busy, please retry: el carrito estaba siendo actualizado por otra solicitud en ese mismo momento, o no se pudo establecer el estado del pedido. Midtrans reintenta la notificación. Revisa el registro para ver el motivo.

El pedido está en estado de revisión: lee las Midtrans notes en la pestaña. El pago con tarjeta está en revisión por fraude, el importe o la moneda pagados no coincidieron con el pedido, o el pago llegó después de que el pedido se cancelara.

El cliente ve un error después de Confirm Order: revisa el campo Log de la página de la extensión; los errores siempre se registran. Una Server Key incorrecta da el mensaje de que los pagos con Midtrans no están disponibles temporalmente. Midtrans only supports payments in IDR (Indonesian Rupiah). Please choose another payment method. significa que el pedido no está en IDR. 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 cliente vuelve a la finalización de compra con Payment verification failed.: el enlace de retorno estaba incompleto o no pertenece al pedido. El pedido recibe su estado igualmente a partir de la notificación.

No hay formulario de reembolso en la pestaña: la pestaña indica el motivo: el pago todavía no está liquidado, está reembolsado por completo, tu grupo de usuarios no tiene permiso para modificar la extensión, o no hay ninguna Server Key configurada para el entorno en el que se pagó el pedido.

El reembolso falla: el método de pago o el estado de la transacción no permite reembolsos por API; reembolsa en el panel de Midtrans, y el reembolso se registrará automáticamente en el pedido.

Para desarrolladores: antes de crear la transacción Snap, la extensión dispara el evento de OpenCart midtrans_p_snap_payload con los datos de la solicitud y el pedido; el ID de pedido y el importe no se pueden modificar.

Desinstalación

Ve a Extensions > Extensions, elige el tipo Payments y haz clic en Uninstall (el botón rojo −) junto a VibeFox Midtrans Payment 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 en una reinstalación. 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 las notificaciones en modo de mantenimiento). Si Delete data on uninstall está activado, se eliminan el resto de ajustes de la pasarela (título, descripción, entorno, Server Keys, ajustes de pago y registro) y el registro. Si está desactivado, se conservan para una reinstalación posterior. Las referencias de pago de Midtrans y los reembolsos de los pedidos siempre se conservan, así que los pedidos pagados antes se pueden reembolsar 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 después de la desinstalación y haz clic en Uninstall (el botón naranja −) junto a VibeFox Midtrans Payment Gateway en la lista de extensiones instaladas; después, haz clic en Delete (el botón rojo de papelera) para eliminar el paquete subido.

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