Appearance
Mapping services ERP
Le catalogue services de la régie est la référence affichée au citoyen et sur le checkout. L'ERP expose des codes recette métier (revenue_line_code) ; Epayment les fait correspondre aux services catalogue via la configuration officer.
Concepts
| Concept | Identifiant | Rôle |
|---|---|---|
| Service catalogue | service_code / service_label | Slug stable (ex. taxe_fonciere) et libellé affiché |
| Mapping ERP | revenue_line_code → service | Association code recette ERP → service catalogue |
| Service par défaut | configuré côté intégration ERP | Fallback si code ERP absent ou non mappé |
Le service_code respecte le format slug : minuscules, chiffres, underscores, commence par une lettre.
Résolution au pull dues
Lors d'un GET /dues, Epayment enrichit chaque ligne avant exposition au portail citoyen :
- Si
revenue_line_codeest présent et mappé vers un service actif →service_id,service_code,service_labelrenseignés. - Sinon, si un service par défaut est configuré et actif → fallback sur ce service.
- Sinon → champs service à
null(la due reste payable mais sans libellé catalogue).
L'ERP peut optionnellement fournir service_code / service_label dans la réponse dues ; Epayment les remplace par la résolution catalogue lorsque le mapping réussit.
Configuration UI
| Écran | Chemin |
|---|---|
| Catalogue services | Régie → Services |
| Mappings ERP | Intégration ERP → Correspondance |
| Service par défaut | Intégration ERP → Connexion ou Correspondance |
Chaque mapping lie un code externe ERP (identique au revenue_line_code, max 50 caractères) à un service du catalogue.
Champs dues liés au mapping
| Champ | Fourni par | Enrichi par Epayment |
|---|---|---|
revenue_line_code | ERP | Clé de lookup mapping |
service_id | Optionnel ERP | Identifiant catalogue si résolu |
service_code | Optionnel ERP | Slug catalogue si résolu |
service_label | Optionnel ERP | Libellé catalogue si résolu |
Exemple
ERP retourne :
json
{
"erp_due_ref": "DUE-2026-001",
"label": "Taxe foncière 2026",
"amount_minor": 15000,
"currency": "XAF",
"revenue_line_code": "REC-TF-01"
}Mapping configuré : REC-TF-01 → service taxe_fonciere (« Taxe foncière »).
Réponse portail citoyen enrichie :
json
{
"erp_due_ref": "DUE-2026-001",
"label": "Taxe foncière 2026",
"amount_minor": 15000,
"currency": "XAF",
"revenue_line_code": "REC-TF-01",
"service_id": "550e8400-e29b-41d4-a716-446655440000",
"service_code": "taxe_fonciere",
"service_label": "Taxe foncière"
}Ministry checkout et service_code
Sur POST /checkout/sessions, le ministry peut transmettre service_code explicitement. Ce champ est indépendant du pull ERP mais doit référencer un service catalogue actif de la régie ciblée.
Recette mapping
- [ ] Chaque
revenue_line_codemétier a un mapping ou le service par défaut couvre le cas. - [ ] Preview dues (onglet Vérification) affiche
service_labelattendu. - [ ] Services inactifs ne sont pas résolus (vérifier le comportement fallback).
- [ ] Modification mapping effective sans redéploiement ERP.