Volver

VibeFox 2C2P for PrestaShop — Ayuda

Requisitos

PrestaShop: 8.0 a 9.x.

PHP: 8.0 o posterior. El módulo no se instala en versiones anteriores de PHP.

Cuenta de 2C2P: necesitas el Merchant ID y la Secret Key de tu cuenta de comerciante de 2C2P. 2C2P los emite cuando se abre tu cuenta de comerciante. Las cuentas de sandbox y de producción tienen claves distintas. La documentación para desarrolladores y las tarjetas de prueba del sandbox están en developer.2c2p.com.

Moneda: la moneda del carrito debe ser compatible con el módulo y estar activada en tu cuenta de 2C2P. Son compatibles, entre otras, THB, SGD, MYR, PHP, IDR, VND, MMK, KHR, LAK, CNY, HKD, TWD, JPY, KRW, INR, AUD, NZD, USD, EUR y GBP. Si la moneda del carrito no es compatible, el método de pago no se muestra en la finalización de compra.

Clave de licencia de VibeFox: se compra en vibefox.net. Una clave funciona en un solo dominio.

Instalación

1. En el back office ve a Modules > Module Manager y haz clic en Upload a module. Elige el archivo ZIP del módulo.

2. Cuando termine la subida, haz clic en Configure, o busca más tarde VibeFox 2C2P Payment en la lista de módulos y haz clic en Configure.

3. Introduce tu clave de licencia de VibeFox en License key, en el bloque de licencia de la parte superior de la página Configure, y haz clic en Activate (ver Clave de licencia).

4. Introduce tu Merchant ID y tu Secret Key de sandbox, activa Enable/Disable, haz clic en Save y realiza un pedido de prueba.

5. Cuando estés listo, introduce las credenciales de producción y desactiva Sandbox Mode.

Al instalarse, el módulo crea dos estados de pedido: Awaiting 2C2P payment y 2C2P payment on hold. PrestaShop habilita el nuevo método de pago para todas las monedas, países y grupos de clientes. Puedes limitarlo en Payment > Preferences. Las URL de retorno y de notificación se envían con cada pago. No hay que configurar nada en el portal de 2C2P.

Configuración

Todos los ajustes están en la página del módulo: Modules > Module Manager > VibeFox 2C2P Payment > Configure. Cada sección tiene su propio botón Save, que guarda toda la página. Encima de los campos, la página muestra Sandbox mode is active. No real transactions will be processed. mientras el modo sandbox está activado. Avisa cuando la pasarela está activada pero el Merchant ID o la Secret Key del modo actual están vacíos, y cuando la moneda predeterminada de la tienda no es compatible. En ambos casos el método de pago no se muestra en la finalización de compra. Si guardas con Sandbox Mode desactivado, el módulo muestra Please enter your live Merchant ID. o Please enter your live Secret Key. cuando un campo de producción está vacío. Los ajustes se guardan igualmente.

2C2P

Enable/Disable: Enable 2C2P Payment Gateway activa o desactiva el método de pago. Por defecto: desactivado.

Title: el nombre 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. Por defecto: 2C2P Payment.

Description: el texto que se muestra debajo del método de pago en la finalización de compra. Por defecto: Pay securely via credit/debit card, e-wallet, or internet banking through 2C2P. En modo sandbox se añade (TEST MODE) al texto.

Modo de prueba (sandbox)

Sandbox Mode: envía los pagos al sandbox de 2C2P (demo2.2c2p.com) con las credenciales de sandbox indicadas abajo. Por defecto: activado. Desactívalo para cobrar pagos reales.

Sandbox Merchant ID: tu Merchant ID de 2C2P del sandbox.

Sandbox Secret Key: tu Secret Key de 2C2P del sandbox.

Credenciales de API de producción

Se usan cuando el modo sandbox está desactivado.

Merchant ID: tu Merchant ID de 2C2P de producción.

Secret Key: tu Secret Key de 2C2P de producción. La clave se guarda exactamente como la introduces, incluidas las comillas y las barras invertidas.

Las Secret Key guardadas nunca se vuelven a mostrar. El campo queda vacío y muestra Saved — leave empty to keep it. Escribe un valor nuevo solo si quieres cambiarla.

