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

svc-payments

Catégorie : Métier  ·  Périmètre : Transverse PR1 · PR2 · recouvrement  ·  Module : services/svc-payments (monorepo fga-services — ADR-0001)  ·  Stack : Java · Quarkus · Gradle · YAML  ·  Architecture : hexagonale

1. Rôle et responsabilités

Ordres de paiement (frais médicaux, indemnités), approbation, exécution via psp-edge, encaissements entrants, rapprochement avec les créances, comptabilisation via erp-edge, surveillance du délai réglementaire de 60 jours.

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

PaymentOrderIncomingPaymentReconciliation

3. API exposée

/v1/payment-orders/v1/incoming-payments/v1/reconciliations

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

5. Événements consommés

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

6. Dépendances synchrones

7. Flux principal

svc-payments · flux principalsens du flux ?sortantentrantconsommerpayment.requestedousettlement.signedcréer le PaymentOrderpublierpayment-order.createdfaire approuverpublierpayment-order.approvedexécuter via psp-edgepublierpayment.failedrejouer ou alerternonsuccès ?publierpayment.executedcomptabiliser via erp-edgerecevoir le relevé (psp-edge)publierincoming-payment.recordedrapprocher avec les créancespublierpayment.reconciledpublierpayment-deadline.at-riskouidélai des 60 jours à risque ?oui

8. Backlog Jira rattaché

76 tickets du backlog Jira se rattachent à ce service, via 11 épics :

ÉpicIntituléEnfants
FSD-29[PEC] Préparation et validation des ordres de paiement · clôturée en v2 (fusion)
FSD-34[PEC] Préparation et transmission de l’ordre de paiement · clôturée en v2 (fusion)
FSD-36[PEC] Construction et validation de l’ordre de paiement · clôturée en v2 (fusion)
FSD-37[PEC] Visa et approbation de l’ordre de paiement · clôturée en v2 (fusion)
FSD-38[PEC] Transmission de l’ordre de paiement au DAF · clôturée en v2 (fusion)
FSD-42[PEC] Génération et suivi des paiements · clôturée en v2 (fusion)
FSD-65[PC] Génération et gestion des ordres de paiement · clôturée en v2 (fusion)
FSD-714[PEC] Paiement5
FSD-768[PEC] Ordonnancement du paiement10
FSD-779[PEC] Transmission du dossier à la Direction financière10
FSD-880[IND] Ordonnancement et transmission du paiement · clôturée en v2 (fusion)
Les tickets d'ordres de paiement existent mais sont dispersés dans PEC et IND (FSD-29, 34 à 38, 65, 714, 768, 779, 880) avec des doublons entre générations. Le rapprochement bancaire, les encaissements et Mobile Money n'ont aucun ticket.

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.

10. Schéma de données

svc-payments