Qué hace la extensión
- En el checkout el comprador elige Tarjeta, Apple Pay, Google Pay, PayPal o Cripto con selector de moneda, pulsa Confirmar y paga en la página de UTOPAY.
- El pedido recibe el estado de pagado (por defecto Processing) solo después de volver a leer el pago por la API y comprobar que coinciden importe y moneda.
- Si el comprador vuelve antes de que se confirme el pago (la cripto aún está en la red), el pedido se hace visible con el estado de espera (por defecto Pending) y pasa a pagado más tarde.
- Los pagos cripto insuficientes y los importes que no coinciden se quedan en el estado de espera con una nota en el historial del pedido.
- El método se oculta si la moneda del pedido no es compatible o el carrito tiene productos de suscripción (4.x).
Instalación
- Descarga la versión para tu OpenCart y descomprímela: dentro están utopay.ocmod.zip y README.txt.
- OpenCart 3.0 y 4.x: Extensions → Installer → Upload → elige
utopay.ocmod.zip(en 4.x pulsa también Install junto a él). No cambies el nombre del archivo: OpenCart 4 toma de él el código de la extensión. - OpenCart 2.3: descomprime
utopay.ocmod.zipy sube por FTP el contenido de su carpetauploada la raíz de la tienda: el instalador de 2.3 necesita ajustes de FTP. - Extensions → Extensions → Payments → UTOPAY → Install → Edit.
- En el panel de UTOPAY abre Integration → API keys, crea una clave de prueba
utopay_sk_test_…y pégala. La clave se comprueba al guardar. - Para cripto añade tu wallet EVM en el panel (Project settings → Funds & payouts) y enumera las monedas.
Ajustes
| Campo | Qué hace |
|---|---|
| Secret key | utopay_sk_test_… para el sandbox, utopay_sk_live_… para pagos reales. |
| Payment options | Tarjeta / PayPal y cripto, solo tarjeta o solo cripto. |
| Crypto coins | Tickers separados por comas, p. ej. bep20/usdt,erc20/usdt,polygon/usdc. |
| Card method | Vacío: elige el comprador; o directamente Stripe, PayPal, Revolut… |
| Paid order status | Se asigna cuando se confirma el pago. Por defecto Processing. |
| Awaiting / check status | Se asigna si el comprador volvió antes de la confirmación o pagó menos cripto. Por defecto Pending. |
| Geo zone, status, sort order | Como en cualquier método de pago de OpenCart. |
Pago de prueba
- Con la clave de prueba haz un pedido, elige UTOPAY y pulsa Confirm order.
- En el sandbox de UTOPAY pulsa el botón verde ✅.
- Llegas a la página de pedido realizado; el pedido está en Processing con la nota «UTOPAY: payment ord_test_… received (test)».
- Cambia la clave por
utopay_sk_live_….
Cómo se confirman los pedidos
Cada pago lleva su propia URL de notificación con el número de pedido, el importe y la moneda, firmada con tu clave secreta. UTOPAY firma cada evento (HMAC-SHA256) y reintenta durante seis horas si la tienda no responde 2xx.
La extensión comprueba ambas firmas, vuelve a leer el pago por la API y cambia el pedido solo cuando está pagado exactamente con el importe y la moneda solicitados. Un pedido pagado nunca vuelve atrás.
Solución de problemas
- UTOPAY no aparece en el checkout: la moneda del pedido no es compatible, la clave está vacía, el método está desactivado o la zona geográfica no coincide.
- «amount is below the minimum»: el total está por debajo del mínimo del método o moneda; el comprador puede elegir otro.
- El pedido no aparece en el admin: el comprador se fue sin pagar; OpenCart guarda esos pedidos como «missing orders» (filtra por Missing Orders).
- El pedido sigue en Pending: la tienda debe ser accesible desde internet; busca líneas
UTOPAYen System → Maintenance → Error Logs.
Historial de versiones
- 1.0.0 — primera versión: OpenCart 2.3 – 3.0 y 4.0 – 4.1, tarjetas y PayPal, cripto, traducción al ruso.
SHA-256 (2.3 – 3.0): 75fda725c1a514f5723ea19caf8f3fae64dc7c0576b1d3eb17a43d54cc439191
SHA-256 (4.x): bc1e1f62e1da1ca9e5bb1f7c83b59e34804508d2cebc3aa46b5125856c4b65b9
Actualizado · Equipo de integraciones de UTOPAY