Intégrations
WooCommerce
Le plugin officiel ajoute Mobile Money (MTN, Moov, Orange, Wave, Coris, Free, Togocom…) et carte bancaire au tunnel de commande WooCommerce, sans ligne de code côté boutique. Il s'appuie entièrement sur l'API publique v1 : tout ce que vous lisez dans cette documentation s'applique à ce qu'il fait en coulisses. Code source : github.com/lkousse/asukapay_woocommerce.
Pour le Mobile Money, le plugin ne redirige jamais le client vers une page hébergée : le
numéro (et le code OTP si l'opérateur l'exige) sont saisis directement dans le tunnel
WooCommerce. Seule la carte bancaire redirige, vers la payment_url renvoyée par
POST /payments — c'est incontournable
pour la capture des données bancaires.
Installation
Télécharger le plugin (.zip) Dernière version — historique des versions
- Dans WordPress : Extensions → Ajouter → Téléverser une extension, sélectionnez le zip téléchargé ci-dessus.
- Installer maintenant, puis activez AsukaPay pour WooCommerce.
- Allez dans WooCommerce → Réglages → Paiements → AsukaPay.
La boutique doit être servie en HTTPS. Sans certificat valide, AsukaPay ne peut pas livrer les webhooks qui confirment vos paiements Mobile Money — voir Webhooks.
Configuration
Renseignez vos clés secrètes — une paire
production (sk_…) et/ou une paire test (sk_test_…), au tableau de bord
AsukaPay sous Développeurs → Clés API. La case Mode test détermine
laquelle des deux le plugin utilise ; comme pour l'API, l'environnement suit la clé, pas un
réglage séparé.
À chaque enregistrement des réglages, le plugin appelle lui-même
PUT /webhooks/endpoint pour chaque
clé renseignée, et conserve le secret renvoyé. Vous n'avez rien à recopier dans le tableau de
bord : l'URL de notification (/wp-json/asukapay/v1/webhook sur votre domaine)
est déclarée automatiquement, séparément pour la production et le test.
Catalogue d'opérateurs
Le tunnel de commande interroge GET
/payment-modes (mis en cache une heure) pour construire la liste déroulante
d'opérateurs : ce que le client voit reflète exactement ce qui est actif sur votre compte, pas
une liste figée dans le plugin. Un opérateur marqué requires_otp: true —
coris, orange_bf, wave_bf, orange_sn à ce jour,
voir Opérateurs à code OTP — fait apparaître un
champ de code supplémentaire au moment de payer.
Cycle de vie d'une commande
| Événement | Statut WooCommerce |
|---|---|
| Le client valide le tunnel (Mobile Money ou carte) | on-hold — POST /payments a été appelé, réponse en attente |
Webhook payment.succeeded |
Commande marquée payée (processing/completed selon vos réglages WooCommerce) |
Webhook payment.failed |
failed |
Webhook payment.refunded |
refunded |
Le passage à on-hold plutôt que processing reflète l'API : un
paiement Mobile Money est asynchrone, le client valide sur son téléphone pendant que votre serveur
attend la notification. Voir Votre premier paiement pour le
détail des statuts.
Remboursements
Un remboursement lancé depuis Commandes → Rembourser appelle
POST /payments/{reference}/refund
avec la clé de l'environnement où le paiement d'origine a été pris — production et test restent
séparés même si vous avez basculé le réglage entre-temps. Voir
Remboursements pour les règles côté API (remboursement intégral
uniquement, paiement déjà validé).
Limites connues
- Une seule devise à la fois : celle de la boutique WooCommerce, envoyée telle quelle à l'API.
- Pas de lien de paiement ni de paiement échelonné dans cette première version : le plugin couvre l'encaissement direct au passage en caisse.
- Les limites de montant par opérateur s'appliquent normalement — un panier hors plage renvoie l'erreur AsukaPay telle quelle sur la page de paiement.