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
| Secret | Pourquoi c'est important | Où 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 Portail | Les 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
inputsdes clients. Journalisez plutôt les identifiants :order_id,external_order_id,sku_idet le code HTTP. - Ne journalisez jamais les en-têtes
X-Api-Key,X-SignatureniX-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_urlest le code. Protégez-le comme un code PIN.
#Réseau
- Appelez uniquement
b2b.cardv.netetsandbox.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.