Skip to content
StableAudienceDevSécuritéQAAudit banqueComplianceOwner@product-teamDernière revue2026-05-21

Flow — P2P (transfert entre utilisateurs Nex)

Un consumer envoie de l’argent à un autre consumer Nex (identifié par son numéro de téléphone).

Sequence diagram

Trust boundaries traversées

ÉtapeCrossingContrôle
2App sender → OrchestratorJWT Firebase + RolesGuard(['consumer'])
7Orch → RiskJWT internal-service + scope risk:evaluate
13App sender → Orchestrator (confirm)JWT + PIN sender
15Orch → LedgerJWT internal-service + scope ledger:write

Pré-conditions

  • Sender et recipient tous deux KYC validés (au moins KYC basique selon les seuils BEAC).
  • Sender a un solde suffisant (vérifié par preflight).
  • Numéro de téléphone du recipient résolu sans ambiguïté.

Post-conditions

EntityÉtat
Wallet sendersolde - (montant + frais)
Wallet recipientsolde + montant
Wallet frais Nexsolde + frais
intentsstatus completed
risk_evaluationstrace
notifications2 enregistrements

Acceptance criteria (Gherkin)

gherkin
Scenario: P2P réussi entre deux consumers KYC validés
  Given un sender avec 50 000 XAF de solde
  And un recipient KYC validé
  When le sender envoie 10 000 XAF au recipient
  Then l'intent est en statut "pending"
  And le risk preflight renvoie "approved"
  When le sender confirme avec son PIN
  Then le solde du sender diminue de 10 000 XAF + frais
  And le solde du recipient augmente de 10 000 XAF
  And les deux reçoivent un push

Scenario: P2P refusé pour solde insuffisant
  Given un sender avec 100 XAF de solde
  When le sender tente d'envoyer 10 000 XAF
  Then l'intent est en "failed" avec motif "solde insuffisant"
  And aucune écriture ledger n'est passée

Scenario: P2P refusé pour recipient inconnu
  Given un sender connecté
  When le sender envoie 10 000 XAF à un numéro inconnu
  Then la création d'intent échoue avec motif "destinataire inconnu"

Liens

Nex — Plateforme fintech CEMAC