Volver

VibeFox Pesapal 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: el pedido debe estar en KES, UGX, TZS, ZMW, RWF o USD. Con otras monedas, el método de pago no aparece en la finalización de compra. El pedido se cobra en su propia moneda; la extensión no convierte monedas. Los importes se envían en unidades principales, redondeados a la precisión de la moneda (UGX y RWF sin decimales).

Cuenta de Pesapal: necesitas la clave de consumidor y el secreto de consumidor de una cuenta de comerciante de Pesapal. Las claves de sandbox y de producción son distintas. Las claves de sandbox proceden de una cuenta de comerciante de demostración en cybqa.pesapal.com (Pesapal también publica claves de demostración en su portal para desarrolladores). Las claves de producción proceden de tu panel de comerciante de Pesapal. No hay que configurar nada más en el panel de Pesapal: la extensión registra por sí misma su URL de notificación. Tu tienda debe ser accesible desde internet, porque Pesapal le envía las notificaciones de pago.

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. Descomprímelo en tu ordenador. Contiene README.txt, el paquete de OpenCart 3 wcp_pesapal_pay-oc3-(versión).ocmod.zip y el paquete de OpenCart 4 wcp_pesapal_pay.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_pesapal_pay-oc3-(versión).ocmod.zip. La extensión no tiene modificaciones OCMOD, por lo 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 Pesapal Pay Gateway y haz clic en Install (el botón verde +). Tu usuario de administrador necesita 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 License key).

4. Introduce la clave de consumidor y el secreto de consumidor de sandbox, activa Enable/Disable, haz clic en Save y realiza un pedido de prueba.

5. Introduce la clave de consumidor y el secreto de producción, desactiva Sandbox mode y haz clic en Save para aceptar pagos reales.

OpenCart 4

1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo wcp_pesapal_pay.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 Pesapal Pay 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 y las claves de Pesapal como en los pasos 3 a 5 de OpenCart 3. La página de configuración y sus campos son iguales en ambas versiones. Solo la URL de IPN es distinta (ver Notificaciones de pago).

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 Pesapal Pay 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, una etiqueta indica el modo: SANDBOX — Pagos de prueba en cybqa.pesapal.com — no se cobra dinero real. o LIVE — Pagos reales en pay.pesapal.com. Aparece una advertencia cuando faltan las claves del modo actual (Introduce la clave de consumidor y el secreto de sandbox: hasta entonces Pesapal no se muestra en la finalización de compra., o el mismo aviso para producción) y cuando Pesapal no admite la moneda predeterminada de tu tienda. Sin permiso para modificar la extensión, la página muestra los ajustes pero no permite guardarlos.

Al guardar, un Title vacío no se acepta: se mantiene el título anterior con un error, y los demás campos sí se guardan. Sort Order debe ser un número entero (se permiten valores negativos), Total un número igual o mayor que 0, y Geo Zone y los estados de pedido deben existir; de lo contrario, ese campo conserva su valor anterior y muestra un error. Al guardar, se eliminan los tokens de acceso de Pesapal guardados en caché.

Pesapal

Enable/Disable: Enable Pesapal 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: Pesapal (M-Pesa, Airtel Money, cards). Obligatorio, máximo 128 caracteres.

Description: el texto que el cliente ve en el paso Confirm Order, encima del botón de confirmación. Predeterminado: Pay securely with M-Pesa, Airtel Money, card or bank via Pesapal. You will be redirected to Pesapal to complete the payment.

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

Credenciales de API

La sección explica dónde obtener las claves y enlaza con cybqa.pesapal.com y pesapal.com. Introduce las claves de sandbox y de producción, cada una en su propio campo.

Sandbox mode: Use the Pesapal sandbox (no real money). Cuando está activado, los nuevos pagos usan cybqa.pesapal.com con las claves de sandbox. Desactívalo para aceptar pagos reales en pay.pesapal.com con las claves de producción. Predeterminado: activado.

Sandbox consumer key: la clave de consumidor de tu cuenta de comerciante de sandbox (demostración). Solo se usa en modo sandbox.

