Bac à sable
Cartes de test
Des numéros de carte qui réussissent, sont refusés, demandent le 3-D Secure ou répondent tard sur la page de paiement simulée du mode test.
En mode test, la page de paiement par carte est une simulation marquée TEST. Elle accepte les numéros ci-dessous et rien d’autre : tout autre numéro est refusé avec « utilisez une carte de test », et n’est jamais enregistré. Une vraie carte ne marche jamais en mode test.
Tapez un numéro sur la page, ou touchez-le dans la liste de la page. Si la page demande une date
d’expiration ou un code de sécurité, mettez n’importe quelle date future et trois chiffres
quelconques. Pour payer sans navigateur, envoyez le même numéro à l’assistant de
test complete.
Les numéros
Réussit tout de suite.
Une page 3-D Secure simulée s’ouvre. Approuver : réussit. Échouer : refusé, authentication_failed.
Refusé, card_declined.
Refusé, card_declined avec le code de refus insufficient_funds.
Refusé, expired_card.
Échoue, processing_error.
Réussit après 60 secondes ; jusque-là, le paiement n’est pas confirmé.
Réussit une seule fois, bien que la confirmation parvienne à AdProMaxPay plusieurs fois et dans le désordre.
Aucune confirmation n’arrive jamais : le paiement ne réussit pas, et la tentative expire au bout d’environ 30 minutes.
Après un refus, l’intention de paiement revient à requires_payment_method, avec la raison dans
last_payment_error, et vous recevez payment_intent.payment_failed. Votre client peut essayer
une autre carte sur la même page.
Ce que chaque scénario enseigne
- Succès et Refusée : votre page pour une commande payée et votre page pour une commande échouée.
- 3-D Secure : l’étape en plus qu’une banque peut demander. Votre code ne fait rien de particulier ; la page hébergée s’en charge.
- Confirmation lente : votre client est de retour sur votre
success_urlavant que le paiement ne soit confirmé. Affichez « Nous confirmons votre paiement », et livrez sur le webhook, pas sur le retour. - Notifications répétées : vous recevez quand même un seul événement
payment_intent.succeeded, même si une livraison de webhook peut elle-même arriver deux fois : voir la déduplication. - Confirmation perdue : un paiement peut finir sans argent même après le passage de votre client
sur la page de paiement. Ne livrez jamais avant
succeeded.
Le tableau complet des statuts est dans Le fonctionnement des paiements. Ce qui diffère encore de la production est dans Bac à sable et production : les différences.