Appearance
Portail citoyen
Le portail citoyen Epayment permet au contribuable de consulter ses créances et de payer via le checkout hébergé. L'ERP est la source de vérité des montants et des références ; Epayment orchestre l'affichage, le paiement et la notification retour.
Flux
Répartition des responsabilités
Fourni par l'ERP
| Donnée | Champ | Notes |
|---|---|---|
| Identifiant contribuable | subject_ref (query param) | Stable dans le SI métier |
| Lignes de créance | items[] | Objet due (voir contrat REST) |
| Référence créance | erp_due_ref | Unique par ligne ouverte |
| Libellé métier | label | Texte ERP |
| Montants | amount_minor, outstanding_minor, original_minor | Unités mineures |
| Règles partiel | allow_partial, minimum_amount_minor | Validation côté ERP |
| Code recette | revenue_line_code | Entrée du mapping catalogue |
| Échéance | due_date | Optionnel |
| Endpoint confirmation | POST /payment-confirmations | Réception encaissement |
Enrichi par Epayment
| Donnée | Champ | Mécanisme |
|---|---|---|
| Service catalogue | service_id, service_code, service_label | Résolution via mapping régie et service par défaut |
| Affichage portail | Libellés UI, panier, totaux | Agrégation des dues sélectionnées |
| Session checkout | metadata.erp_due_ref, montant final | Création session après sélection citoyen |
| Référence paiement | notice_ref, payment_ref | Génération plateforme |
| Transaction | transaction_id (UUID) | Idempotence confirmation ERP |
| Détail canal | Bloc payment dans confirmation | Mobile money ou agence |
L'ERP ne crée pas de session checkout ministry. Epayment appelle POST /checkout/sessions en interne après sélection du citoyen.
Identité contribuable
| Champ | Rôle |
|---|---|
subject_ref | Clé stable contribuable côté ERP ; passée en query au pull dues |
erp_due_ref | Clé ligne de créance ; transmise en metadata checkout puis dans la confirmation |
revenue_line_code | Entrée mapping vers service catalogue régie |
Le lien citoyen ↔ régie est géré par le portail citoyen Epayment, hors contrat REST ERP.
Paiement partiel
Lorsque l'ERP expose allow_partial: true :
minimum_amount_minorest obligatoire et ≤outstanding_minor.- Le portail peut proposer un montant libre dans la plage autorisée.
- La confirmation transmet le
amount_minoreffectivement encaissé ; l'ERP met à jour le solde résiduel.
Documenter les règles métier (arrondis, priorité des créances) côté ERP.
Ministry checkout vs portail citoyen
| Modèle | Qui crée la session | Qui fixe le montant | Confirmation ERP |
|---|---|---|---|
| Ministry API | SI ministère (POST /checkout/sessions) | Ministry | Optionnelle (metadata.erp_due_ref) |
| Portail citoyen | Epayment après pull dues | ERP (objet due) | Obligatoire |
Les deux modèles coexistent pour une même régie.
Catalogue services
Voir Mapping services. Sans mapping ni service par défaut, les dues restent affichables avec le label ERP uniquement (service_label null).
Recette
- [ ]
GET /dues?subject_ref=TESTretourne JSON conforme au contrat dues - [ ] Probe connexion OK (régie → Vérification)
- [ ] Preview dues :
service_labelconforme aux mappings - [ ] Paiement test portail →
POST /payment-confirmationsreçu par ERP - [ ]
erp_due_refcorrèle ligne ERP et transaction - [ ] Paiement partiel testé si
allow_partialactivé