Sandbox consumer secret: el secreto de consumidor de tu cuenta de comerciante de sandbox. Solo se usa en modo sandbox.

Live consumer key: la clave de consumidor de tu panel de comerciante de Pesapal. Se usa cuando el modo sandbox está desactivado.

Live consumer secret: el secreto de consumidor de tu panel de comerciante de Pesapal. Se usa cuando el modo sandbox está desactivado.

Las claves y los secretos guardados nunca se vuelven a mostrar. El campo queda vacío y muestra Guardado — déjalo vacío para conservarlo. Escribe un valor nuevo solo si quieres cambiarlo.

Clear saved consumer keys and secrets: aparece cuando hay una clave guardada. Marca la casilla y haz clic en Save para eliminar las cuatro claves y secretos guardados.

Al cambiar de modo o de claves, nunca se reutiliza un token de acceso ni un ID de notificación del otro modo o de las otras claves. Un pago iniciado en un modo siempre se comprueba en ese mismo modo, incluso después de cambiar.

Estados de pedido

OpenCart crea el pedido en el paso Confirm Order sin estado (pedido incompleto). El pedido recibe un estado solo cuando Pesapal ha indicado que el pago es «Completed». Cada campo siguiente muestra tus estados de pedido de OpenCart.

Order Status After Payment: el estado que se asigna cuando Pesapal confirma el pago. Predeterminado: Processing.

Pesapal Payment On Hold Status: pagos cuyo importe o moneda no coinciden con el pedido, y pagos recibidos después de una cancelación. Una nota explica el motivo. Predeterminado: Pending, porque OpenCart no tiene un estado On hold. Puedes crear tu propio estado en System > Localisation > Order Statuses y seleccionarlo aquí.

Cancelled Order Status: un pago de Pesapal que llega para un pedido en este estado (o en el estado de reembolsado) pone el pedido en espera en lugar de reabrirlo en silencio. Predeterminado: Canceled.

Refunded Status: se asigna cuando Pesapal indica que el pago del pedido se ha revertido. Predeterminado: Refunded.

Notificaciones de pago (IPN)

IPN URL: muestra la URL de notificación de tu tienda. En OpenCart 3 tiene este aspecto https://your-store/index.php?route=extension/payment/wcp_pesapal_pay/ipn, en OpenCart 4 https://your-store/index.php?route=extension/wcp_pesapal_pay/payment/wcp_pesapal_pay.ipn. Se genera a partir de la dirección de la tienda de tu instalación de OpenCart. La URL se registra automáticamente en Pesapal en el primer pago, por separado para sandbox y producción y para cada clave de consumidor, así que no hay nada que configurar. Después del primer pago, la sección muestra Registered IPN ID: con el ID que devolvió Pesapal; antes, indica Todavía no registrado para el modo y las claves actuales. La URL debe ser accesible desde internet: no debe haber cortafuegos ni protección con contraseña delante. Sigue funcionando mientras la tienda está en modo mantenimiento, porque OpenCart deja pasar las peticiones de las extensiones de pago (en OpenCart 4, la extensión añade su propia acción de inicio para esto, que además deja pasar el regreso del cliente desde Pesapal).

Avanzado

Debug log: registra las peticiones y notificaciones de Pesapal en pesapal_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 mueve a pesapal_p_debug.old.log.php. Los errores y las advertencias siempre se registran, aunque el interruptor esté desactivado. Las claves, los tokens y los datos de los clientes 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: elimina los ajustes y los registros de la extensión al desinstalarla. Los datos de Pesapal guardados en los pedidos (IDs de seguimiento, notas) forman parte del historial de pagos y siempre se conservan. Desactivar la extensión nunca elimina nada. Predeterminado: desactivado.

Importar / Exportar

Export: Download JSON guarda los ajustes en un archivo JSON. Las claves y los secretos de consumidor no se exportan.

Import: pega el JSON exportado previamente y haz clic en Import para restaurar los ajustes. Las claves y los secretos de consumidor guardados se conservan.

Finalizar compra

