CaurisFlux payment gateway for WooCommerce — Mobile Money & Card payments in Francophone Africa.
# CaurisFlux for WooCommerce
Plugin WordPress (WooCommerce) pour accepter les paiements Mobile Money & Carte Bancaire en Afrique francophone via CaurisFlux.
## Fonctionnalités
- Passerelle de paiement WooCommerce native, listée à côté de Stripe / PayPal.
- Mode **checkout hébergé** : redirection vers une page CaurisFlux sécurisée (PCI hors scope).
- Méthodes supportées : Wave, Orange Money, MTN MoMo, Free Money, Moov Money, Airtel, Mixx By Yas, M-Pesa, Opay, Visa/Mastercard 3DS.
- Multi-devises : XOF, XAF, GHS, NGN, EUR, USD avec conversion automatique côté CaurisFlux.
- Webhooks signés HMAC SHA256 — mise à jour automatique du statut de commande.
- Sandbox / Production switchable.
- HPOS-compatible (High-Performance Order Storage).
- Idempotency via header `X-Idempotency-Key` (= `wc_order_ _ `).
## Architecture
```
caurisflux-wp/
├── caurisflux-wp.php # Bootstrap + autoloader + hooks plugin
├── readme.txt # WP.org standard readme
├── README.md # Ce fichier (dev)
├── uninstall.php # Cleanup à la suppression
├── assets/
│ ├── css/admin.css # Styles page settings
│ └── images/logo.svg # Icône passerelle
└── includes/
├── class-caurisflux-plugin.php # Singleton bootstrap
├── class-caurisflux-client.php # Wrapper HTTP de l'API CaurisFlux
├── class-caurisflux-gateway.php # WC_Payment_Gateway
├── class-caurisflux-webhook.php # REST endpoint webhook + HMAC verify
└── class-caurisflux-logger.php # wc_get_logger() avec masquage des secrets
```
## Endpoints API utilisés
| Méthode | Endpoint | Usage |
|---|---|---|
| POST | `/payments/initiate` | Création de la session de paiement (mode `checkout`) |
| GET | `/payments/status/:txId` | (futur) Polling de statut en fallback |
Auth : header `X-API-Key: pk_xxx:sk_xxx`.
Idempotence : `X-Idempotency-Key: wc_order_ _ ` — assure qu'un retry browser ne crée pas 2 transactions.
## We …