Appearance
Taxes - portail citoyen
Contribuable consulte ses impôts sur le portail citoyen Epayment et paie une sélection via checkout hosted.
Acteurs
| Acteur | Rôle |
|---|---|
| Contribuable (citoyen) | Consulte créances et paie |
| ERP fiscal | Expose dues et reçoit confirmations |
| Portail citoyen Epayment | Authentification, panier, checkout interne |
| Officer régie | Mapping revenue_line_code → services catalogue |
| Checkout hosted | Paiement MM ou agence |
Prérequis
- Capacité portail citoyen activée pour la régie.
- ERP configuré : GET
/dueset POST/payment-confirmations(contrat REST). - Mappings services catalogue (
revenue_line_code→service_codeEpayment). - Citoyen lié à la régie avec
subject_refERP stable. - Credentials ERP chiffrés et probe health OK.
Séquence
Étapes métier
- ERP configure GET
/dueset POST/payment-confirmations. - Officer régie : mappings
revenue_line_code→ services catalogue. - Citoyen crée compte ou lie identité régie (
subject_ref). - Portail appelle Epayment → pull dues ERP.
- Citoyen sélectionne créances, constitue le panier, paie.
- Epayment crée session checkout interne, redirect hosted.
- Après paiement : Epayment POST confirmation vers ERP avec
erp_due_ref.
ERP minimum
json
GET /dues?subject_ref=CONTRIB-8842
{
"items": [
{
"erp_due_ref": "DUE-TF-2026",
"label": "Taxe foncière 2026",
"amount_minor": 15000,
"currency": "XAF",
"revenue_line_code": "REC-TF-01"
}
]
}Distinction ministry
Le SI fiscal ne appelle pas POST /checkout/sessions pour ce parcours self-service. L'API ministry reste disponible pour d'autres cas (guichet one-shot, etc.).
Chemins d'échec
| Scénario | Signal | Action |
|---|---|---|
| ERP indisponible au pull | erp.connection_failed ou timeout journal ERP | Portail affiche erreur ; pas de panier partiel sans dues |
| Montant hors règles ERP | citizen.amount_exceeds_outstanding, citizen.amount_below_minimum | Bloquer ligne ou montant avant checkout |
| Confirmation ERP en échec après paiement citoyen | Journal ERP + retry Epayment | Alerte opérations ; rapprochement manuel via transaction_id et quittance |
Critères d'acceptation
- [ ] GET
/dues?subject_ref=TESTretourne JSON valide et mappé au catalogue. - [ ] Paiement sandbox crée confirmation ERP avec
erp_due_refetamount_minorencaissé. - [ ]
amount_minorconfirmation = montant dû ligne (frais service exclus pour l'ERP). - [ ] Panier vide ou devise incohérente refusé (
citizen.cart_empty,citizen.cart_currency_mismatch). - [ ] Partial payment respecte
allow_partialetminimum_amount_minorERP.