Plugin de WooCommerce
El plugin oficial Genius Checkout for WooCommerce permite a las tiendas WordPress aceptar tarjetas a través de Genius Checkout sin código.
Instalación
- Descarga
genius-checkout-for-woocommerce.zipdesde tu panel de comerciante. - En el admin de WordPress, ve a Plugins → Añadir nuevo → Subir plugin.
- Sube el zip y activa.
Configuración
En WooCommerce → Ajustes → Pagos → Genius Checkout, completa:
| Ajuste | Descripción |
|---|---|
| API Key | Tu clave gc_test_ o gc_live_ |
| Webhook Secret | Desde la página Webhooks del panel de GC |
| Send Order Details | Cuando está activo, líneas de pedido, impuestos y descripción fluyen al gateway y al recibo |
Qué soporta
- Productos simples y suscripciones
- WooCommerce Subscriptions — renovaciones automáticas vía token guardado
- Block checkout y classic checkout
- Reembolsos desde el admin de WooCommerce (totales o parciales)
- Notas privadas detalladas con IDs del gateway y motivos de rechazo
Metadatos almacenados por pedido
El plugin registra los siguientes metadatos en cada pedido pagado de WooCommerce — útiles para soporte, reembolsos y conciliación:
| Clave | Valor |
|---|---|
_gc_session_id | ID de la sesión de checkout |
_gc_transaction_id | ID de la transacción (usado para reembolsos) |
_gc_receipt_number | Número de recibo legible |
_gc_gateway_transaction_id | Referencia subyacente del gateway |
_gc_card_brand | Marca de la tarjeta (Visa, Mastercard, etc.) |
_gc_card_last4 | Últimos 4 dígitos |
_gc_token_id | Token reutilizable para renovaciones |
Suscripciones
Si WooCommerce Subscriptions está activo, el plugin usa el _gc_token_id guardado para cobrar renovaciones automáticamente según el calendario de WooCommerce. Las renovaciones fallidas siguen tu configuración de dunning.
Reembolsos
En la página de detalle del pedido, pulsa Reembolsar como con cualquier gateway de WooCommerce. El plugin llama a POST /api/v1/payments/{transaction_id}/refund y publica una nota privada con el ID del reembolso.
Tarjetas guardadas (selector en el checkout)
Los clientes de WooCommerce que han iniciado sesión ven una lista de tarjetas guardadas en el checkout, gracias al endpoint GET /api/v1/customers/{external_customer_id}/payment-tokens.
Cómo se cablea dentro del plugin:
- El plugin registra el
wp_users.IDdel comprador comoexternal_customer_idcuando hace checkout por primera vez (mapeamoswp_users.ID→ GCcustomers.external_customer_id). - En el checkout, el plugin llama al endpoint con la clave API del comerciante para obtener la lista de tarjetas. Solo
{id, brand, last4, expiry_month, expiry_year}se expone al navegador — el token cifrado se queda en la plataforma. - La selección del comprador (un
pt_…) se enhebra en el meta de orden_gc_payment_token_id. Block checkout lo lee vía la extensión registrada de Store API; classic checkout lo lee de un campo de formulario oculto. - Al hacer place-order, el plugin cobra ese token vía
POST /api/v1/paymentsconpayment_token_id. Si está vacío, recurre al flujo de redirección hospedada.
La clave API nunca llega al navegador. La búsqueda ocurre en PHP desde el plugin WP, igual que el patrón Controller/Index/Savedcards del módulo de Magento 2.
Para forzar solo el flujo de redirección hospedada (sin UI de tarjetas guardadas), desmarca Mostrar tarjetas guardadas en WooCommerce → Ajustes → Pagos → Genius Checkout. El módulo de Magento 2 lee el mismo ajuste desde su propio panel admin.
Solución de problemas
- Notas de rechazo aparecen en el log de actividad del pedido con el código ISO del gateway.
- Entrega de webhooks se puede inspeccionar y reentregar desde la página Webhooks del panel de GC.
- El log de depuración del plugin está en WooCommerce → Estado → Registros → genius-checkout.
