Intégrez les paiements Mobile Money (Airtel & Moov) avec Kadryza. Créer un compte →
Dossier partenaire · Opérateurs Mobile Money

Kadryza pour les opérateurs

Une couche d’infrastructure technique qui connecte les marchands d’Afrique centrale au Mobile Money, avec une seule intégration. Conçue pour Airtel Money et Moov Money au Tchad (zone CEMAC).
🤝

Cette page résume ce qu’est Kadryza, comment elle fonctionne et où une intégration opérateur apporterait de la valeur. Elle sert de support à une discussion de partenariat — ce n’est pas un engagement contractuel.

Positionnement

Kadryza n’est pas une banque et ne détient pas de licence bancaire. Kadryza ne tient pas de compte de dépôt et ne se substitue pas à un établissement financier. C’est une couche d’infrastructure technique : elle expose une API moderne aux marchands, s’interface avec les opérateurs Mobile Money pour la collecte et la confirmation des paiements, et fournit aux marchands les outils de suivi (statuts, webhooks, réconciliation, remboursements).

Les flux d’argent restent portés par les opérateurs et leurs partenaires financiers. Kadryza orchestre l’expérience technique autour de ces flux.

Le problème

Au Tchad et plus largement en zone CEMAC, accepter un paiement Mobile Money côté marchand reste difficile :

  • chaque opérateur a ses propres formats, ses propres règles et son propre rythme de confirmation ;
  • les confirmations arrivent par des canaux hétérogènes, parfois manuels, difficiles à rapprocher ;
  • peu d’outils permettent à un marchand de savoir de façon fiable qu’un paiement est acquis ;
  • l’intégration technique demande un effort important, hors de portée de la plupart des marchands.

Résultat : des encaissements perdus, des litiges, et une friction qui freine l’adoption du paiement numérique.

La solution

Kadryza expose une seule API REST qui masque cette complexité. Un marchand intègre Kadryza une fois, et accepte les paiements Airtel Money et Moov Money de la même manière, avec :

  • un format de paiement unifié (amount en XAF, operator, phone_number, reference) ;
  • des statuts clairs et finaux (PENDINGSUCCESS / FAILED / TIMEOUT) ;
  • des webhooks signés pour être notifié en temps réel ;
  • une séparation stricte test / production par clé API ;
  • un dashboard marchand et une console interne pour le suivi et le support.

Le parcours d’un paiement

01

Le marchand initie le paiement

Le marchand appelle l’API Kadryza avec le montant, l’opérateur et le numéro du client. Kadryza crée la transaction en statut PENDING.

02

Kadryza route vers l’opérateur

La demande est transmise à l’opérateur concerné (Airtel ou Moov) selon ses règles d’intégration.

03

Le client confirme

Le client autorise le paiement depuis son téléphone (USSD / application opérateur).

04

Kadryza enregistre et notifie

À réception d’une confirmation sûre, Kadryza inscrit l’écriture dans son registre interne et notifie le marchand par un webhook signé (transaction.success). Tant que la confirmation n’est pas sûre, aucun succès n’est déclaré.

05

Réconciliation et reversement

Les confirmations sont rapprochées du registre interne, et les fonds collectés sont suivis jusqu’au reversement au marchand.

Architecture

Kadryza est organisée en composants découplés, chacun avec une responsabilité claire.

ComposantRôle
API REST publiquePoint d’entrée des marchands. Authentification par clé X-API-Key, isolation test/live.
Passerelle opérateursAdapte les formats et règles propres à chaque opérateur Mobile Money.
Cœur de paiement + registreGère le cycle de vie des transactions et inscrit les écritures dans un registre interne (ledger).
Workers asynchronesTraitent les confirmations, les relances et la livraison des webhooks de façon fiable et idempotente.
Console interne (back-office)Outils d’opérations : revue KYC, réconciliation, remboursements, reversements, journal d’audit.
Dashboard marchandSuivi des transactions, gestion des clés API et des endpoints webhook.

Cette séparation permet de faire évoluer l’intégration d’un opérateur sans toucher au reste du système, et d’ajouter un nouvel opérateur via la passerelle dédiée.

Sécurité