En el paso Payment Method, el cliente elige el método de pago (por defecto Pesapal (M-Pesa, Airtel Money, cards)). En el paso Confirm Order, el cliente ve tu descripción. OpenCart crea el pedido en este paso, todavía sin estado. En OpenCart 4, el cliente elige el método de pago con el botón Choose del bloque de métodos de pago, en la ventana Payment method options, y hace clic en Confirm Order en la parte inferior de la página de finalización de compra. Cuando el cliente hace clic en Confirm Order, la extensión crea una solicitud de pago de Pesapal por el total del pedido en su moneda, con los datos de facturación de la dirección de pago (en OpenCart 4, cuando la finalización de compra no pide dirección de pago, con los de la dirección de envío), y envía al cliente a la página de pago de Pesapal. La descripción del pago enviada a Pesapal es Order, el número de pedido y el nombre de la tienda. Allí el cliente paga con uno de los métodos que ofrece Pesapal, como M-Pesa, Airtel Money, MTN, tarjeta o banco. Una nota en el pedido registra la solicitud de pago.

El pedido se marca como pagado solo cuando Pesapal lo confirma. Las notificaciones de Pesapal y el regreso del cliente no incluyen datos de pago ni firma, por lo que la extensión no se fía de ellos: para cada uno pide a Pesapal el estado de la transacción mediante una petición autenticada de servidor a servidor, en el modo en que se inició el pago. También comprueba que la transacción pertenece a este pedido y que el importe y la moneda pagados coinciden con el pedido. Después, el pedido recibe su estado de la forma estándar de OpenCart, con los correos habituales del pedido y la actualización de existencias, y el cliente ve la página de pedido realizado de OpenCart.

Los pagos con dinero móvil pueden tardar un momento. Si Pesapal aún no ha confirmado el pago cuando el cliente vuelve, aparece una página Payment confirmation con el mensaje Pesapal está confirmando tu pago. Recibirás un correo electrónico en cuanto se confirme: no es necesario pagar de nuevo. y los botones Check again y Back to checkout. La notificación de Pesapal asigna el estado del pedido en cuanto se confirma el pago. Si el pedido se puso en espera, la página de pedido realizado muestra Tu pago se ha recibido y la tienda lo está revisando. Recibirás un correo electrónico cuando el pedido se confirme. Cuando un pago posterior mueve el pedido del estado en espera al estado de pagado, el cliente recibe un aviso por correo electrónico.

Si el cliente cancela en la página de Pesapal, vuelve a la finalización de compra con el mensaje El pago con Pesapal se ha cancelado. Puedes intentarlo de nuevo o elegir otro método de pago. Si el pago falla, el mensaje es El pago con Pesapal no se ha completado. Inténtalo de nuevo o elige otro método de pago. y una nota en el pedido indica el motivo. El carrito se conserva y el cliente puede volver a pagar. En OpenCart 4, estos mensajes se muestran encima de la página de finalización de compra. OpenCart 3 crea un pedido nuevo cada vez que se muestra el paso Confirm Order; OpenCart 4 actualiza el pedido de la finalización de compra, así que antes de un nuevo pago la extensión comprueba con Pesapal los intentos anteriores del carrito: si uno de ellos se ha pagado entretanto, ese pedido recibe su estado y el cliente va a la página de pedido realizado sin pagar dos veces. Un pago hecho más tarde en una página de Pesapal anterior del carrito se sigue aceptando. Un cambio en el carrito, incluida una nueva cantidad, cuenta como un carrito nuevo que necesita su propio pago.

OpenCart 4 mantiene el pedido en la finalización de compra hasta que se muestra la página de pedido realizado. Si ese pedido se cerró entretanto (por ejemplo, si lo cancelaste), o si se pagó para un carrito anterior y el carrito ha cambiado desde entonces, el cliente vuelve a la finalización de compra con el mensaje Tu pedido anterior ya está cerrado. Vuelve a confirmar el pedido: el carrito se pagará con un pedido nuevo. El siguiente Confirm Order paga un pedido nuevo. Un pedido cerrado nunca se muestra como pagado.

