VibeFox Midtrans for WooCommerce — Ayuda
Requisitos
WordPress: 6.0 o posterior.
WooCommerce: 8.0 o posterior, instalado y activo. Sin WooCommerce el plugin no se activa.
PHP: 8.0 o posterior.
Moneda de la tienda: rupia indonesia (IDR). Para otras monedas el método de pago se oculta en la finalización de compra. No hay conversión de moneda.
Cuenta de Midtrans: necesitas la Server Key de Midtrans Dashboard > Settings > Access Keys, en el panel de control de sandbox y 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 dominio.
Instalación
1. En WordPress ve a Plugins > Add New > Upload Plugin, elige el archivo ZIP del plugin y haz clic en Install Now. También puedes subir la carpeta wcp_midtrans_payment_gateway a /wp-content/plugins/ por FTP.
2. Haz clic en Activate.
3. Establece la moneda de la tienda en rupia indonesia (IDR).
4. Abre los ajustes: WooCommerce > Settings > Payments > Midtrans > Manage, o haz clic en Settings debajo del nombre del plugin en la página Plugins.
5. Introduce tu clave de licencia de VibeFox en el bloque de licencia de la parte superior de la página y haz clic en Activate.
6. Introduce las Server Keys y copia la URL de notificación de pago en el panel de control de Midtrans (ver Configuración).
7. Activa Enable/Disable. Haz pruebas en Sandbox y después cambia Environment a Production.
Configuración
Todos los ajustes están en una sola página: WooCommerce > Settings > Payments > Midtrans. Encima de los campos, 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 de la tienda no es IDR, y muestra Sandbox mode: payments are simulated, no real money is charged. mientras está seleccionado Sandbox. En la lista de métodos de pago, Midtrans aparece como pendiente de configuración hasta que se introduce una Server Key, y muestra Test mode en Sandbox.
General
Enable/Disable: Enable Midtrans payments activa o desactiva el método de pago. Por defecto: off.
Title: el título del método de pago que ven los clientes en la finalización de compra. Por defecto: Midtrans.
Description: el texto que se muestra debajo del método de pago en la finalización de compra. Por defecto: Pay securely via Midtrans — GoPay, QRIS, ShopeePay, cards, bank transfer and more. En Sandbox se añade la línea SANDBOX MODE: no real money is charged.
Credenciales de API
Copia la Server Key de Midtrans Dashboard > Settings > Access Keys. La sección tiene enlaces al panel de control de producción y al de sandbox.
Environment: qué entorno de Midtrans usan los nuevos pagos. Al cambiarlo se usan la clave y la API del entorno seleccionado. Los pedidos conservan el entorno en el que se pagaron, para reembolsos y notificaciones. Por defecto: Sandbox.
Production Server Key: empieza por Mid-server-. Manténla en secreto.
Sandbox Server Key: empieza por SB-Mid-server-.
URL de notificación de pago
La notificación indica a tu tienda que se ha realizado un pago. La sección muestra la URL que hay que usar. Tiene este aspecto: https://your-site/wc-api/midtrans_p_callback/. Pégala en Midtrans Dashboard > Settings > Payment > Notification URL, en el panel de control de sandbox y en el de producción que utilices. Si abres la URL 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 pedido. Las notificaciones sin firma válida se rechazan. Entonces el estado se vuelve a consultar en la API de estado de Midtrans. El plugin gestiona estos estados de transacción de Midtrans:
Sin la URL de notificación, un pedido solo se confirma cuando el cliente vuelve a la tienda después de pagar.
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.
Status after payment: el estado del pedido tras un pago confirmado. El estado se establece en un solo paso, sin enviar correos duplicados al cliente.
Payment page expiry (minutes): cuánto tiempo puede pagar el cliente (página de Snap, cuenta virtual, etc.). Déjalo vacío o en 0 para el valor predeterminado de Midtrans.
Order ID prefix: se añade al número de pedido enviado a Midtrans, para que varias tiendas puedan compartir una cuenta de Midtrans. Solo letras, dígitos y - _ . ~, hasta 20 caracteres; los demás caracteres se eliminan al guardar. Las notificaciones de otras tiendas se ignoran. Por defecto: WC-.
Avanzado
Debug log: Log API calls and notifications escribe en WooCommerce > Status > Logs, fuente wcp_midtrans_payment_gateway. Los errores siempre se registran. Las claves y los datos de los clientes nunca se registran. Por defecto: off.
Delete data on uninstall: Remove the plugin settings and logs when the plugin is deleted (deactivation keeps everything). Order data is kept. Por defecto: off.
Finalización de compra
El cliente elige el método de pago (por defecto Midtrans) y realiza el pedido. El plugin crea una transacción de Midtrans Snap por el total del pedido en rupias enteras, con las líneas del pedido, el envío, 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.
Después de pagar, el cliente vuelve a la página de pedido recibido de tu tienda. El enlace de regreso nunca marca un pedido como pagado: el plugin consulta la API de estado de Midtrans, y el pedido se marca como pagado solo cuando Midtrans lo confirma. Mientras el pago no esté confirmado, la página 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. La página también muestra el método de pago utilizado.
Si el pago no se completó, el cliente es enviado a la página Pay for order con The Midtrans payment was not completed. You can try again below. Si fue rechazado o ha caducado, el mensaje es Your Midtrans payment was declined or has expired. Please try again or choose another payment method. Cuando el cliente vuelve a pagar, se reutiliza un Snap no usado o pendiente del mismo importe. Si el importe cambió, primero la transacción pendiente se caduca en Midtrans. Si el Snap anterior se pagó mientras tanto, el pedido se confirma y no se crea ninguna transacción nueva.
Si Midtrans no puede iniciar el pago, el cliente ve 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 añade a las notas del pedido.
El método de pago funciona en la finalización de compra clásica, en el bloque de Finalizar compra y en la página Pay for order. Es compatible con el almacenamiento de pedidos de alto rendimiento de WooCommerce (HPOS).
El plugin usa solo Snap Redirect. No tiene ventana emergente de Snap, ni formulario de tarjeta en tu sitio, ni tarjetas guardadas ni pagos con un clic, ni ajustes de cuotas o promociones (configura los métodos de pago en el panel de control de Midtrans), ni WooCommerce Subscriptions. Los pagos con tarjeta se capturan de inmediato, sin autorización y captura por separado.
Pedidos y reembolsos
Estados del pedido
Pending payment: el cliente fue enviado a Midtrans y todavía no ha elegido un método de pago.
On hold: el cliente eligió un método diferido y todavía no ha pagado, el pago con tarjeta está en revisión antifraude (challenge), o el importe o la moneda pagados no coinciden con el pedido. En espera también se establece cuando llega un pago para un pedido cancelado; el pedido no se reabre automáticamente. La nota del pedido lo explica.
Processing, Completed or On hold after payment: el pago se confirmó. El estado sigue a Status after payment. La nota del pedido muestra el método de pago y los ID de Midtrans. El ID de transacción es el ID de transacción de Midtrans y, en la pantalla del pedido, enlaza con la transacción en el panel de control de Midtrans del entorno del pedido.
Failed: el pago falló, o se rechazó un pago con tarjeta en revisión.
Cancelled: la transacción sin pagar caducó o se canceló. Se devuelven las existencias. Cuando cancelas en WooCommerce un pedido de Midtrans sin pagar (o lo hace el temporizador de pedidos no pagados), su transacción pendiente de Midtrans, por ejemplo una cuenta virtual emitida, se caduca para que ya no pueda pagarse.
Si llega un segundo pago para un pedido que ya está pagado, el pedido no se modifica de nuevo. Una nota te pide que reembolses el segundo pago en el panel de control de Midtrans. Un pago para un pedido reembolsado solo añade una nota.
Reembolsos
Abre el pedido, haz clic en Refund, introduce el importe y haz clic en Refund via Midtrans (el botón muestra tu Title). Se admiten reembolsos totales y parciales en rupias enteras; un importe con decimales se rechaza. El reembolso se envía en el entorno en el que se pagó el pedido, así que la Server Key de ese entorno debe estar configurada. Midtrans solo permite reembolsos por API para algunos métodos de pago y estados de transacción (por ejemplo, pagos con tarjeta liquidados, GoPay, QRIS o ShopeePay). Si Midtrans no acepta el reembolso, WooCommerce muestra el error y no se registra ningún reembolso; en ese caso reembolsa desde el panel de control de Midtrans. Un reembolso correcto se añade a las notas del pedido.
Los reembolsos hechos en el panel de control de Midtrans llegan con la notificación y se registran automáticamente como reembolsos de WooCommerce, con el motivo Refunded in the Midtrans dashboard.
Clave de licencia
El plugin funciona con una clave de licencia de VibeFox de vibefox.net. El bloque de licencia está en la parte superior de WooCommerce > Settings > Payments > Midtrans. Pega la clave en License key y haz clic en Activate. El bloque muestra el estado, por ejemplo la fecha hasta la que la licencia está activa y tu dominio. Usa Check now para volver a comprobar el estado, Change key para introducir otra clave y Remove key para eliminarla de este sitio. El enlace Manage licenses and domains in your account abre tu cuenta de vibefox.net.
Una clave funciona en un dominio. Eliminar la clave de un sitio 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 se inicia un pago de todos modos, el cliente ve This payment method is not available. Please choose another one. Los gestores de la tienda con sesión iniciada siguen viendo el método de pago, marcado como (unlicensed — visible to admins only), para que puedas configurar y probar el plugin antes de comprar una clave. Un aviso aparece en la página de Plugins y en las páginas de WooCommerce. Los pedidos existentes no se ven afectados: los pagos ya iniciados se siguen confirmando y los reembolsos funcionan.
Cuando una licencia caduca, el plugin sigue funcionando, pero las actualizaciones y el soporte necesitan una renovación. El estado se vuelve a comprobar automáticamente en segundo plano.
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 tiene su Server Key. Comprueba que la moneda de la tienda (o la moneda del pedido en la página Pay for order) es IDR. La página de ajustes muestra un aviso para cada uno de estos problemas.
El pago se realizó, pero el pedido sigue en Pending payment: la notificación no funciona. Comprueba que la URL de notificación de pago está configurada en el panel de control de Midtrans del entorno que utilizas (sandbox o producción) y que es accesible: ábrela en un navegador, mostrará una breve explicación. Activa el Debug log para ver las notificaciones. El pedido también se confirma cuando el cliente vuelve a la tienda después de pagar.
La notificación responde Invalid signature: la notificación no se firmó con tu Server Key de Sandbox o de Production. Comprueba que las claves de los ajustes pertenecen a la misma cuenta de Midtrans que el panel que envía las notificaciones.
La notificación responde Server key not configured: no hay ninguna Server Key configurada. Introdúcela en los ajustes; Midtrans reintenta la notificación.
La notificación responde Order not found — ignored: el ID de pedido de Midtrans no pertenece a un pedido de esta tienda, por ejemplo porque procede de otra tienda con la misma cuenta de Midtrans. Asigna a cada tienda un Order ID prefix distinto.
La notificación responde Environment mismatch — ignored: la notificación se firmó con la clave de un entorno distinto de aquel en el que se pagó el pedido.
La notificación responde Verification failed, please retry: no se pudo contactar con la API de estado de Midtrans. Midtrans reintenta la notificación.
El pedido está On hold: lee la nota del pedido. El cliente no ha terminado un pago diferido, el pago con tarjeta está en revisión antifraude, o el importe o la moneda pagados no coinciden con el pedido.
El cliente ve un error al realizar el pedido: abre las notas del pedido o activa el Debug log y revisa WooCommerce > Status > Logs, fuente wcp_midtrans_payment_gateway. Un pedido que no está en IDR muestra Midtrans only supports payments in IDR (Indonesian Rupiah). Please choose another payment method.
El reembolso falla: el método de pago o el estado de la transacción no permite reembolsos por API; reembolsa desde el panel de control de Midtrans, y el reembolso se registra automáticamente en WooCommerce. Si el mensaje indica que no hay ninguna Server Key configurada para el entorno en el que se pagó el pedido, introduce esa clave e inténtalo de nuevo.
El bloque de licencia muestra un error: sigue el mensaje del bloque. Por ejemplo, si la clave ya se usa en otro dominio, libera una plaza en tu cuenta de vibefox.net y haz clic en Check now. Si cambió la dirección del sitio, haz clic en Check now para activar la clave en el nuevo dominio. Si no se puede contactar con el servidor de licencias, el plugin sigue funcionando con el último estado conocido.
Desinstalación
Desactivar el plugin conserva todos los datos. Para eliminarlo, desactívalo y bórralo en la página Plugins. La clave de licencia y el estado de licencia de este plugin siempre se eliminan. Los ajustes de la pasarela y los registros solo se eliminan si Delete data on uninstall estaba activado. Si no, se conservan para una reinstalación posterior. Los pedidos existentes conservan sus notas de pago y los ID de transacción.
Midtrans es una marca comercial de su respectivo titular. Este plugin no está afiliado a Midtrans ni cuenta con su aprobación.
