Développeurs/Mise en production

Sandbox

La Sandbox est une copie de test séparée de CardV. Elle vous permet de développer et de tester votre intégration sans argent réel ni produits réels.

Voir aussi : README · Authentification

LiveSandbox
URL de base de l'APIhttps://b2b.cardv.net/api/v1https://sandbox.cardv.net/api/v1
Portailhttps://b2b.cardv.net/portal/Même Portail, passez en Sandbox

#Obtenir l'accès

  1. Votre entreprise doit d'abord être validée par CardV.
  2. Connectez-vous au Portail et choisissez Sandbox dans l'en-tête. Il n'est pas possible de se connecter directement à la Sandbox.
  3. À la première connexion, CardV crée votre compte Sandbox. Il a le même Merchant ID et 1 000 USD d'argent de test.
  4. Dans la Sandbox, un Owner crée et affiche une clé API Sandbox. Les clés Live n'y fonctionnent pas.
  5. Facultatif : configurez un webhook Sandbox. Il a son propre secret de signature.

#Ce qui est séparé

  • La Sandbox a ses propres clés, portefeuille, commandes, webhooks, liste d'IP autorisées et journal d'audit.
  • Les réglages ne sont pas partagés. Configurez les clés, les webhooks et la liste d'IP autorisées dans chaque environnement.
  • Les commandes Sandbox n'achètent jamais de vrais produits. Les codes de test ne sont pas utilisables.
  • L'argent de test n'a aucune valeur. Vous ne pouvez ni en ajouter, ni le retirer, ni le transférer vers Live.
  • S'il ne vous reste plus d'argent de test, demandez-en au support CardV.

#Argent de test

Les commandes utilisent l'argent de test exactement comme les commandes Live utilisent l'argent réel. Les commandes de test en échec sont remboursées de la même façon. Les mouvements d'argent de test apparaissent sur la page des transactions du Portail.

#Catalogue de test

  • Le catalogue Sandbox est réduit et ne contient que des produits de test.
  • Les identifiants de SKU ne sont pas les mêmes qu'en Live. Récupérez-les toujours avec GET/skus dans la Sandbox.
  • Ne copiez jamais des identifiants Sandbox dans votre configuration Live, ni l'inverse.
  • Les prix, la disponibilité et les délais de livraison en Sandbox ne sont pas ceux de Live.

#Liste de contrôle des tests

  • GET/account affiche votre Merchant ID et "api_access_enabled": true.
  • GET/balance fonctionne.
  • Vous savez parcourir toutes les pages de GET/skus et ne commandez que des SKU available.
  • Une commande signée aboutit. Une signature incorrecte renvoie HTTP 403.
  • Vous envoyez expected_unit_price sur chaque ligne de commande.
  • Une commande de SKU à montant libre avec amount fonctionne (si la Sandbox en propose un).
  • Envoyer deux fois la même commande (nouveau nonce, même corps, même numéro de commande) renvoie HTTP 200 avec le même order_id. Votre solde n'est débité qu'une fois.
  • Le même numéro de commande avec un corps différent renvoie HTTP 400 sur external_order_id.
  • Après un délai dépassé, votre code renvoie la même commande au lieu de créer un nouveau numéro de commande.
  • Vous lisez deliveries[].display_fields et les transmettez au client.
  • Vous gérez failed, refunded et partially_succeeded.
  • Votre code de webhook passe le vecteur de test, puis un vrai webhook Sandbox. Les doublons sont ignorés.
  • Après un HTTP 429, vous attendez le délai indiqué dans Retry-After.
  • Vos journaux ne contiennent ni clés API, ni signatures, ni codes, ni données de compte de vos clients.

#Liste de contrôle avant la mise en production

  • Créez une clé API Live dans le Portail Live. Rangez-la dans votre coffre à secrets de production.
  • Remplacez l'URL de base par https://b2b.cardv.net/api/v1 dans votre configuration.
  • Chargez le catalogue Live et associez vos produits aux identifiants de SKU Live.
  • Ajoutez des fonds à votre portefeuille Live dans le Portail. Activez une alerte de solde bas.
  • Facultatif : ajoutez les IP de vos serveurs à la liste d'IP autorisées Live.
  • Configurez un webhook Live et déployez son secret de signature.
  • Confirmez avec CardV vos plafonds de commande et votre limite de requêtes.
  • Passez une seule petite commande Live. Vérifiez le débit, les codes et le webhook. Augmentez ensuite le volume progressivement.
  • Faites un rapprochement quotidien avec la page des transactions et les exports du Portail.
  • Activez la validation en deux étapes pour tous les Owners.

#Dépannage

HTTP 403 error code: 1010

L'hôte Sandbox est placé derrière un service réseau de protection. Certains clients HTTP reçoivent un HTTP 403 avec le simple texte error code: 1010. La requête n'est jamais arrivée jusqu'à CardV : changer de clé ou de signature n'y changera rien.

  • Définissez un User-Agent explicite.
  • Si le problème persiste, envoyez au support CardV l'IP de votre serveur, votre User-Agent et l'heure.
  • Ne faites jamais vos tests sur Live à la place.

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