Bac à sable

Bac à sable et production : les différences

Le mode test exécute le même code que la production. Chaque différence voulue, avec sa valeur et sa raison.

Ouvrir en Markdown
Sur cette page
  1. Ce qui diffère
  2. Ce qui est identique
  3. Le test et la production ne se mélangent jamais

Le mode test n’est pas une imitation de AdProMaxPay : c’est la même API, la même validation, la même machine à états, les mêmes événements et les mêmes webhooks. Seuls les prestataires de paiement sont simulés, pour qu’aucun argent réel ne circule. Une requête qui marche en mode test marche en production, et une requête refusée en production est refusée en mode test.

Les différences ci-dessous sont voulues. Chacune vous évite d’attendre, ou de dépenser de l’argent réel.

Ce qui diffère

Mode testProductionPourquoi
ArgentAucun ne circule ; rien n’atteint une banquePaiements réelsLe bac à sable sert à construire
Clésapx_sk_test_…, apx_pk_test_…, dès l’inscriptionapx_sk_live_…, apx_pk_live_…, une fois votre compte activéDeux modes, deux jeux de données
Page de paiement par carteUne page simulée marquée TEST, qui n’accepte que les cartes de testLa page de paiement sécurisée de notre partenaire carteUne vraie carte n’entre jamais en mode test
3-D SecureUne page simulée où vous choisissez d’approuver ou d’échouerLa banque de votre clientPour tester les deux issues
Codes espècesPayés avec Simuler le paiement ou les assistants de test ; aucun agent ne les acceptePayés en espèces chez un agent de paiement partenairePas d’argent liquide réel pour un test
Vérification du statut des espècesToutes les 10 secondes, et tout de suite après un paiement simuléToutes les 2 minutesUn test se confirme en quelques secondes
Fonds disponibles120 secondes après la réussite d’un paiementAprès la durée de rétention fixée à l’activation de votre compteVous voyez tout le cycle du solde pendant un test
Nos fraisUne valeur provisoire prise sur chaque paiement réussi : 2,5 % pour une carte, 3 % pour les espècesLes frais annoncés avec l’activationVotre solde de test bouge comme un solde réel ; ces chiffres ne sont pas nos tarifs
Remboursements par carteAboutissent en quelques secondesPeuvent rester pending plus longtemps, le temps que le réseau carte les exécuteLe prestataire simulé répond tout de suite
Assistants de testDisponiblesRefusés : 403, test_mode_onlySimuler un paiement n’a pas de sens en production
Limites de débit, par minuteToutes requêtes 600, écritures 150, créations de paiement 60, recherches 30Toutes requêtes 1 200, écritures 300, créations de paiement 120, recherches 30Le trafic de production reçoit la plus grande part
Plafond quotidien10 000 requêtes et 1 000 créations de paiement par jour, heure du Maroc ; ensuite 429, test_daily_cap_reachedAucunProtège le bac à sable partagé
Journaux de requêtesGardés 30 joursGardés 90 joursLe trafic de test est de courte durée

Les limites de débit sont les valeurs par défaut ; les vôtres peuvent différer. La page Limites de l’API du tableau de bord montre les valeurs qui s’appliquent à vous, et permet d’en demander davantage : voir Limites de débit.

Ce qui est identique

  • Validation : les mêmes champs, les mêmes contrôles, les mêmes codes et messages d’erreur.
  • Minimums : 100,00 MAD pour les espèces, 1,00 MAD pour une carte, dans les deux modes. Un paiement en espèces de 50,00 MAD est refusé en mode test exactement comme en production.
  • Durées de vie : une page de paiement par carte dure environ 30 minutes ; un code espèces environ trois jours (son expires_at le dit) ; une session de paiement 24 heures, sauf si vous fixez moins.
  • Idempotence : les mêmes clés obligatoires, les mêmes rejeux pendant 24 heures.
  • Événements et webhooks : les mêmes types, les mêmes contenus, les mêmes signatures, les mêmes nouvelles tentatives.
  • Statuts : une intention de paiement passe par les mêmes statuts, et réussit une seule fois.
  • Remboursements : les paiements par carte peuvent être remboursés ; les paiements en espèces non, dans les deux modes.

Le test et la production ne se mélangent jamais

  • Une clé de test ne voit que les objets de test ; une clé de production que les objets de production. Lire un objet de test avec une clé de production répond resource_missing, avec une indication que l’objet existe dans l’autre mode.
  • Les endpoints de webhook appartiennent à un seul mode. Créez vos endpoints de production au passage en production.
  • Les objets de test portent "livemode": false ; ceux de production "livemode": true.