Skip to content

Taxes - portail citoyen ​

Contribuable consulte ses impôts sur le portail citoyen Epayment et paie une sélection via checkout hosted.

Acteurs ​

ActeurRôle
Contribuable (citoyen)Consulte créances et paie
ERP fiscalExpose dues et reçoit confirmations
Portail citoyen EpaymentAuthentification, panier, checkout interne
Officer régieMapping revenue_line_code → services catalogue
Checkout hostedPaiement MM ou agence

Prérequis ​

  • Capacité portail citoyen activée pour la régie.
  • ERP configuré : GET /dues et POST /payment-confirmations (contrat REST).
  • Mappings services catalogue (revenue_line_code → service_code Epayment).
  • Citoyen lié à la régie avec subject_ref ERP stable.
  • Credentials ERP chiffrés et probe health OK.

Séquence ​

Étapes métier ​

  1. ERP configure GET /dues et POST /payment-confirmations.
  2. Officer régie : mappings revenue_line_code → services catalogue.
  3. Citoyen crée compte ou lie identité régie (subject_ref).
  4. Portail appelle Epayment → pull dues ERP.
  5. Citoyen sélectionne créances, constitue le panier, paie.
  6. Epayment crée session checkout interne, redirect hosted.
  7. 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énarioSignalAction
ERP indisponible au pullerp.connection_failed ou timeout journal ERPPortail affiche erreur ; pas de panier partiel sans dues
Montant hors règles ERPcitizen.amount_exceeds_outstanding, citizen.amount_below_minimumBloquer ligne ou montant avant checkout
Confirmation ERP en échec après paiement citoyenJournal ERP + retry EpaymentAlerte opérations ; rapprochement manuel via transaction_id et quittance

Critères d'acceptation ​

  • [ ] GET /dues?subject_ref=TEST retourne JSON valide et mappé au catalogue.
  • [ ] Paiement sandbox crée confirmation ERP avec erp_due_ref et amount_minor encaissé.
  • [ ] amount_minor confirmation = 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_partial et minimum_amount_minor ERP.

Références ​

Plateforme d'orchestration de paiement DPI. Les fonds ne transitent pas par Epayment.