Aller au contenu

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.
  • Vérifiez la Xaalis-Signature de 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’id de l’événement, et relisez l’objet depuis l’API quand l’ordre des événements compte.
  • 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 un GET /v1/payments/{id} fait côté serveur.
  • La checkout_url contient 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 metadata de données personnelles dont vous n’avez pas besoin.
  • 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-Key pour 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é.