Three ways to connect WalleoPay to your business.
Depending on whether you have a developer, a custom-built site or simply a link to send to your customers, the integration takes a different amount of work. Here is what exists today, and what is still being built — with no confusion between the two.
REST API
AvailableYou control everything: payment creation, checkout page, tracking, notifications. This is the route taken by custom-built sites and mobile applications.
Hosted checkout page
AvailableYou create the payment, we return a URL, you redirect the customer to it. No payment interface to write on your side.
E-commerce modules
AvailableAn extension to drop into your shop, with no code to write: WooCommerce, PrestaShop and WHMCS.
Method 1
The REST API, in a single call
You authenticate your calls with your secret key. The mode comes from the key: a key starting with sk_test_ will never move real money. Creating a payment returns its identifier, its state and the URL of the checkout page.
- Amounts in whole francs, minimum 100 FCFA.
- Your order reference travels with the payment and comes back in the webhook.
- An idempotency key, so that a replayed call does not create a second payment.
- Operator detection exposed separately, if you want to display it yourself.
curl -X POST https://walleopay.com/api/v1/payments \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"amount": 7500,
"reference": "B-2291",
"description": "Commande B-2291",
"customer_phone": "670000001",
"notify_url": "https://ma-boutique.cm/walleopay"
}'
Method 2
Redirect to the checkout page
This is the shortest route. You display no payment form and you handle no phone number: your server creates the payment, redirects, and takes over again when the customer comes back.
Create the payment
A server-to-server call with the amount, your reference, the return URL and the callback URL.
Redirect the customer
Send them to the link returned. The page shows your shop name and the amount due.
The customer approves
They enter their number and confirm with their Mobile Money PIN. The page follows the operation through to the end.
You are notified
The webhook notifies your server, and the customer comes back to your return page. Re-check the state before you deliver.
$response = Http::withToken($secret)
->post('https://walleopay.com/api/v1/payments', [
'amount' => 7500,
'reference' => 'B-2291',
'notify_url' => 'https://ma-boutique.cm/walleopay',
'return_url' => 'https://ma-boutique.cm/merci',
])->json();
return redirect($response['checkout_url']);
const res = await fetch(
`https://walleopay.com/api/v1/payments/${id}`,
{ headers: { Authorization: `Bearer ${secret}` } }
);
const payment = await res.json();
if (payment.status === 'succeeded') {
await livrerLaCommande(payment.reference);
}
Never deliver an order on the strength of the browser redirect or the contents of a webhook alone: query the payment with your secret key and trust the API response. It is the only source a third party cannot forge.
Method 3
Modules ready to drop in
The code is public on GitHub: clone it, read it, open an issue if something is wrong. Every module verifies the signature of the notifications, then re-checks the payment against the API before confirming the order — the rule that prevents fake paid orders.
SDK PHP
Bibliothèque PHP sans dépendance pour créer des paiements, vérifier les notifications et demander des reversements.
- PHP 8.1 ou plus récent
- Extensions cURL et JSON
WooCommerce
Extension WordPress qui ajoute MTN Mobile Money, Orange Money et la carte bancaire au tunnel de commande WooCommerce.
- WordPress 6.0 ou plus récent
- WooCommerce 7.0 ou plus récent
- PHP 7.4 ou plus récent
PrestaShop 8
Module de paiement PrestaShop 8, avec page de configuration, retour client revérifié et notification serveur à serveur.
- PrestaShop 8.0 ou plus récent
- PHP 7.4 ou plus récent
WHMCS
Passerelle de paiement WHMCS pour régler les factures en Mobile Money, avec rapprochement automatique.
- WHMCS 8.0 ou plus récent
- PHP 7.4 ou plus récent
SDK Node.js
Bibliothèque serveur Node.js sans dépendance (fetch natif) pour créer des paiements, vérifier les notifications et demander des reversements. Types TypeScript fournis.
- Node.js 18 ou plus récent
SDK Flutter
Paquet Dart/Flutter côté client : ouvre la page de paiement dans un WebView et suit l'état du paiement, sans jamais embarquer de clé secrète dans l'application.
- Flutter 3.19 ou plus récent
- Dart 3.3 ou plus récent
- Android 5.0 (API 21) ou iOS 12 minimum
SDK React
Paquet React côté navigateur : bouton de paiement et suivi d'état en français, sans clé secrète dans le bundle. Redirection ou nouvelle fenêtre, jamais d'iframe.
- React 18 ou plus récent
- Un serveur qui crée le paiement (SDK PHP ou Node.js)
REST API
Documented, usable as soon as you sign up.
Hosted checkout page
Supplied with the platform, nothing to install.
These modules have not yet been proven in a live shop: they are validated by automated tests and a code review, not by months of real-world use. Install them first on a test environment, with your test keys, before switching to live. Report the slightest discrepancy to us and we will fix it quickly.
Can't find your platform?
Custom-built site, mobile application, point-of-sale software, booking platform, internal tool: as soon as a system can send an HTTP request, it can take payments with WalleoPay.
Tell us what you use
Describe your site or your application and the volume you expect. We reply with the shortest integration path, and we take requests into account when deciding which modules to write first.
Write to usAre you a developer?
Create an account, get your test keys and push a first payment through straight away. No contract and no prior approval are needed to integrate in test mode.
Get my test keysFirst transaction within a few hours
Integration fits into an afternoon for a developer used to APIs. And if you get stuck, we answer.