WooCommerce plugin Stable
The official Zayono WooCommerce plugin lets you accept Mobile Money + cards through the native WooCommerce checkout, with no coding.
- WordPress.org:
wordpress.org/plugins/zayono-woocommerce - Source: github.com/zayono/zayono-woocommerce
- License: GPL-2.0
- WordPress: 5.8+
- WooCommerce: 6.0+
- PHP: 8.1+
Installation
From the WordPress admin
- Plugins → Add → search for "Zayono"
- Click "Install now" → "Activate"
Manually
# Download the latest release
wget https://github.com/zayono/zayono-woocommerce/releases/latest/download/zayono-woocommerce.zip
# Unzip into the plugins folder
unzip zayono-woocommerce.zip -d wp-content/plugins/Then activate from Plugins → Installed Plugins.
Configuration
- WooCommerce → Settings → Payments → enable "Zayono"
- Click "Configure"
- Fill in:
- Sandbox API key (
zyn_test_...) — copied from app.zayono.com → Developers → API keys - Live API key (
zyn_live_...) — when you move to production - Webhook secret — copied from app.zayono.com → Developers → Webhooks after creating an endpoint
- Mode: Sandbox (test) or Live (production)
- Sandbox API key (
- Save.
Webhook configuration
On app.zayono.com → Developers → Webhooks:
- Click "Add a webhook"
- URL:
https://your-store.com/?wc-api=zayono_webhook - Events: tick at least
payment.successfulandpayment.failed - Click "Create", copy the secret (shown once) and paste it into the WooCommerce config.
Customer flow
- The customer adds products to the basket and goes to the WooCommerce checkout
- They pick "Zayono" as the payment method
- Click "Order" → redirect to the Zayono hosted page
- The customer picks their operator (MTN, Orange, Moov, etc.), enters their number, confirms
- On success → redirect to the WooCommerce confirmation page + the order moves to
processing - On failure → redirect to the WooCommerce basket with the error message
The final status is updated automatically via webhook — you have nothing to do.
Supported currencies
The plugin detects the WooCommerce currency and forwards it to Zayono. Supported currencies:
- XOF (Benin, Togo, Senegal, Mali, Côte d'Ivoire, Burkina Faso, Niger)
- XAF (Cameroon, Congo, Gabon)
- GHS (Ghana)
- KES (Kenya)
- NGN (Nigeria)
- ZAR (South Africa — Paystack cards and EFT)
- GNF (Guinea — Mobile Money via Magma OnePay)
- USD, EUR (international cards via Stripe; crypto settlement in USD/EUR via Coinbase Commerce)
If the WooCommerce currency matches no available operator, Zayono will show "No payment method available" — enable a compatible gateway from your dashboard.
Sandbox testing
- Configure the plugin in "Sandbox" mode
- Create a test order (amount ≥ 200 XOF — PayDunya sandbox minimum)
- At checkout, use:
- MTN BJ Sandbox:
+22961000000 - Orange CI Sandbox:
+22507000000 - Other test numbers: see Test numbers
- MTN BJ Sandbox:
Sandbox transactions are visible on app.zayono.com → Transactions in sandbox mode.
Customisation
Payment method title
add_filter('zayono_payment_method_title', function ($title) {
return 'Pay with Mobile Money';
});Description under the title
add_filter('zayono_payment_method_description', function ($desc) {
return 'MTN, Orange, Moov, Wave, M-Pesa and more.';
});Restrict by country
add_filter('zayono_supported_countries', function () {
return ['BJ', 'CI', 'SN', 'TG']; // UEMOA only
});Troubleshooting
| Symptom | Likely cause | Action |
|---|---|---|
| "Zayono" doesn't show at checkout | WooCommerce currency not supported | Check the currency (XOF by default) |
| Webhook never received | Wrong webhook URL | URL must be exactly ?wc-api=zayono_webhook |
| Invalid signature in logs | Webhook secret out of sync | Regenerate the secret on the Zayono dashboard + paste again in WC |
| Payment stays "Pending" | Webhook blocked by firewall | Make sure your server accepts inbound HTTPS POSTs from the public internet (no IP filtering by default) |
| 500 at checkout | Cache plugin too aggressive | Disable cache on /?wc-api=* |
PHP logs: wp-content/plugins/zayono-woocommerce/debug.log (if WP_DEBUG_LOG=true).
Zayono API logs: app.zayono.com → Developers → API logs.
Support
- Bug or request: GitHub Issues
- Sales contact: support@zayono.com