Bonnes pratiques de sécurité
- Les clés secrètes restent sur votre serveur. Quiconque possède
sk_live_…peut créer des versements depuis votre solde. Ne mettez jamais une clé dans un site web, une application mobile, une URL, un ticket de support ou un dépôt Git. - Traitez aussi les clés de test comme des secrets : elles peuvent créer des objets de test et lire les données de test de votre compte.
- Si une clé fuite, demandez-en immédiatement une nouvelle à Xaalis et retirez l’ancienne de vos systèmes.
- Chargez les clés depuis des variables d’environnement ou un gestionnaire de secrets ; gardez-les hors des journaux et des outils de suivi d’erreurs.
Webhooks
Section intitulée « Webhooks »- Vérifiez la
Xaalis-Signaturede chaque requête avec votre secret de webhook avant de la lire : sur le corps brut, avec une comparaison à temps constant, en rejetant les horodatages de plus de 5 minutes. Le SDK Node fait tout cela pour vous. - Utilisez un chemin difficile à deviner (
/webhooks/xaalis-7f3a…) : cela ne remplace pas la signature, mais réduit le bruit. - Dédoublonnez sur l’
idde l’événement, et relisez l’objet depuis l’API quand l’ordre des événements compte.
Paiements et clients
Section intitulée « Paiements et clients »- Ne marquez jamais une commande comme payée depuis le navigateur ou à cause de la redirection vers
success_url: uniquement depuis votre serveur, après un webhook vérifié ou unGET /v1/payments/{id}fait côté serveur. - La
checkout_urlcontient un secret propre à chaque paiement (cs=). Ne la journalisez pas, ne l’envoyez pas à vos outils d’analyse d’audience et ne la montrez à personne d’autre que ce client. - Ne mettez pas dans
metadatade données personnelles dont vous n’avez pas besoin.
Versements
Section intitulée « Versements »- Protégez le code qui crée les versements aussi strictement que votre interface d’administration : réservé au personnel authentifié, avec une piste d’audit de votre côté.
- Envoyez toujours une
Idempotency-Keypour qu’un retrait relancé ne puisse jamais être envoyé deux fois. - Vérifiez bien les numéros des bénéficiaires (
+2217XXXXXXXX) : un versement arrivé sur le mauvais portefeuille ne peut pas être récupéré.