Si Pesapal no puede iniciar el pago, el cliente permanece en el paso Confirm Order con un breve mensaje encima del botón, por ejemplo Pesapal no está disponible temporalmente. Inténtalo de nuevo en unos minutos o elige otro método de pago., Pesapal no está disponible en este momento. Elige otro método de pago. (claves incorrectas) o Pesapal no pudo iniciar el pago: seguido del motivo indicado por Pesapal. El motivo técnico se escribe en el registro y en las notas del pedido. El total del pedido debe ser mayor que cero.

La extensión no tiene un formulario de pago en tu propio sitio (el cliente siempre paga en la página de Pesapal), ni tarjetas guardadas, ni suscripciones o pagos recurrentes, ni conversión de monedas.

Pedidos y reembolsos

Estados de pedido

Sin estado (pedido incompleto): el cliente fue enviado a Pesapal y no ha pagado, el pago falló o Pesapal aún no ha confirmado el pago. En Sales > Orders, estos pedidos solo se muestran con el filtro Order Status en Missing Orders.

Order Status After Payment (predeterminado: Processing): Pesapal indica el pago como Completed y el importe y la moneda coinciden. Una nota muestra el importe, el método de pago, el código de confirmación de Pesapal y el ID de seguimiento. Cada pago se aplica una sola vez.

Pesapal Payment On Hold Status (predeterminado: Pending): el importe o la moneda pagados no coinciden con el pedido (nota Pesapal: el importe o la moneda no coinciden — retenido para revisión), o ha llegado dinero para un pedido en estado cancelado o reembolsado. Revisa el pago en el panel de Pesapal y después completa el pedido o reembolsa el pago.

Refunded Status (predeterminado: Refunded): Pesapal indica que el pago que pagó el pedido se ha revertido. Una reversión de otro intento solo se anota en el pedido.

Si además se completa un segundo pago de un pedido o carrito que ya está pagado, el pedido no cambia. Una nota en el pedido pagado pide que reembolses el segundo pago en el panel de Pesapal. Los pedidos cancelados y reembolsados nunca se reabren automáticamente.

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

VibeFox Pesapal Pay Gateway tab

En Sales > Orders abre un pedido pagado con Pesapal. En la parte inferior de la página del pedido, junto a History y Additional, la pestaña VibeFox Pesapal Pay Gateway muestra el ID de seguimiento con la etiqueta Sandbox o Live, la referencia del comerciante, el estado de Pesapal, el método de pago, el código de confirmación, el importe solicitado y el pagado, el motivo de una revisión, todos los Payment attempts del pedido (cuando hay más de uno) y las Payment notes. La pestaña es de solo lectura y se muestra a los usuarios que tienen acceso a la extensión.

Reembolsos

La extensión no envía reembolsos a Pesapal. Reembolsa el pago en el panel de Pesapal y después registra el reembolso en OpenCart manualmente. Las devoluciones de productos en Sales > Returns no devuelven dinero a través de Pesapal.

Clave de licencia

La extensión funciona con una clave de licencia de VibeFox de vibefox.net. El bloque de licencia License — VibeFox Pesapal Pay Gateway es el primer bloque de Extensions > Extensions > Payments > VibeFox Pesapal Pay 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-pesapal 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 inglés y ruso).

Si la clave no se acepta, el bloque indica el motivo, por ejemplo Clave no encontrada, Esta clave pertenece a otro producto, Límite de dominios alcanzado o La licencia caduca el 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 el servidor de licencias no responde, la extensión sigue funcionando con el último estado conocido.

Una clave funciona en un solo dominio: la dirección de la tienda según 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, Pesapal 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), 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 queda oculto 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 las notificaciones de Pesapal sobre pagos existentes, incluidas las reversiones, se siguen aplicando.

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 después de introducir la clave y, después, una vez por 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

