# Pagos con criptomonedas en WooCommerce

> Acepta Bitcoin, USDT (TRC20, ERC20), Ethereum, Litecoin y TRON en tu tienda online WooCommerce. Checkout de bloques y clásico; pagado tras la confirmación.

Source: https://cryptolike.net/es/integrations/woocommerce
Updated: 2026-10-11

El plugin de CryptoLike agrega el método de pago «Cripto» al checkout de tu tienda online WooCommerce y marca el pedido como pagado solo cuando el pago se confirma en la blockchain. Tu cliente paga en Bitcoin, USDT en TRON o Ethereum, Ethereum, Litecoin, TRON o USDC; tu equipo ve un estado de pedido normal de WooCommerce y nunca tiene que revisar un explorador de bloques.

## Requisitos

El plugin funciona con WooCommerce 7.0 o posterior, WordPress 6.1 o posterior y PHP de 7.4 a 8.4. Es compatible con el checkout de bloques y con el checkout clásico, y con los dos almacenamientos de pedidos: HPOS (High-Performance Order Storage) y entradas (posts). La última prueba completa se hizo en WordPress 7.1 con WooCommerce 11.1.

| Aspecto | Compatible |
|---|---|
| WordPress | 6.1 o posterior |
| WooCommerce | 7.0 o posterior |
| PHP | 7.4 – 8.4 |
| Checkout | Checkout de bloques y clásico `[woocommerce_checkout]` |
| Almacenamiento de pedidos | HPOS y entradas (posts) |
| Moneda de la tienda | USD, EUR, UAH, GBP o CAD (las cinco están habilitadas por defecto en todas las cuentas) |
| Tu tienda | Accesible desde internet por `https://` (para los webhooks) |

## Qué hace el plugin

El plugin crea un pago de CryptoLike por cada pedido y mantiene el estado del pedido sincronizado con él. Cada cambio llega como un webhook firmado: el plugin verifica la firma, aplica cada evento una sola vez y escribe una nota en el pedido, así que el historial del pago queda en el propio pedido.

- **Dos modos de página de pago.** Redirige al cliente a la página de pago de CryptoLike o integra esa misma página en la página de confirmación del pedido.
- **Elección de moneda.** Por defecto el cliente elige la moneda en la página de pago, entre las que marques en **Monedas ofrecidas** (sin selección: todas las monedas disponibles para facturas). O el cliente elige una moneda marcada en tu propio checkout.
- **Pagos insuficientes y tardíos.** Un pago incompleto pone el pedido en espera y le dice al cliente cuánto falta; el dinero que requiere una decisión nunca pasa a «pagado» por sí solo.
- **Un pago por pedido.** Un doble clic, una recarga o «Pagar por el pedido» más tarde devuelven la misma página de pago abierta.
- **Secretos de solo escritura.** El secreto de la API y el secreto del webhook no se vuelven a mostrar después de guardarlos.
- **Una revisión cada 15 minutos.** Una tarea de WP-Cron vuelve a consultar los pagos abiertos, así el pedido se pone al día aunque un webhook no haya llegado a la tienda.

## 1. Instala el plugin

Descarga el archivo del plugin desde esta página y, en WordPress, abre **Plugins → Añadir nuevo → Subir plugin**, elige el zip, pulsa **Instalar ahora** y luego **Activar**. WooCommerce ya debe estar activo. El plugin aparece en **WooCommerce → Ajustes → Pagos → CryptoLike**.

## 2. Conecta tu cuenta de CryptoLike

En el panel de CryptoLike abre **Desarrolladores → Claves API → Crear clave** y dale a la clave dos permisos: `create_invoice` y `read`. Una tienda nunca necesita `withdraw`. Pega el ID de la clave y el secreto en la configuración del plugin; el panel muestra el secreto una sola vez. Después copia la **URL del webhook** de la configuración del plugin (`https://your-shop/wp-json/cryptolike/v1/webhook`), agrégala en el panel en **Desarrolladores → Webhooks → Agregar endpoint** con todos los eventos `invoice.*` y pega el secreto del endpoint en **Secreto del webhook**. Mientras el secreto del webhook no esté guardado, el método no aparece en el checkout.

## 3. Activa los pagos con cripto y haz una prueba

Pulsa **Comprobar la conexión**: el plugin responde «Conectado: N monedas disponibles». Elige el modo de página de pago, el tiempo para pagar y los estados de pedido, marca **Activar los pagos con cripto** y guarda. Antes de salir a producción, activa el **Modo de prueba** con una clave `ck_test_` e ingresa la URL de la API de prueba en **URL de la API** (el valor predeterminado es producción; pide la URL de prueba a soporte de CryptoLike). Las claves de prueba funcionan con redes de prueba, así que puedes hacer y pagar un pedido con monedas sin valor. El plugin rechaza una clave real en modo de prueba y una clave de prueba en modo real.

## Qué pasa con un pedido

Cada estado del pago se convierte en un estado del pedido, y en la configuración eliges el estado exacto de WooCommerce para cada uno. Un estado anterior nunca reemplaza a uno posterior: si un evento de «pago detectado» llega con retraso, después de «pagado», no cambia nada.

| Pago | Pedido (estado predeterminado) | El cliente ve |
|---|---|---|
| Creado | Pendiente de pago | «Esperando el pago.» y la página de pago |
| Transferencia detectada | Sin cambios, nota con el ID de la transacción | «Pago detectado. Esperando confirmación.» |
| Confirmado | Procesando (inventario, correos y fecha de pago como siempre) | «Pago confirmado.» |
| Pago insuficiente, antes del plazo | En espera, nota con el monto que falta | Cuánto falta, a la misma dirección y hasta cuándo |
| Pago insuficiente después del plazo, pago tardío, segundo pago, reversión | Tu estado de revisión (En espera) con una nota sobre qué decidir | Un mensaje para cada caso, por ejemplo «El pago llegó después del plazo. La tienda lo revisará y te contactará.» |
| Vencido | Cancelado, o sigue pendiente (según la configuración) | «El pago venció. Crea un pago nuevo.» |

