Liste de contrôle avant la mise en production
Parcourez cette liste avant de passer votre boutique sur une clé sk_live_. Chaque ligne renvoie vers le détail.
Votre compte Xaalis
Section intitulée « Votre compte Xaalis »- Votre compte est
active. D’ici là, les requêtes en production renvoient403 merchant_not_active: demandez à Xaalis de terminer l’examen de votre compte. - Vous avez une clé secrète de production (
sk_live_…), conservée dans le coffre à secrets de votre serveur, jamais dans du code exécuté par le navigateur, une application mobile, un dépôt Git ou un journal. - Votre secret de webhook est conservé de la même façon.
Votre intégration
Section intitulée « Votre intégration »- Chaque
POST /v1/paymentsetPOST /v1/payouts(où elle est obligatoire) envoie uneIdempotency-Keyliée à votre commande ou à votre retrait — et, tant que B-4 n’est pas corrigé, préfixée avec le mode (live:order-1042). → Idempotence - Vous ne livrez une commande que sur réception du webhook
payment.succeededsigné (ou d’unGET /v1/payments/{id}fait depuis votre serveur), jamais parce que le client est arrivé sursuccess_url. → Paiements - Votre point de terminaison de webhook est en
https://, vérifieXaalis-Signaturesur le corps brut, rejette les horodatages de plus de 5 minutes, répond par un 2xx en moins de 10 s et dédoublonne sur l’idde l’événement. → Webhooks - Il vérifie
livemode: trueavant d’expédier : les événements de test et de production partagent une même URL. - Vous comparez l’
amountet leclient_referencedu webhook avec votre commande avant de la livrer. - Les montants sont des XOF entiers partout dans votre code (pas de
1500.00, pas de nombres à virgule). - Les erreurs sont traitées selon leur
code(insufficient_funds,idempotency_conflict…), pas selon leur message. → Erreurs -
success_urletcancel_urlsont des pageshttps://de votre propre site.
Testez d’abord en mode test
Section intitulée « Testez d’abord en mode test »- Un paiement qui réussit, un qui échoue et un qui expire mènent chacun la commande au bon état.
- Un webhook reçu en double (rejouez le même événement) n’entraîne pas deux expéditions.
- Un webhook avec une mauvaise signature est rejeté avec un 400.
- Un versement qui échoue (bénéficiaire se terminant par
0000) est bien géré. → Mode test
Le jour J
Section intitulée « Le jour J »- Remplacez
sk_test_parsk_live_dans la configuration de votre serveur : rien d’autre ne change. - Faites vous-même un petit paiement réel (par exemple 100 F CFA) avec Wave et un autre avec Orange Money, et regardez le webhook arriver.
- Surveillez
GET /v1/webhook-deliveriespendant les premiers jours pour repérer les échecs.