Borrar secretos guardados: marca Sandbox Secret Key o Secret Key y haz clic en Save para eliminarla. Un campo vacío mantiene el valor guardado.

Los resultados siempre se verifican con el Merchant ID y la Secret Key del modo en que se hizo el pago. Un pago iniciado en modo sandbox se sigue verificando con la clave de sandbox después de cambiar a producción, y un resultado firmado con la clave del otro modo se rechaza.

Página de pago

URL de resultado: muestra, como referencia, la Frontend return URL y la Backend notification URL. Con URL amigables tienen este aspecto: https://your-shop/module/wcp_2c2p_payment/return y https://your-shop/module/wcp_2c2p_payment/notify, posiblemente con un código de idioma como /en/. Se envían automáticamente con cada pago.

Payment Page Language: el idioma de la página de pago de 2C2P. Por defecto: English.

Opciones: English, Thai, Japanese, Bahasa Indonesia, Burmese, Simplified Chinese.

Redirect API version: deja 8.5 salvo que 2C2P te haya indicado que tu cuenta todavía usa la versión antigua 7.0 (firmas SHA-1). Los resultados de los pagos iniciados antes de un cambio se siguen verificando.

8.5 — HMAC-SHA256 (recommended): la versión actual (por defecto).
7.0 — HMAC-SHA1 (legacy accounts): para cuentas antiguas de 2C2P.

Order ID prefix: opcional, solo letras y dígitos (máximo 10), por ejemplo SHOP1. 2C2P rechaza un ID de pedido que ya ha recibido. Define un prefijo único cuando varias tiendas comparten una cuenta de 2C2P, y en el sandbox, donde las cuentas de comerciante de prueba se comparten. Los demás caracteres se eliminan al guardar, con una advertencia.

Configuración avanzada

Enable Logging: escribe los eventos de 2C2P en logs/tc2p_p_debug.log.php dentro de la carpeta del módulo. El archivo no se puede abrir desde la web. No se registran datos de tarjetas, claves secretas, correos de clientes ni tokens de pago. Por defecto: desactivado. Mientras está desactivado no se escribe nada, tampoco los errores.

Log: muestra el tamaño y las entradas más recientes del registro. Haz clic en Clear log para vaciarlo.

Delete Data on Uninstall: si está activado, al desinstalar el módulo se eliminan los ajustes de la pasarela y el registro. Las transacciones de 2C2P, los pedidos y los estados de pedido del módulo siempre se conservan, así que un resultado tardío de un pago antiguo se sigue gestionando después de reinstalarlo. Por defecto: desactivado.

Finalizar compra

En el paso de pago, el cliente elige el método de pago (por defecto 2C2P Payment) y confirma. La página siguiente muestra Thank you for your order. You will be redirected to 2C2P to complete your payment. y envía al cliente a la página de pago de 2C2P tras un momento. Si eso no ocurre, el cliente hace clic en Pay via 2C2P. La página también tiene un botón Back to checkout. En este punto todavía no existe ningún pedido.

En la página de 2C2P el cliente paga con cualquier método activado en tu cuenta de 2C2P, por ejemplo tarjetas, monederos electrónicos, pagos con QR, banca en línea o pagos en efectivo. El módulo envía el total del carrito en la moneda del carrito, el correo electrónico del cliente y los nombres de los productos del carrito. El pago puede completarse en un plazo de 24 horas. Cada intento de pago recibe su propio ID de pedido de 2C2P (el número de carrito y el número de intento, tras el prefijo opcional), porque 2C2P nunca acepta dos veces el mismo ID de pedido.

2C2P informa del resultado dos veces: el navegador del cliente vuelve a la tienda y 2C2P envía una notificación servidor a servidor. Ambos se gestionan de la misma forma. El pedido se marca como pagado solo cuando 2C2P lo confirma con una firma válida. El resultado también debe pertenecer al pago: el ID de pedido de 2C2P debe haberlo emitido tu tienda, y se comprueban el ID de comerciante y el token aleatorio del intento. Los resultados sin firma válida se rechazan. La notificación funciona aunque la tienda esté en modo de mantenimiento y no la bloquea la restricción de países de tu tienda.

