VibeFox IntaSend for WooCommerce — Ayuda
Requisitos
WordPress: 6.2 o posterior.
WooCommerce: 8.0 o posterior, instalado y activo. El plugin no se activa sin él.
PHP: 8.0 o posterior.
HTTPS: IntaSend exige HTTPS para los pagos y los webhooks en producción. La página de ajustes te avisa cuando el modo de producción está activado y la dirección de la tienda no usa HTTPS.
Cuenta de IntaSend: necesitas la clave pública (ISPubKey_...) y la clave secreta (ISSecretKey_...) de tu cuenta de IntaSend, para el sandbox, para producción o para ambos, y un webhook con una frase de desafío en el panel de IntaSend (consulta Configuración). La clave pública crea la finalización de compra. La clave secreta se usa solo en tu servidor para consultar a IntaSend el estado del pago.
Moneda de la tienda: KES, USD, EUR, GBP, UGX, TZS, NGN, GHS, XAF o XOF. Para otras monedas el método de pago se oculta.
Clave de licencia de VibeFox: se compra en vibefox.net. Una clave funciona en un solo 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_intasend_pay a /wp-content/plugins/ por FTP.
2. Haz clic en Activate.
3. Abre los ajustes: WooCommerce > Settings > Payments > IntaSend > Manage, o haz clic en Settings debajo del nombre del plugin en la página de Plugins.
4. 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.
5. Pega tus claves de sandbox y/o de producción de IntaSend, añade el webhook en el panel de IntaSend e introduce la misma frase de desafío en el plugin (consulta Configuración).
6. Activa Enable/Disable. Prueba un pago con Test mode activado y luego desmarca Test mode para aceptar pagos reales.
Configuración
Todos los ajustes están en una sola página: WooCommerce > Settings > Payments > IntaSend. Encima de los campos, un cuadro de estado muestra Test mode: IntaSend sandbox, no real money is charged. o Live mode: real payments are accepted. También avisa cuando faltan o son incorrectas las claves del modo actual (el método de pago se oculta en la finalización de compra), cuando la moneda de la tienda no es compatible, cuando no hay frase de desafío para el webhook y cuando se usa el modo de producción sin HTTPS. En la lista de métodos de pago, IntaSend aparece como «requiere configuración» hasta que las claves del modo actual sean correctas. Las claves pegadas se recortan al guardar.
General
Enable/Disable: Enable IntaSend activa o desactiva el método de pago. Por defecto: desactivado.
Title: el nombre del método de pago que ven los clientes en la finalización de compra. Por defecto: IntaSend (M-Pesa, card).
Description: el texto que se muestra debajo del método de pago en la finalización de compra. Por defecto: You will be redirected to IntaSend to pay securely with M-Pesa, card or another available method.
Claves de API
Obtén las claves en el panel de IntaSend, en Settings > API Keys, por separado en el panel de sandbox y en el de producción. El modo de prueba usa las claves de sandbox y la API de sandbox; el modo de producción usa las claves de producción y la API de producción. El plugin comprueba que la clave pública empiece por ISPubKey_, que la clave secreta empiece por ISSecretKey_ y que las claves pertenecen al modo actual: las claves de sandbox contienen _test y las de producción contienen _live. Si no es así, el método de pago se oculta y el cuadro de estado explica el motivo.
Test mode: Use the IntaSend sandbox (no real money is charged). Por defecto: activado. Desmárcalo para aceptar pagos reales con las claves de producción. Mientras el modo de prueba esté activado, la finalización de compra muestra TEST MODE - IntaSend sandbox, no real money is charged. debajo del método de pago.
Sandbox publishable key: empieza por ISPubKey_test. Identifica tu negocio cuando se crea una finalización de compra.
Sandbox secret key: empieza por ISSecretKey_test. Se usa solo en tu servidor para confirmar pagos con la API de estado de pago.
Live publishable key: empieza por ISPubKey_live.
Live secret key: empieza por ISSecretKey_live. Se usa solo en tu servidor para confirmar pagos.
Webhook
El webhook avisa a tu tienda de que se ha realizado un pago, incluso cuando el cliente no vuelve a la tienda (cerró el navegador o M-Pesa confirmó más tarde). En el panel de IntaSend, en sandbox y en producción, abre Webhooks y añade la URL que se muestra en esta sección de los ajustes. Tiene este aspecto: https://your-site/wc-api/intasend_pay/. Introduce allí una frase de desafío y la misma frase en el plugin. Usa una sola frase para el sandbox y para producción.
Webhook challenge: la misma frase de desafío que en el panel de IntaSend. Los webhooks con otra frase se rechazan. Mientras este campo esté vacío, los webhooks no se procesan y los pagos se confirman solo cuando el cliente vuelve a la tienda. Estos webhooks reciben la respuesta Ignored, no un error, para que IntaSend no desactive el webhook antes de que introduzcas la frase.
El plugin reacciona a estos estados de pago que informa IntaSend. Cada vez consulta a la API de estado de pago el estado real antes de cambiar el pedido:
Las notificaciones que no son pagos de finalización de compra de esta tienda, por ejemplo enlaces de pago o eventos de envío de dinero de la misma cuenta de IntaSend, se responden con OK y se ignoran, para que IntaSend no desactive el webhook.
Avanzado
Debug log: Log checkout, return and webhook events en WooCommerce > Status > Logs, fuente wcp_intasend_pay. Los errores siempre se registran. Las claves de API y los datos de los clientes nunca se registran. Por defecto: desactivado.
Delete data on uninstall: Delete the gateway settings and logs when the plugin is deleted. Las referencias de IntaSend guardadas en los pedidos son historial de pagos y siempre se conservan. Desactivar el plugin nunca borra nada. Por defecto: desactivado.
Finalización de compra
El cliente elige el método de pago (por defecto IntaSend (M-Pesa, card)) y realiza el pedido. El plugin crea una finalización de compra de IntaSend por el total del pedido en la moneda del pedido y envía al cliente a la finalización de compra alojada por IntaSend. Allí el cliente paga con M-Pesa, con tarjeta u otro método activado en tu cuenta de IntaSend. El correo electrónico, el nombre, la dirección, el teléfono y el país de facturación se pasan a IntaSend cuando cumplen sus reglas de campos. Los campos vacíos o no válidos se omiten.
Después de pagar, el cliente vuelve a tu tienda. El pedido se marca como pagado solo cuando IntaSend lo confirma: el plugin consulta la API de estado de pago cuando el cliente vuelve y cuando llega el webhook. Si el pago aún no está confirmado, la página de pedido recibido muestra Your payment is being confirmed by IntaSend (M-Pesa confirmations can take a minute). You will receive an e-mail as soon as it is confirmed. Si el pedido se ha puesto en espera, muestra Your payment was received and your order is being reviewed. We will contact you if anything is needed.
Si el pago ha fallado o el cliente ha vuelto sin pagar, vuelve a la finalización de compra (o a la página Pay for order) con el mensaje The payment was not successful. Please try again or choose another payment method. (con el motivo de IntaSend, si lo hay) o The payment was not completed. Please try again or choose another payment method. El cliente puede volver a pagar el pedido. Cada intento recibe su propia referencia de IntaSend.
Si IntaSend no puede iniciar el pago, el cliente ve IntaSend could not start the payment: con el motivo de IntaSend, o IntaSend is temporarily unavailable. Please try again in a moment or choose another payment method. Los detalles se escriben en el registro.
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 WooCommerce High-Performance Order Storage (HPOS).
El plugin solo acepta pagos únicos. Los reembolsos no se envían a IntaSend desde WooCommerce, y no tiene tarjetas guardadas, suscripciones ni formulario de pago integrado (emergente). Los enlaces de pago anteriores del mismo pedido no se pueden cancelar en IntaSend.
Pedidos
Order statuses
Pending payment: el cliente fue enviado a IntaSend y todavía no ha pagado, o IntaSend todavía no ha confirmado el pago.
Processing or Completed: el pago se ha confirmado. WooCommerce asigna el estado habitual de un pedido pagado. La nota del pedido muestra la factura de IntaSend, el método de pago en IntaSend, el importe, el modo (sandbox o producción) y cómo se confirmó (webhook o retorno del cliente). El ID de transacción es el ID de la factura de IntaSend.
On hold: IntaSend informó de un importe o una moneda distintos del total del pedido, de un pago parcial o de un pago que llegó después de que el pedido se cancelara. La nota del pedido lo explica. Revisa el pago en el panel de IntaSend y entrega el pedido o reembolsa el pago.
Failed: el último intento de pago ha fallado. La nota muestra el motivo de IntaSend. El cliente puede volver a intentarlo.
Si llega un segundo pago para un pedido que ya está pagado, el pedido no vuelve a cambiar. Una nota te pide que lo reembolses en el panel de IntaSend si es un duplicado. Un pago para un pedido reembolsado añade una nota y no reabre el pedido.
Reembolsos
Los reembolsos no se envían a IntaSend desde WooCommerce. Reembolsa el pago en el panel de IntaSend y registra el reembolso manualmente en WooCommerce.
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 > IntaSend. 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 comprobar el estado de nuevo, Change key para introducir otra clave y Remove key para quitarla de este sitio. El enlace Manage licenses and domains in your account abre tu cuenta de vibefox.net.
Una clave funciona en un solo dominio. Quitar la clave de un sitio no libera su plaza de dominio. Libérala en tu cuenta de vibefox.net.
Sin una clave activa, IntaSend no se muestra a los clientes en la finalización de compra. Si aun así se inicia un pago, el cliente ve This payment method is not available. Please choose another one. Los gestores de la tienda que han iniciado sesión 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. Aparece un recordatorio 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.
Cuando una licencia caduca, el plugin sigue funcionando, pero las actualizaciones y el soporte requieren renovarla. El estado se vuelve a comprobar automáticamente en segundo plano.
Solución de problemas
IntaSend no aparece en la finalización de compra: comprueba que la licencia esté activa, que Enable/Disable esté activado y que las claves del modo actual estén rellenadas y pertenezcan a ese modo: claves de sandbox (con _test) en modo de prueba, claves de producción (con _live) en modo de producción. La moneda de la tienda debe ser compatible. El cuadro de estado de la parte superior de la página de ajustes muestra qué falla.
El pago se ha realizado, pero el pedido sigue en Pending payment: las confirmaciones de M-Pesa pueden tardar un momento. El webhook confirma el pedido cuando IntaSend informa del estado final. Comprueba que la URL del webhook en el panel de IntaSend (sandbox o producción, el modo que usas) sea exactamente la que se muestra en los ajustes y que la frase de desafío allí sea la misma que Webhook challenge.
El webhook responde Ignored: webhook challenge not configured: Webhook challenge está vacío. Introduce la frase de desafío del panel de IntaSend.
El webhook responde Invalid challenge: la frase de desafío de IntaSend y la del plugin no coinciden.
El webhook responde Verification unavailable, retry later o Busy, retry later: en ese momento no se pudo contactar con IntaSend, o otra solicitud estaba confirmando el pedido. IntaSend vuelve a intentar el webhook.
El webhook responde Invoice not verified o Invoice does not match the reference: IntaSend no confirmó que esta factura pertenezca al pedido. El pedido no se modifica.
El pedido está On hold: lee la nota del pedido. El importe o la moneda pagados no coincidían con el pedido, el pago fue parcial o llegó después de que el pedido se cancelara. Revisa el pago en el panel de IntaSend.
El cliente ve un error al realizar el pedido: activa el Debug log y revisa WooCommerce > Status > Logs, fuente wcp_intasend_pay. El total del pedido debe ser mayor que cero. Si el registro dice que la URL de retorno contiene caracteres que IntaSend no acepta, la causa es la dirección de la tienda o un parámetro de idioma en ella.
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 sus ID de transacción.
IntaSend es una marca comercial de su titular. Este plugin no está afiliado ni respaldado por IntaSend.
