E-commerce9 min de lecture

Intégrer Wave, Orange Money et Stripe sur son site en 2026

Mohamed Bah·Fondateur, Kolonell
21 mai 2026
Partager :
Intégrer Wave, Orange Money et Stripe sur son site en 2026

Intégrer Wave, Orange Money et Stripe sur son site en 2026

E-commerce

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éthodePart du volumeProfil client
Wave48-62 %Jeunes 18-35 ans, urbains, mobile-first
Orange Money22-34 %25-55 ans, salariés, fidèles Orange
Cash à la livraison8-18 %Méfiants premier achat, zones rurales
Stripe (cartes Visa/Mastercard)3-12 %Diaspora, B2B, achats > 100 KFCFA
Virement bancaire0-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éthodeFrais marchandDélai versementWebhook fiableKYC
Wave Business1 % intra-SénégalT+1 ouvréoui (HMAC SHA256)RC + IFU
Orange Money Merchant1-1,5 % selon volumeT+2 ouvréoui (signature OM)RC + IFU + dépôt
Stripe (cartes EUR/USD)2,9 % + 0,30 EURT+7 (J+2 si Stripe Capital)oui (signature Stripe)KYC complet
Stripe (cartes locales XOF)indisponible directpasser par PSP local (PayDunya, CinetPay)
PayDunya (agrégateur Wave+OM+cartes)2-3,5 %T+1 à T+3ouiRC + IFU
CinetPay (agrégateur multi-pays Afrique)2-3 %T+2 à T+5ouiRC + 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.

Tags :#paiement#Wave#Orange Money#Stripe#API#Next.js#Prisma
Partager :

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.