Tras un pago correcto se crea el pedido y el cliente ve la página estándar de confirmación de pedido con Your 2C2P payment has been received. En un pago pendiente, la página muestra Your 2C2P payment is pending (for example a cash or bank payment that is not made yet). The order will be processed as soon as 2C2P confirms the payment. En un pedido en espera muestra Your payment was received and is being reviewed by the shop. Si un pago pendiente se cancela después, muestra Your 2C2P payment was not completed. Please contact us about this order.

Si el pago no se completó, no se crea ningún pedido. El cliente vuelve a la finalización de compra con Payment was not completed. Please try again or choose a different payment method. El carrito se conserva y el cliente puede pagar de nuevo o elegir otro método de pago. Si no se puede confirmar el resultado, el cliente ve We could not confirm the payment result. If your account was charged, please contact us before paying again. Si el pago no se puede iniciar, por ejemplo porque la moneda del carrito no es compatible, el mensaje es This payment method is currently unavailable for this order. Please contact us or choose another payment method.

Si el carrito ya tiene un pedido (pagado o a la espera de un pago pendiente), no se crea un segundo formulario de pago. El cliente se envía a la página de confirmación del pedido.

El módulo no admite reembolsos desde PrestaShop, no guarda tarjetas, no gestiona pagos recurrentes ni suscripciones, no tiene campos de tarjeta en tu sitio y no es compatible con la API 2C2P PGW 4.x.

Pedidos

Estados de pedido

No order yet: el cliente fue enviado a 2C2P y todavía no ha llegado ningún resultado, o el pago falló. Solo existe el carrito.

Payment accepted: 2C2P informó de un pago correcto (estado 000). El pago se registra con la referencia de transacción de 2C2P como ID de transacción. Una nota privada en el pedido muestra la transacción de 2C2P, el código de aprobación, la fecha y el canal de pago.

Awaiting 2C2P payment: el pago está pendiente en 2C2P (estado 001), por ejemplo un pago en efectivo que el cliente todavía no ha realizado. El pedido pasa a Payment accepted cuando 2C2P informa del pago.

2C2P payment on hold: 2C2P informó de un importe o una moneda distintos del total del pedido. La nota muestra los valores recibidos y los esperados. Revisa el pedido y la transacción en el portal de 2C2P.

Canceled: un pago pendiente fue después rechazado, cancelado o fallido (estados 002, 003, 999). La nota muestra el estado y el motivo. Un resultado fallido de un intento anterior no cancela un pedido creado por otro intento.

Un pedido pagado nunca se modifica con un resultado posterior, y un resultado antiguo repetido no reabre un pedido que fue cancelado. Si llega un segundo pago para un pedido que ya está pagado, el pedido no cambia. Una nota te pide que lo revises y que reembolses el duplicado en el portal de comerciante de 2C2P.

Bloque de pago de 2C2P

La página del pedido muestra un bloque 2C2P payment con el ID de pedido de 2C2P, la transacción, el estado del pago, el canal, el código de aprobación, el número de tarjeta enmascarado, la fecha, la respuesta del canal y el importe recibido, y una insignia Sandbox en los pagos de sandbox.

Reembolsos

Los reembolsos desde PrestaShop no son compatibles. Reembolsa el pago en el portal de comerciante de 2C2P y después registra el reembolso manualmente en PrestaShop.

Clave de licencia

El módulo funciona con una clave de licencia de VibeFox de vibefox.net. El bloque de licencia License — VibeFox 2C2P Payment es el primer bloque de Modules > Module Manager > VibeFox 2C2P Payment > Configure, por encima de los ajustes. Introduce 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: presta-payment-2c2p y el enlace Manage licenses and domains in your account, que abre tu cuenta de vibefox.net. Solo los empleados con el permiso Configure para el módulo pueden cambiar la clave. Los textos del bloque siguen el idioma del back office (se incluyen inglés y ruso).

Si la clave no se acepta, 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. 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 no se puede acceder al servidor de licencias, el módulo sigue funcionando con el último estado conocido.

Una clave funciona en un solo dominio: el dominio de la tienda principal, también en una configuración multitienda. Quitar la clave de la tienda no libera su plaza de dominio. Libera la plaza en tu cuenta de vibefox.net.

