Développeurs/Mise en production

Sécurité

Votre clé API permet de dépenser l'argent de votre portefeuille et de lire les codes des cartes. Protégez-la, ainsi que les codes reçus, comme des coordonnées bancaires ou de l'argent liquide.

Voir aussi : Authentification · Webhooks · Sandbox

#Vos secrets

SecretPourquoi c'est importantOù le conserver
Clé API (cvb2b_...)Quiconque la possède peut passer des commandes et lire les codes.Dans un gestionnaire de secrets, uniquement sur vos serveurs
Secret de webhook (whsec_...)Il prouve qu'un webhook vient bien de CardV.Uniquement sur votre serveur de webhooks
Mots de passe du PortailLes Owners peuvent créer et afficher des clés.Dans un gestionnaire de mots de passe, avec 2FA
  • Gardez vos clés uniquement sur vos serveurs. Ne les mettez jamais dans une application, un navigateur, une URL, un dépôt de code, un ticket, une messagerie ou un e-mail.
  • Utilisez une clé par système : vous pourrez en désactiver une sans arrêter les autres.
  • Limitez le nombre de personnes qui peuvent lire la clé. Changez-la quand l'une d'elles quitte l'entreprise.
  • Si une clé a pu fuiter, désactivez-la immédiatement dans le Portail. Créez-en ensuite une nouvelle et prévenez le support CardV.
  • Activez la validation en deux étapes (2FA) pour chaque Owner du Portail.

#Codes et données clients

Appelé avec une clé API, GET/orders/{order_id} renvoie les codes complets et utilisables. Ces codes comprennent les numéros de carte, les codes PIN, les codes de sécurité, les données de QR code et les liens d'activation. La commande reprend aussi les informations de recharge de votre client (inputs).

  • Ne journalisez jamais les réponses des commandes, les codes, les liens d'activation ni les inputs des clients. Journalisez plutôt les identifiants : order_id, external_order_id, sku_id et le code HTTP.
  • Ne journalisez jamais les en-têtes X-Api-Key, X-Signature ni X-CardV-Signature.
  • Stockez les codes chiffrés. Seul le processus qui les remet à vos clients doit pouvoir les lire. Supprimez-les à la fin de votre durée de conservation.
  • Ne mettez pas les réponses des commandes en cache dans des caches partagés, des CDN ou des outils de supervision. Désactivez la capture du corps des requêtes pour les appels à CardV.
  • Un redeem_url est le code. Protégez-le comme un code PIN.

#Réseau

  • Appelez uniquement b2b.cardv.net et sandbox.cardv.net, en HTTPS. Ne désactivez jamais la vérification des certificats.
  • Utilisez la liste d'IP autorisées en production. Elle limite les dégâts si une clé fuite. Mettez-la à jour quand vos serveurs changent.
  • Vérifiez la signature de chaque webhook, refusez les horodatages trop anciens et ignorez les doublons. Ne placez pas l'URL de votre webhook derrière une authentification : la signature suffit comme preuve.

#Utilisateurs et accès

  • Donnez à chaque utilisateur du Portail le rôle le plus limité possible : Viewer pour consulter, Manager pour commander et ajouter des fonds, Owner pour gérer la sécurité.
  • Retirez l'accès au Portail des personnes qui partent, en Live comme en Sandbox.

#Journal d'audit

Le journal d'audit du Portail (Owner) enregistre les actions liées à la sécurité, comme la création et l'affichage de clés, les modifications de la liste d'IP autorisées et du secret de webhook. CardV enregistre aussi les IP bloquées, les échecs de signature et les dépassements de la limite de requêtes, et son équipe est alertée en cas d'activité inhabituelle.

Consultez régulièrement le journal d'audit. Tout affichage de clé inattendu doit être traité comme une fuite possible.

#Signaler un problème

Si vous soupçonnez une fuite de clé, des commandes frauduleuses ou un problème de sécurité chez CardV, écrivez immédiatement à [email protected]. Indiquez votre Merchant ID et les numéros de commande. N'incluez jamais les secrets eux-mêmes.

Une question sur votre intégration ? Écrivez à [email protected] en indiquant votre Merchant ID et l’identifiant de commande ou de requête.