La sécurité est traitée comme une exigence de premier ordre.

  • Clés API : préfixées par environnement (kadryza_test_… / kadryza_live_…), affichées une seule fois, stockées côté serveur. Rotation et révocation possibles à tout moment.
  • Webhooks signés : chaque livraison porte un en-tête X-Kadryza-Signature au format sha256=<hmac>, un HMAC-SHA256 du corps brut signé avec un secret propre au marchand.
  • Transport : tous les échanges se font en HTTPS uniquement.
  • Idempotence : les traitements sont conçus pour absorber les rejeux réseau sans double effet.
  • Pas de données carte : les paiements passent par le Mobile Money ; Kadryza ne manipule pas de données de carte bancaire.
  • Traçabilité : les actions sensibles de la console interne (KYC, remboursements, reversements) sont limitées par rôle et enregistrées dans un journal d’audit.

Le détail technique destiné aux développeurs est documenté sur la page Sécurité.

Réconciliation

La réconciliation rapproche ce que l’opérateur confirme de ce que Kadryza a enregistré.

  • Chaque confirmation reçue est comparée aux transactions attendues, par marchand.
  • Le registre interne (ledger) constitue la source de vérité comptable côté Kadryza.
  • Les écarts (paiement reçu sans transaction connue, transaction sans confirmation) sont identifiés et traités depuis la console interne, plutôt que laissés à l’appréciation du marchand.

Une intégration opérateur directe (voir plus bas) renforcerait cette réconciliation en fournissant des statuts et des références fiables de bout en bout.

Webhooks

Les webhooks sont le canal recommandé pour réagir en temps réel à un paiement.

  • Événements confirmés : transaction.success, transaction.failed, transaction.timeout, ainsi que payment_session.succeeded, payment_session.under_review, payment_session.expired.
  • Signature systématique en HMAC-SHA256 (voir Sécurité).
  • Relances : en cas de réponse non 2xx, la livraison est rejouée avec un backoff progressif (jusqu’à 4 relances), ce qui impose un traitement idempotent côté marchand.
  • Émission sûre : un succès n’est notifié qu’après décision confirmée côté backend ; un paiement à vérifier passe par under_review et n’est jamais transformé en succès automatiquement.

La référence complète est disponible sur la page Webhooks.

Remboursements

Les remboursements sont gérés comme une opération encadrée, pas comme une action banale.

  • Ils sont initiés et suivis depuis la console interne, avec un statut dédié.
  • Chaque remboursement est rattaché à la transaction d’origine et tracé dans le journal d’audit (qui, quand, pourquoi).
  • L’accès à l’action est limité par rôle, pour éviter toute manipulation non autorisée.

Cette approche donne à l’opérateur et au marchand une trace claire et vérifiable de chaque mouvement inverse.

Intégration future de l’API opérateur

Aujourd’hui, Kadryza s’appuie sur les canaux de confirmation disponibles pour déterminer qu’un paiement est acquis. Une intégration directe à l’API d’un opérateur ferait passer cette expérience à un autre niveau.

Ce qu’une intégration opérateur permettrait :

  • une collecte initiée par API (push USSD / prompt sur le téléphone du client) plutôt que par des canaux indirects ;
  • des statuts de transaction fiables et temps réel, directement depuis l’opérateur ;
  • une réconciliation de bout en bout avec des références partagées ;
  • à terme, des reversements et remboursements plus directs et plus rapides.

Ce dont Kadryza aurait besoin de l’opérateur :

  • un environnement de test (sandbox) et un accès production ;
  • des endpoints de collecte, de statut et idéalement de callback ;
  • une documentation et un référent technique pour l’intégration.

Ce que Kadryza apporte en retour :

  • l’onboarding et le KYC des marchands, déjà outillés ;
  • une expérience développeur prête (API, SDK, webhooks signés, documentation) ;
  • la réconciliation, le support et la traçabilité côté marchand ;
  • un canal de distribution qui élargit l’usage du Mobile Money de l’opérateur.
🧭

L’intégration opérateur décrite ici est prospective : elle cadre une collaboration possible, pas une fonctionnalité livrée. Les modalités précises seraient définies conjointement.

Ce que Kadryza n’est pas

Pour lever toute ambiguïté :

  • Kadryza n’est pas une banque et ne détient pas de licence bancaire ;
  • Kadryza ne tient pas de compte de dépôt et ne se substitue pas à un établissement financier ;
  • Kadryza ne contourne pas les opérateurs : elle s’intègre avec eux.

Kadryza est une couche logicielle d’infrastructure, au service des marchands et des opérateurs.

Discuter d’un partenariat

Pour échanger sur une intégration opérateur ou un partenariat :