Plugin Give
Le plugin Genius Checkout for Give accepte les dons sur les formulaires Give via Genius Checkout. Il n'utilise que les endpoints publics /api/v1/* — pas de surface spécifique Give sur le backend GC.
Installation
- Téléchargez le zip du plugin depuis votre tableau de bord marchand.
- Admin WordPress → Extensions → Ajouter → Téléverser une extension → téléversez, activez.
- Give doit être installé et actif d'abord — le plugin affiche un avis jaune et reste inerte sinon.
Configurer
Admin Give → Dons → Réglages → Passerelles de paiement → Genius Checkout :
| Réglage | Valeur |
|---|---|
| API Key | gc_test_… ou gc_live_… depuis votre tableau de bord GC |
| Webhook Secret | Même valeur que dans Tableau de bord GC → Developers → Webhooks |
| API Base URL | Laissez la valeur par défaut (https://app.geniuscheckout.com) ; ne changez que pour le staging |
Dans le tableau de bord GC, configurez l'URL du webhook :
https://votre-wp.example.com/gc-give-webhookAbonnez l'endpoint au moins à : payment.completed, payment.failed, payment.refunded, payment.voided.
Flux de don
- Le donateur remplit un formulaire Give et choisit Carte bancaire (la méthode GC).
- À la soumission, le plugin crée une session via
POST /api/v1/checkout-sessionset 302-redirige le donateur vers le checkout hébergé GC. - Le donateur complète le paiement (3DS géré par GC). Retour à la page de succès Give.
- GC POST
payment.completedà/gc-give-webhook. Le handler marque le don Complete et enregistre l'ID de transaction.
Fonctionnalités supportées
| Capacité | Statut |
|---|---|
| Remboursements (total + partiel) | Oui |
| Tokenisation | Oui — chaque don réussi crée un token |
| Dons récurrents (abonnements) | Oui — vérifié live sur plusieurs cycles de renouvellement |
| Messages de refus localisés acheteur | Oui — en/es/fr/pt-BR |
Remboursements
Admin Give → détail du don → Refund. Le plugin appelle POST /api/v1/payments/{transaction_id}/refund avec le montant. Le remboursement remonte via webhook payment.refunded et met à jour le statut du don.
Sécurité webhook
Chaque webhook entrant est signé par GC avec HMAC-SHA256 sur {timestamp}.{body} (hex) dans l'en-tête X-GC-Signature, avec fenêtre de rejeu de 5 minutes. Voir Webhooks → Vérification de signature.
Dépannage
- Don bloqué en Pending — confirmez que l'URL du webhook est joignable et que le secret correspond entre WP et le tableau de bord GC.
- Bouton de remboursement absent — n'apparaît que pour les dons avec un ID de transaction enregistré (renseigné à l'arrivée du webhook
payment.completed). - Renouvellements récurrents non déclenchés — vérifiez que le token du donateur est
activedans votre tableau de bord GC. Les tokens annulés ne renouvellent pas.
Règle d'architecture
Le plugin Give utilise uniquement POST /api/v1/checkout-sessions, POST /api/v1/payments/{id}/refund et les webhooks d'événements de paiement standard. Pas de routes spécifiques Give sur la plateforme. Toute future plateforme de dons qui s'intègre à nous suit le même schéma.
