Skip to content

Catalogue services ​

Identification des produits de recette d'une régie dans les sessions checkout, les webhooks et l'affichage citoyen.

Concepts ​

ConceptIdentifiant publicDescription
Service régieservice_codeSlug stable, max 50 caractères (ex. casier_judiciaire)
Libellé affichéservice_labelTexte citoyen, max 200 caractères
Code recette ERPrevenue_line_codeCode 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_code et service_label dans les webhooks checkout et dans la réponse verify-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 ​

CanalQui fournit le serviceChamp source
API ministry (POST /checkout/sessions)SI ministérielservice_code explicite
Portail citoyen / pull duesERPrevenue_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-01casier_judiciaireCasier judiciaire
REC-TF-01taxe_fonciereTaxe foncière
REC-AM-01amende_routiereAmende 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 :

ChampTypePrésence
service_codestring, max 50Si service résolu
service_labelstring, max 200Si service résolu

Même règle pour checkout.completed, checkout.failed, checkout.cancelled, checkout.expired.

Réponse POST /checkout/sessions/verify-completion :

ChampType
service_codestring | null
service_labelstring | null

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