Plugin de Give
El plugin Genius Checkout for Give acepta donaciones en formularios de Give a través de Genius Checkout. Usa solo los endpoints públicos /api/v1/* — no hay superficie específica de Give en el backend de GC.
Instalación
- Descarga el zip del plugin desde tu panel de comerciante.
- Admin de WordPress → Plugins → Añadir nuevo → Subir plugin → sube, activa.
- Give debe estar instalado y activo primero — el plugin muestra un aviso amarillo y queda inerte si no lo está.
Configurar
Admin Give → Donaciones → Ajustes → Pasarelas de pago → Genius Checkout:
| Ajuste | Valor |
|---|---|
| API Key | gc_test_… o gc_live_… de tu panel GC |
| Webhook Secret | El mismo valor que en Panel GC → Developers → Webhooks |
| API Base URL | Deja el valor por defecto (https://app.geniuscheckout.com); solo cámbialo para staging |
En el panel GC, configura la URL del webhook:
https://tu-sitio-wp.example.com/gc-give-webhookSuscribe el endpoint al menos a: payment.completed, payment.failed, payment.refunded, payment.voided.
Flujo de donación
- El donante completa un formulario Give y selecciona Tarjeta (el método GC).
- Al enviar, el plugin crea una sesión de checkout vía
POST /api/v1/checkout-sessionsy redirige al donante al checkout hospedado GC. - El donante completa el pago (3DS manejado por GC). Vuelve a la página de éxito de Give.
- GC hace POST
payment.completeda/gc-give-webhook. El handler marca la donación Complete y registra el id de la transacción.
Funcionalidades soportadas
| Capacidad | Estado |
|---|---|
| Reembolsos (total + parcial) | Sí |
| Tokenización | Sí — cada donación exitosa crea un token |
| Donaciones recurrentes (suscripciones) | Sí — verificado live en múltiples ciclos de renovación |
| Mensajes de rechazo localizados al donante | Sí — en/es/fr/pt-BR |
Reembolsos
Admin Give → detalle de la donación → Refund. El plugin llama a POST /api/v1/payments/{transaction_id}/refund con el monto. El reembolso se notifica vía webhook payment.refunded y actualiza el estado.
Seguridad de webhooks
Cada webhook entrante está firmado por GC con HMAC-SHA256 sobre {timestamp}.{body} (hex) en el encabezado X-GC-Signature, con ventana de repetición de 5 minutos. Ver Webhooks → Verificación de firma.
Solución de problemas
- Donación atascada en Pending — confirma que la URL del webhook sea alcanzable y que el secret coincida entre WP y el panel GC.
- Botón de reembolso ausente — solo aparece para donaciones con un id de transacción registrado (se registra al llegar el webhook
payment.completed). - Renovaciones recurrentes no se disparan — verifica que el token del donante esté
activeen tu panel GC. Los tokens cancelados no renuevan.
Regla arquitectónica
El plugin Give usa únicamente POST /api/v1/checkout-sessions, POST /api/v1/payments/{id}/refund y los webhooks estándar de eventos de pago. No hay rutas específicas de Give en la plataforma. Cualquier futura plataforma de donaciones que se integre con nosotros sigue el mismo patrón.
