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.
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 test | Production | Pourquoi | |
|---|---|---|---|
| Argent | Aucun ne circule ; rien n’atteint une banque | Paiements réels | Le bac à sable sert à construire |
| Clés | apx_sk_test_…, apx_pk_test_…, dès l’inscription | apx_sk_live_…, apx_pk_live_…, une fois votre compte activé | Deux modes, deux jeux de données |
| Page de paiement par carte | Une page simulée marquée TEST, qui n’accepte que les cartes de test | La page de paiement sécurisée de notre partenaire carte | Une vraie carte n’entre jamais en mode test |
| 3-D Secure | Une page simulée où vous choisissez d’approuver ou d’échouer | La banque de votre client | Pour tester les deux issues |
| Codes espèces | Payés avec Simuler le paiement ou les assistants de test ; aucun agent ne les accepte | Payés en espèces chez un agent de paiement partenaire | Pas d’argent liquide réel pour un test |
| Vérification du statut des espèces | Toutes les 10 secondes, et tout de suite après un paiement simulé | Toutes les 2 minutes | Un test se confirme en quelques secondes |
| Fonds disponibles | 120 secondes après la réussite d’un paiement | Après la durée de rétention fixée à l’activation de votre compte | Vous voyez tout le cycle du solde pendant un test |
| Nos frais | Une valeur provisoire prise sur chaque paiement réussi : 2,5 % pour une carte, 3 % pour les espèces | Les frais annoncés avec l’activation | Votre solde de test bouge comme un solde réel ; ces chiffres ne sont pas nos tarifs |
| Remboursements par carte | Aboutissent en quelques secondes | Peuvent rester pending plus longtemps, le temps que le réseau carte les exécute | Le prestataire simulé répond tout de suite |
| Assistants de test | Disponibles | Refusés : 403, test_mode_only | Simuler un paiement n’a pas de sens en production |
| Limites de débit, par minute | Toutes requêtes 600, écritures 150, créations de paiement 60, recherches 30 | Toutes requêtes 1 200, écritures 300, créations de paiement 120, recherches 30 | Le trafic de production reçoit la plus grande part |
| Plafond quotidien | 10 000 requêtes et 1 000 créations de paiement par jour, heure du Maroc ; ensuite 429, test_daily_cap_reached | Aucun | Protège le bac à sable partagé |
| Journaux de requêtes | Gardés 30 jours | Gardés 90 jours | Le 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_atle 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.