Skip to content

Recette ministry ​

Checklist de recette pour intégration SI ministériel (hosted ou embed) avant passage sk_live_.

Acteurs ​

ActeurRôle
Équipe SI ministryImplémentation API et webhook
Officer régie / EpaymentCredentials, endpoints, origines embed
Opérateur recetteExécute scénarios sandbox

Prérequis ​

  • Application sandbox créée avec clé sk_test_*.
  • Au moins un endpoint webhook HTTPS (recette) abonné aux événements checkout.
  • webhook_secret en coffre ; handler HMAC testé unitairement.
  • Catalogue service et service_code alignés avec le cas métier.
  • Pour embed : origines parent configurées.

Séquence recette type ​

Scénarios obligatoires ​

#ScénarioRésultat attendu
1Création session hosted201, session_id, checkout_url, payment_ref
2Paiement MM sandbox via checkout UI (Paiement test)Webhook checkout.completed, paid: true (numéro saisi sur le checkout, hors suffixes 0002 / 0003)
3Paiement agence sandboxMême webhook après collecte guichet
4Paiement carte sandbox via checkout UIWebhook checkout.completed ; session open après refus test
5Pingplatform.webhook.ping reçu et signé
6Idempotence webhookRejeu même x-epayment-event-id → pas double effet métier
7Idempotence createMême Idempotency-Key + même corps → même session
8Session expiréecheckout.expired ou GET expired ; dossier non débloqué
9Échec collect MM via checkout UI (Paiement test)checkout.failed avec failure_code ; dossier non débloqué (suffixe 0002 = refus, 0003 = timeout ; voir Mobile money - sandbox)

Scénarios embed (si applicable) ​

#ScénarioRésultat attendu
10Création mode=embeddedclient_secret, pas embed.origins_required
11SDK open + paiementonComplete + verify-completion → paid: true
12Token rejouéverify-completion idempotent (409 ou 200 selon état)
13Webhook parallèleMême order_id que verify ; handler idempotent
14Carte en overlay (devise EUR)pending pendant redirect ; verify après succès

Chemins d'échec à valider ​

ScénarioCode ou événementVérification
Clé invalide401 / generic.unauthorizedAucune session créée
tenant_id absent (clé plateforme)checkout.tenant_requiredMessage stable
Session déjà payéecheckout.completed sur recréationPas second encaissement
Signature webhook incorrecteHandler rejetteAucun déblocage métier
Collecte / attempts avec sk_Hors contrat SIUtiliser hosted ou embed uniquement

Critères d'acceptation recette ​

  • [ ] Tous scénarios obligatoires passent en sandbox.
  • [ ] Secrets absents du code source et des logs applicatifs.
  • [ ] Corrélation order_id, session_id, notice_id documentée côté SI.
  • [ ] Runbook incident : contact Epayment avec x-epayment-event-id.
  • [ ] Passage sk_live_ après signature procès-verbal recette.

Références ​

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