payment gateway testing
Guide du testeur sur les tests de passerelle de paiement:
Quels sont les processeurs de paiement?
Selon Wikipedia, «Un processeur de paiement est une société (souvent tierce) désignée par un commerçant pour gérer les transactions à partir de divers canaux tels que les cartes de crédit et les cartes de débit pour les banques acquéreuses de commerçants. Le processeur de paiement vérifiera à la fois les détails reçus en les transmettant à la banque émettrice de la carte ou à l'association de cartes concernée pour vérification, et appliquera également une série de mesures anti-fraude contre la transaction. '
Certaines passerelles de paiement courantes sont Braintree, Authorize.net, PayPal, Bluepay, Citrus Payments, etc.
Il existe de nombreux ouvrages disponibles en ligne et hors ligne sur les passerelles de paiement et la terminologie associée.
Dans ce didacticiel, j'ai essayé de simplifier certaines de ces informations et j'ai essayé d'ajouter mes expériences.
Lecture recommandée => Test des applications de banque d'investissement
Lors de mon premier projet, je n'avais aucune idée de la façon de tester correctement un passerelle de paiement . J'ai appris progressivement et j'ai travaillé avec succès sur le déploiement des intégrations PayPal, Braintree et Authorize.net avec nos applications de commerce électronique.
Nous discuterons de la terminologie commune, comprendrons le flux des transactions de bout en bout et des conseils utiles et les meilleures pratiques.
Ce que vous apprendrez:
- Terminologie de la passerelle de paiement
- Différence entre la passerelle de paiement et les processeurs de paiement
- Flux de transaction
- Pourquoi devons-nous tester les passerelles de paiement?
- Types de tests requis
- Conseils utiles
- Liste de contrôle et cas de test de la passerelle de paiement
- Configuration de Sandbox: exemple de paiements Braintree
- Conclusion
- lecture recommandée
Terminologie de la passerelle de paiement
Laissez-nous discuter de certains termes que nous utiliserons dans cet article:
1) Marchand - Un commerçant est une personne ou une entreprise qui vend des produits ou des services. Flipkart, Amazon, eBay sont quelques exemples de marchands.
2) carte de crédit - Une carte plastique qui peut être utilisée pour acheter des produits ou des services via un compte de crédit. Il comporte un numéro de carte à 16 chiffres, une date d'expiration, un hologramme, une bande magnétique, un panneau de signature et un numéro de valeur de vérification de carte (CVV).
Recto de la carte de crédit:
Dos de la carte de crédit:
(Source: about.com)
3) Banque d'acquisition - Acquiring Bank est une institution financière qui gère le compte bancaire du commerçant et permet à un commerçant d'accepter et de traiter les transactions par carte de débit et / ou de crédit dans son magasin.
4) Banque émettrice - La banque émettrice est l’institution financière qui émet la carte de débit ou de crédit du client. Chaque fois qu'un client utilise une carte de crédit ou de débit pour effectuer un achat, la banque émettrice approuve ou refuse la transaction en fonction de l'état du compte du titulaire de la carte et transmet ces informations à la banque acquéreuse.
Par exemple, la transaction sera rejetée si la date d’expiration de la carte est incorrecte, ou si le montant de l’achat est supérieur à la limite de crédit de la carte, etc.
5) Transaction - Le processus de bout en bout par lequel le commerçant reçoit des fonds pour une transaction avec un client.
6) Autorisation - L'autorisation est demandée lorsqu'un client effectue un achat. Cette autorisation est fournie par la banque émettrice du client et confirme la validité du titulaire de la carte, la capacité de payer et la présence de fonds suffisants, etc. Une fois cette opération effectuée, les fonds sont retenus et le solde est déduit de la limite de crédit du client mais ne l'est pas encore transféré sur le compte marchand.
7) Capture - Dans cette action, le commerçant recueille les informations de paiement client pertinentes et envoie une demande de règlement / capture au sous-traitant. Le processeur utilise ces informations pour lancer le transfert de fonds entre le compte de carte du client et le compte bancaire du commerçant.
Lire aussi => Test des applications bancaires
Différence entre la passerelle de paiement et les processeurs de paiement
Il y a beaucoup de littérature disponible en ligne à ce sujet et si la passerelle de paiement et le processeur de paiement sont des modules distincts avec des fonctionnalités distinctes.
Au cours de mes projets, j'ai observé que le processeur de paiement et les passerelles de paiement sont utilisés de manière interchangeable sans aucune distinction réelle. Les marchands désignent généralement les «passerelles de paiement» comme des processeurs de paiement, car ils traitent tous les paiements.
Les «processeurs de paiement» se considèrent comme des passerelles de paiement car ils agissent comme un moyen de traiter et de terminer la transaction de paiement sécurisée.
Flux de transaction
L'organigramme suivant résume le flux complet depuis le moment où un client passe une commande jusqu'à ce que la commande soit réussie ou refusée.
Si un client souhaite annuler la commande, voici le déroulement:
La différence entre une annulation et un retour dépend du fait qu'une transaction est capturée ou non.
Un paiement non réglé peut être annulé, ce qui signifie que les fonds détenus sont crédités sur le compte du titulaire de la carte. Si une transaction est déjà réglée ou capturée, un remboursement est lancé, ce qui signifie que les fonds sont prélevés sur le compte marchand et crédités sur le compte du titulaire de la carte.
questions et réponses d'entretien php pour 2 ans d'expérience
Pourquoi devons-nous tester les passerelles de paiement?
Si nous devions faire des achats dans un véritable magasin physique, nous paierions en espèces ou passerions notre carte (de crédit ou de débit) dans la machine lors du paiement pour terminer la transaction.
Si vous utilisez des cartes de crédit ou de débit, le PDV ( Test au point de vente ) la machine indiquera si le traitement du paiement sera approuvé ou refusé.
De même, lors des transactions en ligne, nous devons avoir un système comparable en place, qui approuve ou désapprouve une transaction instantanément.
Du point de vue du client, le traitement des paiements en ligne sur le site Web de commerce électronique doit être transparent. Le client clique sur le bouton 'Payer maintenant' et devrait voir le message de paiement réussi ou refusé dans les prochaines secondes.
Du point de vue du magasin de commerce électronique, le commerçant doit s'assurer que le cycle de paiement complet (obtenir des transactions à partir de la boutique en ligne, capturer et autoriser, rembourser, annuler) fonctionne correctement. Si l'un de ces sous-composants ne fonctionne pas comme prévu, cela peut être un problème pour le commerçant.
Du point de vue du commerçant, la phase de test leur permet de s'habituer au flux de processeur de paiement choisi et d'évaluer si l'option choisie est réellement la mieux adaptée à leur application et à leur activité.
Types de tests requis
En fonction du choix du processeur de paiement et des exigences du produit / de l'application, vous devrez peut-être effectuer les types de tests suivants
- Test fonctionel - Des tests fonctionnels sont nécessaires pour les passerelles de paiement plus récentes et moins établies afin de garantir que l'application se comporte comme elle le devrait, c'est-à-dire qu'elle gère les commandes, les calculs, les taxes, etc. exactement comme elle est censée le faire. Pour les processeurs de paiement plus établis, ce type de test peut ne pas être nécessaire.
- Test d'intégration - Les tests d'intégration sont essentiels lors de l'intégration avec une passerelle de paiement. En tant que testeur, vous devez vérifier que l'intégration de votre site Web / boutique en ligne / application fonctionne correctement avec les passerelles de paiement choisies. En tant que testeur, vous devez vérifier l'ensemble du flux de transaction:
- Passer la commande
- Vérifier si les fonds sont reçus sur le compte marchand
- Vérifiez si la transaction peut être remboursée ou annulée avec succès
- Test de performance - Il est essentiel de tester les performances du site Web / de la boutique en ligne / de l'application. Le processeur de paiement ne doit pas échouer si plusieurs utilisateurs tentent d'effectuer des transactions en même temps.
- Test de sécurité - Lors d'une transaction, un client fournira des informations sensibles comme son numéro de carte de crédit, son numéro CVV, etc. Il est très important de s'assurer que toutes les informations sensibles sont transmises après cryptage et que le canal est sécurisé.
Conseils utiles
Sur la base de mon expérience personnelle, voici quelques conseils utiles pour les testeurs:
#1) Recherchez si un environnement sandbox gratuit (à des fins d'essai et d'exploration) est disponible pour la passerelle de paiement qui doit être testée ou mise en œuvre. Disposer d'un bac à sable est vraiment utile et donne à l'équipe cette flexibilité supplémentaire pour personnaliser l'outil et tester aussi en profondeur que nécessaire.
#deux) Assurez-vous que la transaction est testée de bout en bout. Dans nos projets, nous avons testé et signalé de nombreux bugs liés à la capture de données et au flux de données de l'application vers la passerelle de paiement. Certains des bogues spécifiques étaient:
- Les informations sur le nom du client (acheteur) n'ont pas été capturées correctement
- La date d'expiration de la carte de crédit du client n'était pas correctement saisie en raison d'une fonction incorrecte qui entraînait le refus des transactions par la banque émettrice en raison d'informations de carte de crédit incorrectes.
- Transaction en double affichée dans le processeur de paiement
# 3) Recherchez les limites des sandbox de la passerelle de paiement.
Par exemple, Authorize.net sandbox prend en charge une devise par sandbox, donc si vous devez tester plusieurs devises, vous devrez configurer différents sandbox. De plus, vous ne pourrez jamais tester «vraiment» le comportement du système lorsque le compte Live Authorize.net traitera des transactions multidevises.
# 4) Si le paiement échoue lors d'une transaction pour quelque raison que ce soit, un message approprié doit être présenté au client. Tout message d'erreur trop technique comme 'Objet non défini sur l'instance' ou 'Erreur 404' peut perturber le client et avoir un impact sur l'expérience utilisateur.
Il est également judicieux d’afficher un message générique du type «Il semble y avoir un problème lors du traitement de la transaction, veuillez nous contacter au 1-800-800-8000».
# 5) Aux fins de la vérification de la version post-production, le client (propriétaire de l'application) devra créer un compte de processeur de paiement en direct, configurer son identifiant de marchand, etc.
Selon le processeur de paiement choisi, la configuration du compte peut prendre de 2 jours à quelques semaines. Cela doit être communiqué par le chef de projet au client à l'avance avec suffisamment de temps pour configurer le compte réel avant que l'application et l'intégration du processeur de paiement ne soient lancées.
Liste de contrôle et cas de test de la passerelle de paiement
Comme toute autre application, le test des processeurs de paiement implique une planification de test appropriée.
La liste de contrôle suivante peut être utile pour les testeurs et peut être utilisée comme référence:
1) Configurez le bac à sable du processeur de paiement.
y a-t-il un casque vr pour xbox 360
deux) Rassemblez les numéros de carte de crédit de test qui seraient utilisés pour tester différentes cartes de crédit. Par exemple, de telles informations pour le processeur de paiement Braintree peuvent être trouvées sur les paiements Braintree.
3) Vérifiez le comportement de l'application lorsqu'une transaction réussit.
4) Une fois la transaction réussie, vérifiez si la passerelle de paiement retourne à votre application pour afficher une sorte de message de transaction / confirmation réussie.
5) Vérifiez que le client reçoit une sorte de notification de confirmation de transaction comme un e-mail de confirmation de commande, etc. si la transaction est réussie.
6) Vérifiez ce qui se passe si un paiement échoue ou si le processeur de paiement cesse de répondre - y a-t-il un message d'erreur?
7) Vérifiez le comportement de l'application avec le bloqueur de fenêtres contextuelles du navigateur activé et désactivé. Cela peut être utile si des messages de confirmation sont affichés dans la fenêtre contextuelle.
8) Vérifiez les différents paramètres de prévention / sécurité de la fraude.
Par exemple, si les informations de facturation du client ne correspondent pas à l'adresse fournie à la banque émettrice, toute discordance entraînera le refus de la transaction.
9) Vérifiez les entrées de transaction dans la base de données si le testeur a accès à la base de données d'application.
dix) Vérifiez ce qui se passe lorsqu'une session client expire.
Onze) Vérifiez la console pendant toute la transaction et signalez les erreurs de console observées.
12) Vérifiez que cette transaction est effectuée sur un canal sécurisé.
Par exemple, les pages de paiement peuvent être HTTPS par rapport au reste du site Web qui sont des pages HTTP.
13) Vérifiez que la devise du processeur de paiement est correctement configurée.
Par exemple, si l'application / le site Web est une entreprise / un détaillant canadien, le processeur de paiement doit être configuré pour accepter la devise CAD.
14) Si les applications ont plusieurs options de paiement telles que la carte de crédit et PayPal, les deux options de paiement doivent être testées individuellement de bout en bout.
quinze) Vérifiez que le montant du remboursement ou de l'annulation (à partir du portail d'administration du processeur de paiement) est identique au montant de la transaction. En aucun cas, le montant du remboursement / annulation ne doit dépasser le montant de la transaction.
Lire aussi => Test du système de banque de détail
Configuration de Sandbox: exemple de paiements Braintree
1) Aller vers Site Web de Braintree .
deux) Cliquez sur le bouton 'Essayer le bac à sable'.
(Noter:Cliquez sur n'importe quelle image pour une vue agrandie)
3) Vous serez redirigé vers le site Web du bac à sable Braintree. Remplissez toutes les informations requises et inscrivez-vous au bac à sable
4) Vous recevrez une notification par e-mail à l'adresse e-mail fournie lors de l'inscription concernant la confirmation de la création du compte
5) Vous devez remplir le formulaire d'informations utilisateur pour poursuivre le processus lorsque vous devrez choisir un mot de passe. Cliquez sur le bouton 'Accepter et créer votre compte'
6) Vous serez connecté et redirigé vers le portail d'administration de Braintree
7) Notez les clés Sandbox et utilisez-les dans votre application pour les intégrer à ce sandbox Braintree.
8) Une fois l'intégration terminée, le bac à sable est prêt à être utilisé. Si vous devez mettre à jour les paramètres du bac à sable, vous pouvez le faire en utilisant le menu des paramètres.
Option de menu des paramètres couramment utilisée:
Conclusion
Le processeur de paiement est un composant très important pour toute application de commerce électronique conçue pour accepter les paiements de ses clients. Par conséquent, il est essentiel de tester ce composant à fond. Tout scénario manqué peut avoir un impact sur les ventes / transactions du vendeur et négativement sur l'expérience utilisateur pour le client ou l'acheteur.
Les testeurs doivent préparer ou configurer l'environnement de test (bacs à sable, recueillir des informations de carte de crédit factice, codes de réponse, etc.) et formuler une stratégie de test, à la fois pour l'environnement de test et pour les tests de publication en direct / post-production.
À propos de auteur: Cet article utile est écrit par Neha. Elle travaille actuellement en tant que Responsable Assurance Qualité et se spécialise dans la direction et la gestion d'équipes QA internes et offshore.
Vous avez des questions ou souhaitez partager votre expérience sur les tests de passerelle de paiement? Faites-nous savoir dans les commentaires ci-dessous.
lecture recommandée
- Test alpha et test bêta (un guide complet)
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Test fonctionnel vs test non fonctionnel
- Guide de CV de test logiciel parfait (avec échantillon de CV de testeur de logiciel)
- Build Verification Testing (BVT Testing) Guide complet
- Guide du débutant de SalesForce Testing
- Téléchargement du livre électronique sur les tests
- 68 ressources essentielles pour être un testeur réussi (à ne pas manquer!)