Skip to content
Toutes les études de cas
FintechLos Bebes Inc (produit interne)Produit interne ; en production, développement continu

FiapPay : le séquestre en tant que service via WhatsApp, construit en Rust

5%
Commission fixe
Partagée à parts égales entre acheteur et vendeur
0
Code frontend
Toute l'interface est un menu WhatsApp interactif
HMAC
SHA-256 vérifié
Chaque webhook validé cryptographiquement
Live
En production
Traite de vraies transactions sous séquestre

Contexte

FiapPay est notre propre produit : une plateforme de séquestre en tant que service (EaaS) au service des acheteurs et vendeurs au Cameroun, où le commerce informel vit sur WhatsApp et le mobile money, et où le principal obstacle à une transaction entre inconnus est la confiance. FiapPay joue le rôle de tiers neutre qui conserve les fonds jusqu'à ce que chaque partie ait tenu parole. La plateforme est en production.

Le problème

La fraude entre acheteurs et vendeurs est endémique sur les marchés informels : payer d'abord et ne jamais recevoir la marchandise, ou expédier d'abord et ne jamais être payé. Le séquestre classique résout ce problème, mais toutes les implémentations existantes supposaient une application web ou mobile - une vraie barrière d'adoption pour des utilisateurs dont toute la vie commerciale se déroule déjà dans WhatsApp, sur des téléphones d'entrée de gamme avec des données facturées au volume. Le problème technique était donc double : construire une gestion de fonds sous séquestre réellement digne de confiance, et la livrer par un canal sans installation d'application, sans friction d'inscription et sans courbe d'apprentissage.

Notre approche

Nous avons pris une décision d'architecture volontairement inhabituelle : aucun frontend. FiapPay est un backend pur - Rust avec le framework Axum sur le runtime asynchrone Tokio - et son interface utilisateur complète est un menu WhatsApp interactif. Les utilisateurs créent un séquestre, reçoivent les instructions de paiement, confirment la livraison et déclenchent la libération des fonds entièrement dans une conversation. Rust a été choisi pour les raisons qui comptent quand un logiciel détient l'argent des autres : sécurité mémoire, un système de types qui rend les états illégaux irreprésentables, et des performances prévisibles sous charge concurrente. L'encaissement et le décaissement passent par Campay, qui agrège MTN Mobile Money et Orange Money - les rails que nos utilisateurs possèdent réellement. Le cycle de vie des transactions est explicite et piloté par machine à états : en attente de paiement, fonds bloqués sous séquestre, livré et libéré. La tarification est une commission fixe de 5 %, partagée à parts égales entre acheteur et vendeur, annoncée d'emblée.

Pile technologique

Rust avec Axum et Tokio pour le service ; SQLx sur SQLite pour le stockage avec des requêtes vérifiées à la compilation ; intégration de l'API Campay pour l'encaissement et le versement mobile money ; webhooks WhatsApp pour l'interface conversationnelle.

Mesures de sécurité

Chaque webhook entrant - notifications de paiement comme messages WhatsApp - est vérifié par signature HMAC-SHA256 avant d'être accepté ; une charge utile non vérifiée est rejetée d'office. Le contenu des messages est validé côté serveur contre des schémas stricts. Les transitions d'état sont imposées en un seul endroit, côté serveur : les fonds ne peuvent pas être libérés sans que la transaction soit dans l'état requis, quoi qu'affirme un message. Les opérations de séquestre sont idempotentes : un webhook rejoué ne peut ni libérer ni créditer deux fois. Le modèle de propriété de Rust élimine les classes de bugs de corruption mémoire qui affligent les services financiers écrits dans des langages non sûrs.

Résultat

FiapPay est en production et traite de vraies transactions sous séquestre. L'interface exclusivement WhatsApp a validé le pari initial : les utilisateurs transigent via un menu de conversation qu'ils savent déjà utiliser, sans installer quoi que ce soit. Côté exploitation, le backend Rust tourne avec une empreinte minimale, et l'absence de frontend web a supprimé toute une surface d'attaque - pas de session navigateur, pas de XSS, pas de logique de paiement côté client à détourner.

Durée et équipe

Conçu, construit et exploité en interne par notre petite équipe d'ingénierie de Bamenda, sous la direction de notre fondateur. La plateforme est en développement continu à mesure que le volume de transactions croît.

Détails du projet

Client
Los Bebes Inc (produit interne)
Secteur
Fintech
Durée
Produit interne ; en production, développement continu
Technologies
RustAxumTokioSQLx (SQLite)API CampayWebhooks WhatsApp
Lancer votre projet