Pourquoi multi-méthodes paiement au Sénégal en 2026
Un site e-commerce sénégalais qui n'accepte qu'une méthode perd 35-55 % des conversions. La répartition observée sur 12 PME accompagnées :
| Méthode | Part du volume | Profil client |
|---|---|---|
| Wave | 48-62 % | Jeunes 18-35 ans, urbains, mobile-first |
| Orange Money | 22-34 % | 25-55 ans, salariés, fidèles Orange |
| Cash à la livraison | 8-18 % | Méfiants premier achat, zones rurales |
| Stripe (cartes Visa/Mastercard) | 3-12 % | Diaspora, B2B, achats > 100 KFCFA |
| Virement bancaire | 0-3 % | B2B grandes commandes uniquement |
Stratégie recommandée : Wave + Orange Money + Stripe par défaut, COD optionnel selon zone.
H2 : Frais réels et conditions 2026
| Méthode | Frais marchand | Délai versement | Webhook fiable | KYC |
|---|---|---|---|---|
| Wave Business | 1 % intra-Sénégal | T+1 ouvré | oui (HMAC SHA256) | RC + IFU |
| Orange Money Merchant | 1-1,5 % selon volume | T+2 ouvré | oui (signature OM) | RC + IFU + dépôt |
| Stripe (cartes EUR/USD) | 2,9 % + 0,30 EUR | T+7 (J+2 si Stripe Capital) | oui (signature Stripe) | KYC complet |
| Stripe (cartes locales XOF) | indisponible direct | — | — | passer par PSP local (PayDunya, CinetPay) |
| PayDunya (agrégateur Wave+OM+cartes) | 2-3,5 % | T+1 à T+3 | oui | RC + IFU |
| CinetPay (agrégateur multi-pays Afrique) | 2-3 % | T+2 à T+5 | oui | RC + IFU |
Choix tactique.
- Volume mensuel < 5 M FCFA : agrégateur (PayDunya ou CinetPay), une seule intégration
- Volume > 10 M FCFA : intégration directe Wave + Orange Money (économie 1-2 % frais) + Stripe pour international
H2 : Architecture technique (Next.js 14 + Prisma + webhooks)
Modèle Prisma minimum.
`prisma
model Order {
id String @id @default(cuid())
amount Int // en FCFA
currency String @default("XOF")
status OrderStatus @default(PENDING)
paymentMethod String // wave | orange | stripe | cod
paymentRef String? // ref externe PSP
customerId String
createdAt DateTime @default(now())
paidAt DateTime?
}
enum OrderStatus {
PENDING
PAID
FAILED
REFUNDED
}
`
Route checkout côté serveur. Crée l'order en PENDING, génère une URL de paiement PSP, retourne au client. Le client est redirigé vers le PSP, paie, et le PSP rappelle votre webhook.
Route webhook. Vérifie la signature HMAC, met à jour status=PAID, déclenche email + logistique. Toujours idempotent (le PSP peut rappeler 2-3 fois).
Besoin d'un site web professionnel ?
Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.
Exemple payload webhook Wave (simplifié).
`json
{
"event": "payment.success",
"data": {
"id": "tx_AbCdEf123",
"amount": 28500,
"currency": "XOF",
"reference": "order_xyz_789",
"status": "succeeded",
"completed_at": "2026-05-21T14:32:11Z"
}
}
`
H2 : Sécurité et conformité
Règles non négociables.
- Signature webhook vérifiée côté serveur — jamais faire confiance au payload nu
- Idempotency key sur création paiement — un client qui clique 3 fois ne crée pas 3 charges
- Montants validés côté serveur — jamais accepter le montant du client (manipulation possible)
- Logs paiement chiffrés + accès restreint (RBAC)
- PCI DSS : ne jamais stocker numéro de carte. Tokeniser via Stripe Elements ou redirection PSP
- 3D Secure activé sur Stripe pour toutes transactions > 50 KFCFA
- Rate limiting sur endpoint de paiement (Cloudflare ou middleware Next.js)
FAQ
Wave ou Orange Money : lequel intégrer en premier ?
Wave d'abord en 2026 : 48-62 % du volume mobile money observé sur PME, API plus moderne (REST + webhooks propres), frais 1 % fixe vs 1-1,5 % pour OM, KYC plus rapide (3-7 jours vs 10-21 jours OM).
Combien coûte intégrer Wave + Orange Money + Stripe ?
Intégration directe par un dev expérimenté : 1,2-3,5 M FCFA pour les trois (incluant checkout custom, webhooks, dashboard interne minimum). Via agrégateur (PayDunya / CinetPay) : 350-850 KFCFA. Plus les frais transactionnels mensuels.
Stripe accepte-t-il le XOF ?
Stripe ne traite pas le XOF directement comme devise marchande. Workarounds : (1) facturer en EUR/USD avec conversion affichée, (2) passer par PSP local (PayDunya, CinetPay) qui agrège Stripe + Wave + OM, (3) ouvrir une entité hors zone CFA. La majorité des PME passent par option 2.
Comment gérer le cash à la livraison (COD) techniquement ?
Order créé en PENDING_COD. Livreur encaisse cash, scanne QR sur sa propre app, marque l'order PAID après remise des fonds au siège. Risques : non-retrait client 8-18 %, vol livreur 0,5-2 %. Mitigation : exiger acompte Wave 10-20 % à la commande, géolocalisation livreur, photo livraison.
Webhook qui ne reçoit rien : que vérifier ?
Checklist : (1) URL webhook publique et accessible (pas localhost), (2) HTTPS valide (Let's Encrypt), (3) réponse 200 sous 5s sinon retry, (4) IP du PSP whitelistée si firewall, (5) signature HMAC vérifiée avec la bonne clé secrète, (6) logs PSP côté dashboard marchand consultés (Wave / OM / Stripe ont tous un onglet "logs webhooks").
Discutons de votre cas
Si vous voulez intégrer Wave, Orange Money et Stripe sur votre site e-commerce, nous pouvons concevoir l'architecture et coder l'intégration. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.