Pesapal no aparece en la finalización de compra: comprueba que la licencia está activa, que Enable/Disable está activado, que la clave y el secreto de consumidor del modo actual están introducidos (Sandbox consumer key y Sandbox consumer secret en modo sandbox, Live consumer key y Live consumer secret en modo producción) y que la moneda del pedido es KES, UGX, TZS, ZMW, RWF o USD. Las advertencias de la parte superior de los ajustes indican el problema. Comprueba también que la dirección de pago está en la Geo Zone seleccionada y que el pedido alcanza el Total configurado.

El pago se realizó, pero el pedido se queda sin estado: la notificación de Pesapal no llegó a tu tienda y el cliente no volvió. Comprueba que la URL que aparece en IPN URL es accesible desde internet (sin cortafuegos ni protección con contraseña delante). Activa Debug log y revisa el campo Log en la página de la extensión.

Cómo responde la tienda a las notificaciones: una notificación procesada recibe una respuesta HTTP 200. Si la extensión no puede procesarla, responde con un error y Pesapal vuelve a enviar la notificación más tarde: 400 (ID de seguimiento ausente o mal formado), 404 (ningún pedido de esta tienda tiene este ID de seguimiento), 409 (la transacción pertenece a otra referencia de comerciante; no se cambia nada), 502 (no se pudo contactar con la API de Pesapal en ese momento, o faltan las claves del modo en que se inició el pago) y 503 (el pedido lo estaba procesando al mismo tiempo el regreso del cliente, o no se pudo asignar el estado del pedido).

El cliente ve el mensaje «Pesapal no está disponible en este momento»: Pesapal rechazó la clave o el secreto de consumidor del modo actual. Comprueba que las claves corresponden al modo: las claves de sandbox solo funcionan en sandbox, y las de producción solo en modo producción. El registro muestra el error de Pesapal.

El cliente ve el mensaje «Pesapal no está disponible temporalmente»: no se pudo contactar con Pesapal o no se pudo registrar la URL de notificación. Revisa el registro e inténtalo de nuevo.

El cliente ve el mensaje «Este método de pago no está disponible. Recarga la página de finalización de compra.»: 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 el mensaje «No hemos podido verificar el pago con Pesapal»: el enlace de retorno de Pesapal no coincidió con ningún pedido de la tienda. Si se cobró dinero, busca el pago en el panel de Pesapal y revisa el pedido antes de que el cliente vuelva a pagar.

Los pagos de un modo anterior no se confirman tras cambiar de modo: un pago se comprueba con las claves del modo en que se inició. Mantén introducidas las claves de ese modo hasta que sus pagos se confirmen.

El pedido está en el estado en espera tras el pago: lee las notas de la pestaña VibeFox Pesapal Pay Gateway. El importe o la moneda pagados no coincidían con el pedido, o el pago llegó después de que el pedido se cancelara. Revisa el pago en el panel de Pesapal y después procesa el pedido o reembolsa el pago.

Para desarrolladores: la extensión dispara los eventos de OpenCart pesapal_p_supported_currencies (la lista de monedas) y pesapal_p_submit_order_payload (la solicitud de pago antes de enviarse a Pesapal).

Desinstalación

Ve a Extensions > Extensions, elige el tipo Payments y haz clic en Uninstall (el botón rojo −) junto a VibeFox Pesapal Pay Gateway. 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 Estados de pedido, que vuelven a sus valores predeterminados en una reinstalación. También se eliminan siempre el evento de OpenCart de la extensión, los tokens de acceso de Pesapal guardados en caché y los IDs de notificación registrados (en OpenCart 4, también sus eventos y su acción de inicio, que deja pasar las notificaciones y el regreso del cliente en modo mantenimiento). Si Delete data está activado, se eliminan los demás ajustes (título, descripción, modo sandbox, claves, interruptor del registro de depuración) y el registro. Si está desactivado, se conservan para una reinstalación posterior. Los intentos de pago de Pesapal siempre se conservan. Los pedidos existentes conservan sus notas de pago e IDs de seguimiento de Pesapal.

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 Pesapal Pay Gateway en la lista de extensiones instaladas, y luego en Delete (el botón rojo de papelera) para eliminar el paquete subido.

Pesapal es una marca comercial de su respectivo titular. Esta extensión no está afiliada a Pesapal ni cuenta con su respaldo.