El tiempo para pagar es la configuración de tu cuenta (30 minutos por defecto), salvo que definas otro valor en el plugin.


Las mismas reglas entre pago y pedido se aplican en todas las plataformas; las demás plataformas de tienda en línea se comparan en [pagos cripto para tiendas online](https://cryptolike.net/es/use-cases/online-stores).
## Capturas de pantalla

![El método «Cripto» en el checkout de bloques de WooCommerce](https://cryptolike.net/integrations/media/woocommerce/2-block-checkout.png)

## Solución de problemas

| Qué ves | Qué hacer |
|---|---|
| El pedido sigue en «Pendiente de pago» después de pagar | La página de configuración muestra el «Último webhook verificado». Si está vacío, el webhook no llega a la tienda: revisa que la tienda responda por `https://`, que un plugin de mantenimiento o de «próximamente» deje pasar `/wp-json/cryptolike/v1/webhook` y que el secreto del webhook sea el de ese endpoint. |
| «El pago con cripto no está disponible para XYZ» | XYZ no está entre las monedas habilitadas en tu cuenta (por defecto USD, EUR, UAH, GBP y CAD). Cambia la moneda de la tienda a una de ellas o escribe a soporte. |
| La página integrada no carga | Agrega la dirección de la tienda en el panel, en **Configuración → Integración → Orígenes permitidos**. |
| «Falló la conexión: auth.…» | `auth.invalid_key` o `auth.invalid_signature`: el ID de la clave o el secreto no son correctos. `auth.ip_not_allowed`: la lista de IP permitidas de la clave no incluye tu servidor. `auth.test_key`: una clave `ck_test_` con la URL de la API predeterminada; el modo de prueba también necesita la URL de la API de prueba. |

El registro de depuración está en **WooCommerce → Estado → Registros**, origen `cryptolike`; nunca contiene secretos, firmas, cuerpos de webhooks ni datos de clientes. Al borrar el plugin se eliminan su configuración, los dos secretos, la tarea programada y su tabla; las notas de los pedidos se quedan como tu historial de pagos.

## Para desarrolladores

El plugin sigue el mismo contrato que todos los plugins de CryptoLike: crea el pago desde el servidor con un solo pago abierto por pedido (`idempotency_by_order_id`), verifica la [firma del webhook](https://cryptolike.net/docs/webhooks) sobre el cuerpo sin procesar, elimina duplicados por `event_id` y responde `200` solo después de guardar el pedido. El archivo incluye el README para desarrolladores con la estructura de archivos y la compilación. En sitios con `DISABLE_WP_CRON`, ejecuta `wp cron event run --due-now` desde el cron del sistema para que la revisión cada 15 minutos siga funcionando. El mismo flujo sin plugin está en la [guía para desarrolladores](https://cryptolike.net/docs).

## Preguntas frecuentes

### ¿Qué pasa si el cliente paga menos que el total del pedido?

El pago queda como pago insuficiente y el pedido pasa a En espera con una nota del monto que falta. El cliente ve cuánto le falta y puede enviar el resto a la misma dirección antes del plazo. Si llega a tiempo, el pedido pasa a Procesando; si no, va a tu estado de revisión para que decidas.

### ¿Qué pasa si el cliente paga después de que venció el pago?

Los fondos se acreditan a tu saldo de CryptoLike y el pedido va a tu estado de revisión en lugar de Procesando. Tú decides si envías el pedido o reembolsas. Si configuraste que el pedido siga pendiente al vencer, el cliente también puede crear una página de pago nueva desde «Pagar por el pedido».

### ¿Cómo funcionan los reembolsos?

Los reembolsos no son automáticos: una transferencia en la blockchain no se puede recuperar. Pide al cliente una dirección y envía el reembolso como retiro desde el panel de CryptoLike. El retiro lleva la comisión de la plataforma y la comisión de red que ves en la estimación antes de confirmarlo; las comisiones vigentes están en la [página de precios](https://cryptolike.net/es/pricing).

### ¿Qué monedas de la tienda puedo usar?

El plugin fija el precio de cada pago en la moneda del pedido (USD, EUR, UAH, GBP o CAD), y CryptoLike lo convierte a la moneda cripto al tipo de cambio actual, fijado hasta que el pago vence. La moneda debe estar habilitada para pagos en tu cuenta; si no, el checkout muestra «El pago con cripto no está disponible» para esa moneda.

### ¿Puedo probar el plugin sin dinero real?

Sí. Activa el Modo de prueba, usa una clave `ck_test_` e ingresa la URL de la API de prueba que te da el soporte de CryptoLike. Las claves de prueba funcionan con redes de prueba, y las monedas de prueba no tienen valor. El checkout muestra la etiqueta «Modo de prueba» junto al método. El plugin rechaza una clave real en modo de prueba, así que una tienda en producción no puede aceptar pagos de prueba por error.

### ¿Con qué monedas pueden pagar los clientes?

Bitcoin, Litecoin, Ethereum, TRON, USDT en TRON (TRC20) y en Ethereum (ERC20) y USDC en Ethereum: todos los activos con Para facturas activado en la sección Monedas de tu cuenta, o solo los que marques en **Monedas ofrecidas**. La lista vigente, con los umbrales de confirmación, está en la página de [monedas compatibles](https://cryptolike.net/es/coins); [USDT en TRON](https://cryptolike.net/es/coins/usdt-trc20) es la opción más común en las tiendas.
