Flow — Cash-in agent
Le consumer dépose du cash physique chez un agent et reçoit l'équivalent sur son wallet Nex. Côté plateforme, le flow inclut la collecte des frais et la distribution des commissions aux bénéficiaires (Nex, corporate, marchand).
État actuel
Configuration 100 %, collecte des frais 100 %, distribution des commissions 0 % (logique prévue, code manquant). Voir État actuel vs prévu.
Sequence diagram
Plan de la documentation
| Page | Contenu |
|---|---|
| Flux complet et détails techniques | Flow théorique vs réel, détails techniques de la collecte des frais et de la distribution prévue, schéma de flux global. |
| État actuel vs prévu et roadmap | Ce qui est implémenté, ce qui est prévu, plan de remédiation, exemple complet. |
Trust boundaries traversées
| Étape | Crossing | Contrôle |
|---|---|---|
| Agent → Orchestrator | JWT Firebase + guard RolesGuard(['agent']) | |
| Orchestrator → Risk | JWT internal-service, scope risk:evaluate | |
| App Pro → Orchestrator (confirm) | JWT + PIN agent revalidé | |
| Orchestrator → Ledger | JWT internal-service, scope ledger:write |
Pré-conditions
- Consumer enregistré (KYC validé).
- Agent enregistré (KYC validé, rôle
simple_agentoumaster_agent— cf. ADR-0042). - Agent dispose d'une caisse suffisante (vérifié par limites preflight).
- Montant ≥ minimum réglementaire BEAC, ≤ plafond du consumer.
Post-conditions
| Entity | État |
|---|---|
| Wallet consumer | solde + montant (net frais) |
| Caisse agent | solde + montant |
FEE_COLLECTION (système) | solde + frais |
intents | status completed, metadata.posId si applicable |
risk_evaluations | trace de la décision avec policy_id |