Appearance
Catalogue services
Identification des produits de recette d'une régie dans les sessions checkout, les webhooks et l'affichage citoyen.
Concepts
| Concept | Identifiant public | Description |
|---|---|---|
| Service régie | service_code | Slug stable, max 50 caractères (ex. casier_judiciaire) |
| Libellé affiché | service_label | Texte citoyen, max 200 caractères |
| Code recette ERP | revenue_line_code | Code métier émis par l'ERP régie, max 50 caractères |
Le catalogue est géré par l'officer régie ou le super-admin (onglet Services). Pas d'API self-service ministry pour créer ou modifier des services en v1.
service_code (API ministry)
Champ optionnel sur POST /checkout/sessions :
json
{
"order_id": "CJ-2026-88421",
"amount": 5000,
"service_code": "casier_judiciaire"
}Contraintes : chaîne 1 à 50 caractères. Doit référencer un service actif du catalogue de la régie. Sinon : erreur de validation.
Effets lorsque le code est valide :
- Association du service au paiement ;
- Présence de
service_codeetservice_labeldans les webhooks checkout et dans la réponseverify-completion; - Affichage du libellé sur le checkout hébergé.
Absence de service_code à la création : service_code / service_label sont absents ou nuls dans les webhooks et verify-completion.
revenue_line_code (ERP et portail citoyen)
Le portail citoyen et le pull ERP utilisent le code recette émis par le SI régie (revenue_line_code). Epayment le résout via le mapping configuré par l'officer :
text
revenue_line_code (ERP)
→ mapping régie
→ service_code / service_label (catalogue)Exemple de due ERP :
json
{
"erp_due_ref": "DUE-2026-001",
"amount_minor": 5000,
"revenue_line_code": "REC-TF-01"
}Si le mapping existe, la créance citoyen affiche service_label. Si le code ERP est absent ou non mappé, la plateforme peut retomber sur le service par défaut configuré dans l'intégration ERP de la régie.
Ministry vs ERP
| Canal | Qui fournit le service | Champ source |
|---|---|---|
API ministry (POST /checkout/sessions) | SI ministériel | service_code explicite |
| Portail citoyen / pull dues | ERP | revenue_line_code mappé |
Les deux modèles coexistent pour une même régie. Le SI ministry n'a pas besoin de connaître revenue_line_code s'il envoie directement service_code.
Correspondance typique
revenue_line_code (ERP) | service_code (catalogue) | service_label |
|---|---|---|
REC-CJ-01 | casier_judiciaire | Casier judiciaire |
REC-TF-01 | taxe_fonciere | Taxe foncière |
REC-AM-01 | amende_routiere | Amende routière |
Les codes exacts dépendent de la configuration régie. Valider en recette avec l'officer avant production.
Webhooks et verify-completion
Champs optionnels sur les événements checkout et sur verify-completion :
| Champ | Type | Présence |
|---|---|---|
service_code | string, max 50 | Si service résolu |
service_label | string, max 200 | Si service résolu |
Même règle pour checkout.completed, checkout.failed, checkout.cancelled, checkout.expired.
Réponse POST /checkout/sessions/verify-completion :
| Champ | Type |
|---|---|
service_code | string | null |
service_label | string | null |