Sin una clave activa, 2C2P 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. La tienda de PrestaShop no sabe que has iniciado sesión en el back office, así que el método de pago también se oculta para ti: puedes configurar el módulo antes de comprar una clave, pero no probarlo en la finalización de compra. Aparece un recordatorio en Modules > Module Manager, en la pestaña Alerts. Los pedidos existentes no se ven afectados: los pagos ya iniciados se siguen confirmando.

Cuando una licencia caduca, el módulo sigue funcionando, pero las actualizaciones y el soporte necesitan una renovación. El estado se vuelve a comprobar automáticamente mientras trabajas en el back office: 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. Al desinstalar o restablecer el módulo, siempre se eliminan la clave de licencia y el estado de la licencia.

Solución de problemas

2C2P no aparece en la finalización de compra: comprueba que la licencia está activa, que Enable/Disable está activado y que el modo actual tiene Merchant ID y Secret Key: los campos de sandbox en modo sandbox, los de producción en modo de producción. Comprueba que la moneda del carrito es compatible. La página de ajustes muestra una advertencia en ambos casos. En Payment > Preferences comprueba que el módulo está permitido para la moneda del carrito, el país del cliente y el grupo del cliente.

El pago se realizó, pero no se creó ningún pedido: no llegó a tu tienda ningún resultado válido. Comprueba que el Merchant ID y la Secret Key del modo en que se hizo el pago coinciden con la cuenta de 2C2P, y que Redirect API version coincide con tu cuenta. Un resultado con firma incorrecta o de otro ID de comerciante se rechaza. Activa Enable Logging y busca mensajes de hash o de ID de comerciante en el campo Log. Comprueba también que tu servidor acepta las solicitudes de 2C2P a la URL de notificación del backend.

La notificación del backend responde 400 FAIL: el resultado tiene campos que faltan, una firma incorrecta, otro ID de comerciante o un token incorrecto. 404 FAIL significa que tu tienda no emitió el ID de pedido de 2C2P. 503 RETRY significa que otra solicitud estaba confirmando el pedido en ese mismo momento, o que no se pudo crear el pedido (por ejemplo, porque el módulo está desactivado); 2C2P lo volverá a intentar más tarde. Activa Enable Logging para ver el motivo.

La URL de notificación muestra FAIL en el navegador: es normal. La URL solo acepta solicitudes POST de 2C2P.

2C2P indica que el ID de pedido ya existe: 2C2P no acepta dos veces el mismo ID de pedido. Esto ocurre cuando varias tiendas comparten una cuenta de 2C2P o en el sandbox, donde muchos desarrolladores comparten cuentas de comerciante de demostración. Define un Order ID prefix único.

Se realizó un pago, pero el pedido está en Awaiting 2C2P payment o 2C2P payment on hold: o el pago sigue pendiente en 2C2P (por ejemplo, un pago en efectivo que el cliente todavía no ha realizado), o el importe o la moneda pagados no coincidían con el pedido. Revisa las notas del pedido y la transacción en el portal de 2C2P.

El cliente ve This payment method is currently unavailable for this order: la moneda del carrito no es compatible, el Merchant ID o la Secret Key del modo actual están vacíos, o el total del carrito es cero.

Please enter your live Merchant ID o Please enter your live Secret Key al guardar: el modo sandbox está desactivado y un campo de producción está vacío. Introduce las credenciales de producción o mantén Sandbox Mode activado.

Desinstalación

Ve a Modules > Module Manager, abre el menú junto a VibeFox 2C2P Payment y elige Uninstall. La clave de licencia y el estado de la licencia de este módulo siempre se eliminan. Si Delete Data on Uninstall está activado, se eliminan los ajustes de la pasarela y el registro. Si está desactivado, todos los ajustes se conservan para una reinstalación posterior. Las transacciones de 2C2P y los estados de pedido Awaiting 2C2P payment y 2C2P payment on hold siempre se conservan. Los pedidos existentes mantienen sus notas de pago y sus ID de transacción.

2C2P es una marca comercial de su respectivo titular. Este módulo no está afiliado a 2C2P ni cuenta con su respaldo.