← Index des services · SI FGA · spécification de service

psp-edge

Catégorie : Edge  ·  Périmètre : Canaux financiers  ·  Module : edges/psp-edge (monorepo fga-services — ADR-0001)  ·  Stack : Java · Quarkus · Gradle · YAML  ·  Architecture : hexagonale

1. Rôle et responsabilités

Adaptateurs vers les canaux financiers : banques (virements, relevés) et opérateurs Mobile Money. Un adaptateur par fournisseur derrière un port unique consommé par svc-payments ; absorbe les modes dégradés (échange de fichiers plutôt qu'API).

2. Modèle de domaine (agrégats)

ProviderAdapterPaymentInstructionStatementFile

3. API exposée

/edge/psp/v1/instructions/edge/psp/v1/statements

API REST versionnée, contrat OpenAPI généré et versionné avec le service. Authentification par jeton Keycloak (JWT RS256) validé par le service (Quarkus OIDC).

4. Événements publiés

Aucun

5. Événements consommés

Aucun

Topics sigfga.<service>.<aggregate> · enveloppe CloudEvents 1.0 · publication via outbox pattern · consommateurs idempotents (déduplication par event id).

6. Dépendances synchrones

svc-paymentsbanques · opérateurs Mobile Money (ports out)

7. Flux principal

psp-edge · flux principalrecevoir l'ordre (payments)sélectionner l'adaptateur(banque · Mobile Money)transformer au format du fournisseursoumettre au fournisseursuivre (callback · polling)nonstatut final reçu ?ouisuccès ?ouinonnotifier payments : exécuténotifier payments : échec et motif

8. Backlog Jira rattaché

Backlog v2 (16/07/2026) : toujours aucun ticket rattaché à ce service.

Zéro ticket, aucune mention de Mobile Money dans le backlog alors que le CDC PR2 l'exige pour le paiement des indemnités. À instruire : choix des opérateurs, contrats, environnements de test (sandbox).

MAJ backlog v2 (16/07/2026) — L'épic programme TRANSVERSE « Intégrations Mobile Money / banque / SMS » (FSD-1172) existe — vide : à décomposer dès les contrats banques/opérateurs.

9. Implémentation

Structure hexagonale standard : domain (modèle, événements, services purs, sans dépendance framework), application (use cases, ports in/out, transactions), adapter (in/rest, in/messaging, out/persistence, out/messaging, out/client). Dépendances verrouillées par test ArchUnit. Base de données dédiée (schéma PostgreSQL propre), migrations Liquibase (changesets exclusivement en SQL formaté — ADR-0002). Code intégralement en anglais ; textes utilisateur en fichiers i18n français.