Wave Business fraud detection : un angle mort côté merchant en 2026
Wave Business côté infrastructure est très propre côté KYC payeur (numéro vérifié, PIN, biométrie sur l'app). Mais côté merchant, vous restez exposé à 4 vecteurs de fraude :
- Refund fraud : client paie 80 KFCFA, reçoit le produit, conteste auprès de Wave en prétextant erreur — refund partiel obtenu
- Velocity fraud : un même payeur (ou bot derrière) génère 50 checkouts en 2 minutes pour saturer / tester / blanchir
- Card testing détourné : utiliser votre checkout Wave comme oracle pour valider des numéros mobile money (peu commun mais existant)
- Account takeover : compte Wave d'un client compromis utilisé pour acheter sur votre boutique — vous livrez, le vrai propriétaire conteste
Sur 8 PME e-commerce sénégalaises auditées en 2026, taux de fraude moyen = 0,18 % du CA Wave. Pas catastrophique mais significatif sur 200 M FCFA / an = 360 KFCFA / an perdus. Avec un moteur de règles basique, on tombe à 0,03-0,05 %.
H2 : Stack fraud detection — choix techniques 2026
| Solution | Use case | Coût mensuel | Pertinence merchant SN |
|---|---|---|---|
| Règles maison (Next.js + Redis) | Volume < 50 K transactions/mois | 0 + dev | Idéale 0-2 ans |
| Stripe Radar | Si vous mixez Stripe + Wave | inclus dans Stripe | Bonne (cross-channel) |
| Sift Science | Volume > 50 K transactions/mois | 850 € / mois (entry) | Excellente, mais coût élevé |
| Castle.io | Account takeover focus | 290 $/mois | Très bonne pour ATO |
| Seon | KYC + fraud combo | 599 $/mois | Bonne, ROI moyen Afrique |
| ChargeHero / Justt | Gestion chargebacks | % du chargeback récupéré | Utile dès chargebacks > 0,2 % |
Pour 80 % des merchants e-commerce SN sous 100 M FCFA / an, la stack maison est suffisante. Au-delà, basculer sur Sift ou Castle.
H2 : Règles fraud detection — top 12 à implémenter
`typescript
// Moteur de règles fraud detection — exemple TypeScript
type FraudSignal = {
rule: string;
weight: number; // 1-10
matched: boolean;
};
async function evaluateCheckout(ctx: CheckoutContext): Promise
const signals: FraudSignal[] = [];
// Règle 1 : vitesse — > 5 checkouts en 1 min même IP
const recentByIp = await redis.zcount(
checkouts:ip:${ctx.ip},
Date.now() - 60_000,
Date.now()
);
signals.push({ rule: 'velocity_ip_1min', weight: 9, matched: recentByIp > 5 });
// Règle 2 : vitesse device — > 3 checkouts en 1 min même device
const recentByDevice = await redis.zcount(
checkouts:dev:${ctx.deviceFingerprint},
Date.now() - 60_000,
Date.now()
);
signals.push({ rule: 'velocity_device_1min', weight: 8, matched: recentByDevice > 3 });
// Règle 3 : IP datacenter / VPN
const ipInfo = await ipQualityScore(ctx.ip);
signals.push({ rule: 'ip_datacenter', weight: 6, matched: ipInfo.datacenter || ipInfo.vpn });
// Règle 4 : IP pays différent du téléphone Wave
signals.push({ rule: 'ip_country_mismatch', weight: 4, matched: ipInfo.country !== 'SN' && ctx.phonePrefix === '+221' });
// Règle 5 : numéro Wave dans blocklist
const phoneBlocked = await db.fraudBlocklist.findFirst({ where: { phone: ctx.phone } });
signals.push({ rule: 'phone_blocklist', weight: 10, matched: !!phoneBlocked });
// Règle 6 : montant suspect (round + élevé first-time customer)
const isFirstTime = !(await db.customer.findFirst({ where: { phone: ctx.phone } }));
signals.push({
rule: 'high_amount_first_time',
weight: 7,
matched: isFirstTime && ctx.amount > 500_000 && ctx.amount % 50_000 === 0,
});
// Règle 7 : email jetable
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.
const emailTemp = isDisposableEmail(ctx.email);
signals.push({ rule: 'disposable_email', weight: 5, matched: emailTemp });
// Règle 8 : adresse livraison + numéro Wave région différente
signals.push({
rule: 'shipping_phone_region_mismatch',
weight: 4,
matched: ctx.shippingRegion !== ctx.phoneRegion,
});
// Règle 9-12 : custom rules métier (panier suspect, code promo abusé, etc.)
const totalScore = signals
.filter((s) => s.matched)
.reduce((sum, s) => sum + s.weight, 0);
let verdict: 'approve' | 'review' | 'deny';
if (totalScore >= 15) verdict = 'deny';
else if (totalScore >= 8) verdict = 'review';
else verdict = 'approve';
return { verdict, score: totalScore, signals };
}
`
H2 : Device fingerprinting et IP intelligence
Sans device fingerprint, 60 % de vos règles vitesse sont aveugles. Solutions 2026 :
FingerprintJS Open Source (gratuit, hash basé navigateur). Précis à 60-70 %. OK pour démarrer.
FingerprintJS Pro (1 200 € / mois pour 100 K identifications). Précis à 99,5 %. ROI dès > 30 M FCFA / mois de CA Wave.
IPQualityScore (35 $/mois entry) — détection VPN, proxy, datacenter, bot.
MaxMind GeoIP2 (gratuit pour précision pays, payant pour précision ville).
H2 : Gestion chargebacks Wave Business
Wave Business permet aux payeurs de contester un paiement dans les 30 jours via l'app. Côté merchant, vous recevez un webhook dispute.created avec un délai de 7 jours pour fournir la preuve.
Preuves acceptées par Wave en cas de dispute :
- Bon de livraison signé (photo)
- Échange WhatsApp / email avec le client confirmant réception
- Tracking livreur (TerraTech, NDIAGA, etc.)
- Screenshot du compte client de votre plateforme avec historique commande
Taux de récupération moyen sur disputes Wave (2026 data sur 4 merchants) : 65-78 % si preuves fournies sous 5 jours, 22-35 % si fournies entre J+5 et J+7, 0 % au-delà.
Automatiser la collecte des preuves dès la création de la commande = clé.
H2 : Investissements moteur fraud detection
| Poste | Coût initial | Récurrent mensuel |
|---|---|---|
| Dev moteur règles maison (Next.js + Redis + Prisma) | 1 800 000 à 3 800 000 FCFA | — |
| Redis hosting (Upstash) | — | 12 000 à 45 000 FCFA |
| FingerprintJS Pro (volume > 30 M / mois CA) | 25 000 FCFA setup | 780 000 FCFA |
| IPQualityScore | — | 22 000 FCFA |
| Module gestion chargebacks + preuves auto | 1 200 000 FCFA | — |
| Sift Science (>100 K transactions/mois) | optionnel | 560 000 FCFA |
Investissement initial maison : 3-5 M FCFA. Récurrent maison : 35-80 KFCFA / mois (sans FingerprintJS Pro). Stack pro complète : ~1,3 M FCFA / mois. ROI : 0,15 % de CA Wave sauvé minimum = 25-35 KFCFA / mois économisés pour 200 M FCFA / an.
FAQ
Wave Business notifie-t-il les merchants en cas de fraude détectée côté Wave ?
Oui, via webhook fraud.flagged (récent depuis février 2026). Vous recevez un signal avec niveau de risque (low / medium / high). Pour les high, le checkout est automatiquement bloqué côté Wave avant même que le payeur ne valide.
Peut-on bloquer un numéro Wave Business côté merchant ?
Oui, via blocklist côté votre plateforme. Vous refusez le checkout si phone est dans la blocklist. Wave ne propose pas de blocklist native côté merchant (la blocklist Wave est globale, gérée par leur équipe fraude interne).
Quelle latence ajoute le moteur fraud detection au checkout ?
Stack maison bien optimisée (Redis en RAM, requêtes parallélisées) : 80-150 ms ajoutés. Stack pro (Sift) : 200-400 ms. Au-delà de 500 ms, le taux de conversion checkout baisse — toujours mesurer.
Que faire en cas de chargeback gagné côté merchant ?
Wave restitue le montant sur votre compte Business sous 24-48h après décision favorable. Aucune action requise côté votre code, juste tracer l'événement (webhook dispute.resolved avec outcome: merchant_won).
Faut-il déclarer les pertes de fraude à la BCEAO / DGID ?
Côté BCEAO : non, c'est Wave qui consolide les statistiques de fraude au niveau EMI. Côté DGID : les pertes de fraude sont déductibles fiscalement (charges exceptionnelles 658) si vous pouvez documenter (procès-verbal, plainte, preuve perte). Conserver les pièces.
Discutons de votre cas
Si vous voulez câbler un moteur de fraud detection sur vos checkouts Wave Business (règles maison, FingerprintJS, gestion chargebacks), nous pouvons l'architecturer et le livrer en 4-7 semaines. 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.

