payment gateway testing
De testhandleiding voor het testen van betalingsgateways:
Wat zijn de betalingsverwerkers?
Volgens Wikipedia, “Een betalingsverwerker is een bedrijf (vaak een derde partij) dat door een handelaar is aangesteld om transacties van verschillende kanalen af te handelen, zoals creditcards en betaalpassen voor banken die handelaren verwerven. De betalingsverwerker zal zowel de ontvangen gegevens controleren door ze ter verificatie door te sturen naar de uitgevende bank of kaartvereniging van de respectieve kaart, als ook een reeks fraudebestrijdingsmaatregelen tegen de transactie uitvoeren. '
Enkele veel voorkomende betalingsgateways zijn Braintree, Authorize.net, PayPal, Bluepay, Citrus Payments etc.
Er is online en offline veel literatuur beschikbaar over betalingsgateways en gerelateerde terminologie.
In deze tutorial heb ik geprobeerd een deel van die informatie te vereenvoudigen en mijn ervaringen toe te voegen.
Aanbevolen lezen => Applicaties voor investeringsbankieren testen
Tijdens mijn eerste project had ik geen idee hoe ik een betalingsgateway Ik leerde geleidelijk en werkte aan het succesvol uitrollen van PayPal, Braintree en Authorize.net-integraties met onze eCommerce-applicaties.
We zullen algemene terminologie bespreken, de transactiestroom van begin tot eind begrijpen en nuttige tips en best practices bespreken.
Wat je leert:
- Terminologie van betalingsgateway
- Verschil tussen betalingsgateway en betalingsverwerkers
- Transactiestroom
- Waarom moeten we betalingsgateways testen?
- Soorten testen vereist
- Nuttige tips
- Checklist voor het testen van betalingsgateway en testcases
- Sandbox instellen: Braintree Payments-voorbeeld
- Gevolgtrekking
- Aanbevolen literatuur
Terminologie van betalingsgateway
Laten we enkele termen bespreken die we in dit artikel zullen gebruiken:
1) Handelaar - Een handelaar is een persoon of bedrijf dat producten of diensten verkoopt. Flipkart, Amazon, eBay zijn enkele voorbeelden van handelaars.
2) Creditcard - Een plastic kaart die kan worden gebruikt om producten of diensten te kopen via een kredietrekening. Het heeft een 16-cijferig kaartnummer, een vervaldatum, hologram, magnetische strip, handtekeningpaneel en een kaartverificatiewaarde (CVV) -nummer.
Voorkant van creditcard:
Achterkant van creditcard:
(Bron: about.com)
3) Overnemende bank - Acquiring Bank is een financiële instelling die de bankrekening van de handelaar onderhoudt en een handelaar in staat stelt om debet- en / of creditcardtransacties in zijn winkel te accepteren en te verwerken.
4) Uitgevende bank - Issuing Bank is de financiële instelling die de debet- of creditcard van de klant uitgeeft. Telkens wanneer een klant een creditcard of betaalpas gebruikt om een aankoop te doen, keurt de uitgevende bank de transactie goed of weigert hij de transactie op basis van de bestaande kaarthouderrekening en geeft deze informatie door aan de verwervende bank.
Bijvoorbeeld, de transactie wordt geweigerd als de vervaldatum van de kaart niet correct is, of als het aankoopbedrag hoger is dan de kredietlimiet van de kaart, enz.
5) Transactie - Het end-to-end-proces waarmee de handelaar geld ontvangt voor een transactie met een klant.
6) Autorisatie - Autorisatie wordt gevraagd wanneer een klant een aankoop doet. Deze autorisatie wordt verstrekt door de uitgevende bank van de klant en bevestigt de geldigheid van de kaarthouder, de mogelijkheid om te betalen en de aanwezigheid van voldoende saldo enz. Zodra dit is voltooid, wordt het geld vastgehouden en wordt het saldo afgetrokken van de kredietlimiet van de klant. nog overgebracht naar de handelaarsrekening.
7) Vastleggen - Bij deze actie verzamelt de handelaar de relevante betalingsinformatie van de klant en stuurt een vereffenings- / vastleggingsverzoek naar de verwerker. De verwerker gebruikt deze informatie om geldoverboekingen tussen de kaartrekening van de klant en de bankrekening van de verkoper te starten.
Lees ook => Testen van bankapplicaties
Verschil tussen betalingsgateway en betalingsverwerkers
Er is online veel literatuur over beschikbaar en of betalingsgateway en betalingsprocessor afzonderlijke modules zijn met verschillende functionaliteiten.
Tijdens mijn projecten heb ik gemerkt dat betalingsverwerker en betalingsgateways door elkaar worden gebruikt zonder enig onderscheid. De verkopers noemen de ‘Betalingsgateways’ meestal betalingsverwerkers, aangezien deze alle betalingen verwerken.
De ‘betalingsverwerkers’ beschouwen zichzelf als betalingsgateways omdat ze fungeren als een middel om de beveiligde betalingstransactie te verwerken en te voltooien.
Transactiestroom
Het volgende stroomdiagram geeft een overzicht van de volledige stroom vanaf het moment dat een klant een bestelling plaatst tot het moment dat de bestelling is geslaagd of geweigerd.
Als een klant de bestelling wil annuleren, is het volgende de stroom:
Het verschil tussen een ongeldigverklaring en een teruggave hangt af van het feit of een transactie wordt vastgelegd of niet.
Een niet-verrekende betaling kan worden geannuleerd, wat betekent dat het aangehouden geld wordt teruggestort op de rekening van de kaarthouder. Als een transactie al is verrekend of vastgelegd, wordt er een terugbetaling gestart, wat betekent dat het geld van de verkopersaccount wordt afgeschreven en weer wordt bijgeschreven op de account van de kaarthouder.
type defecten bij het testen van software
Waarom moeten we betalingsgateways testen?
Als we zouden winkelen in een echte fysieke winkel, zouden we contant betalen of onze kaart (creditcard of pinpas) door de automaat halen tijdens het afrekenen om de transactie te voltooien.
Als u creditcards of betaalpassen gebruikt, is de POS ( Point of Sale testen ) machine zal aangeven of de betalingsverwerking zou worden goedgekeurd of geweigerd.
Evenzo hebben we tijdens online transacties een vergelijkbaar systeem nodig dat een transactie onmiddellijk goedkeurt of afkeurt.
Vanuit het perspectief van de klant moet de online betalingsverwerking op de e-commerce-website naadloos verlopen. De klant klikt op de knop ‘Nu betalen’ en zou binnen enkele seconden het bericht 'Betaling geslaagd of geweigerd' moeten zien.
Vanuit het perspectief van de e-commerce winkel moet de handelaar ervoor zorgen dat de volledige betalingscyclus (transacties ophalen uit de online winkel, vastleggen en autoriseren, restitutie, ongeldig verklaren) goed werkt. Als een van deze subcomponenten niet werkt zoals verwacht, kan dit een probleem zijn voor de handelaar.
Vanuit het perspectief van de handelaar stelt de testfase hen in staat om te wennen aan de gekozen betalingsprocessorstroom en te evalueren of de gekozen optie daadwerkelijk het beste past bij hun toepassing en bedrijf.
Soorten testen vereist
Afhankelijk van de keuze van de betalingsverwerker en de product- / toepassingsvereiste, moet u mogelijk de volgende soorten tests uitvoeren
- Functioneel testen - Functionele tests zijn vereist voor nieuwere, minder gevestigde betalingsgateways om ervoor te zorgen dat de applicatie zich gedraagt zoals het hoort, d.w.z. dat het bestellingen, berekeningen, belastingen, enz. Precies afhandelt zoals het hoort. Voor meer gevestigde betalingsverwerkers is dit soort testen mogelijk niet vereist.
- Integratietesten - Integratietesten zijn van cruciaal belang bij integratie met een betalingsgateway. Als tester moet u controleren of de integratie van uw website / online winkel / applicatie goed werkt met de gekozen betalingsgateways. Als tester moet u de volledige transactiestroom verifiëren:
- Plaats bestelling
- Controleer of er geld is ontvangen op een verkopersaccount
- Controleer of de transactie kan worden terugbetaald of ongeldig kan worden verklaard
- Prestatietesten - Het is essentieel om de prestaties van de website / webwinkel / applicatie te testen. De betalingsverwerker mag niet falen als meerdere gebruikers tegelijkertijd transacties proberen te voltooien.
- Beveiligingstests - Tijdens een transactie zal een klant gevoelige informatie verstrekken, zoals zijn creditcardnummer, CVV-nummer enz. Het is erg belangrijk om ervoor te zorgen dat alle gevoelige informatie wordt verzonden na codering en dat het kanaal veilig is.
Nuttige tips
Op basis van mijn persoonlijke ervaring volgen hier enkele handige tips voor testers:
# 1) Onderzoek of er een gratis sandbox-omgeving (voor proef- en verkennende doeleinden) beschikbaar is voor de Payment gateway die getest of geïmplementeerd moet worden. Het beschikbaar hebben van een sandbox is zeker nuttig en geeft het team die extra flexibiliteit om de tool aan te passen en zo diepgaand als nodig te testen.
#twee) Zorg ervoor dat de transactie van begin tot eind wordt getest. In onze projecten hebben we talloze bugs getest en gerapporteerd met betrekking tot het vastleggen van gegevens en de gegevensstroom van de applicatie naar de betalingsgateway. Enkele van de specifieke bugs waren:
- De naam van de klant (koper) werd niet correct vastgelegd
- De vervaldatum van de creditcard van de klant werd onjuist vastgelegd vanwege een onjuiste functie waardoor de transacties werden geweigerd door de uitgevende bank vanwege onjuiste creditcardgegevens.
- Dubbele transactie weergegeven in betalingsverwerker
# 3) Onderzoek de beperkingen van de betalingsgateway-sandboxen.
Bijvoorbeeld, Authorize.net-sandbox ondersteunt één valuta per sandbox, dus als u meerdere valuta's moet testen, moet u verschillende sandboxen configureren. Ook daarmee zou u nooit ‘echt’ kunnen testen hoe het systeem zich gedraagt wanneer het Live Authorize.net-account transacties in meerdere valuta's verwerkt.
# 4) Als de betaling om welke reden dan ook mislukt tijdens een transactie, moet een passend bericht aan de klant worden getoond. Elke foutmelding die te technisch is, zoals ‘Object niet ingesteld op instantie’ of ‘404-fout’, kan de klant in verwarring brengen en de gebruikerservaring beïnvloeden.
Het is ook een goed idee om een algemeen bericht weer te geven als ‘Er lijkt een probleem te zijn met het verwerken van de transactie, neem contact met ons op via 1-800-800-8000’.
# 5) Voor verificatie van de vrijgave na de productie moet de klant (eigenaar van het applicatiebedrijf) een live betalingsverwerkeraccount aanmaken, zijn handelaar-ID instellen enz.
Afhankelijk van de gekozen betalingsverwerker kan het 2 dagen tot enkele weken duren om het account in te stellen. Dit moet van tevoren door de projectmanager aan de klant worden gecommuniceerd met voldoende tijd om het live-account in te stellen voordat de applicatie en de integratie van de betalingsprocessor live gaan.
Checklist voor het testen van betalingsgateway en testcases
Net als bij elke andere applicatie, vereist het testen van betalingsverwerkers een goede testplanning.
De volgende checklist kan nuttig zijn voor testers en kan als referentie worden gebruikt:
1) Stel de sandbox van de betalingsprocessor in.
beste virusverwijderingssoftware voor pc
2) Verzamel testcreditcardnummers die zouden worden gebruikt voor het testen van verschillende creditcards. Dergelijke informatie voor de betalingsverwerker van Braintree is bijvoorbeeld te vinden op Braintree-betalingen.
3) Controleer het gedrag van de toepassing wanneer een transactie is geslaagd.
4) Controleer na een succesvolle transactie of de betalingsgateway terugkeert naar uw applicatie om een soort succesvolle transactie / bevestigingsbericht weer te geven.
5) Controleer of de klant een transactiebevestigingsbericht ontvangt, zoals een e-mail met orderbevestiging, enz. Als de transactie is gelukt.
6) Controleer wat er gebeurt als een betaling mislukt of de betalingsverwerker niet meer reageert - is er een foutmelding?
7) Controleer het toepassingsgedrag met de pop-upblokkering van de browser aan en uit. Dit kan handig zijn als er bevestigingsberichten worden weergegeven in de pop-up.
8) Controleer verschillende instellingen voor fraudepreventie / beveiliging.
Als de factureringsinformatie van de klant bijvoorbeeld niet overeenkomt met het adres dat is opgegeven aan de uitgevende bank, zal elke discrepantie leiden tot weigering van de transactie.
9) Controleer de transactie-invoer in de database als de tester toegang heeft tot de toepassingsdatabase.
10) Kijk wat er gebeurt als een klantsessie verloopt.
elf) Controleer de console tijdens de volledige transactie en rapporteer eventuele consolefouten die worden waargenomen.
12) Controleer of die transactie wordt gedaan op een beveiligd kanaal.
De afrekenpagina's kunnen bijvoorbeeld HTTPS zijn en de rest van de website die HTTP-pagina's zijn.
13) Controleer of de valuta van de betalingsprocessor correct is ingesteld.
Als de applicatie / website bijvoorbeeld een Canadees bedrijf / winkelier is, moet de betalingsverwerker zijn ingesteld om CAD-valuta te accepteren.
14) Als de applicaties meerdere betalingsopties hebben, zoals creditcard en PayPal samen, moeten beide betalingsopties afzonderlijk van begin tot eind worden getest.
vijftien) Controleer of het restitutie- of annuleringsbedrag (via het beheerportaal van de betalingsverwerker) hetzelfde is als het transactiebedrag. In geen geval mag het bedrag van de terugbetaling / annulering hoger zijn dan het transactiebedrag.
Lees ook => Retail Banking-systeem testen
Sandbox instellen: Braintree Payments-voorbeeld
1) Navigeren naar Braintree-website
2) Klik op de knop ‘Probeer de sandbox’.
Opmerking:Klik op een afbeelding voor een vergrote weergave)
3) U wordt doorgestuurd naar de Braintree sandbox-website. Vul alle vereiste informatie in en meld u aan voor de sandbox
4) U ontvangt een e-mailbericht op het e-mailadres dat u tijdens het aanmelden heeft opgegeven met betrekking tot de bevestiging van het aanmaken van een account
5) U moet het gebruikersinformatieformulier invullen om verder te gaan, waarbij u een wachtwoord moet kiezen. Klik op ‘Akkoord en maak uw account-knop’
6) U wordt ingelogd en doorgestuurd naar het Braintree Admin-portaal
7) Noteer de Sandbox-sleutels en gebruik ze in uw applicatie om te integreren met deze Braintree-sandbox.
8) Nadat de integratie is voltooid, is de sandbox klaar voor gebruik. Als u de sandbox-instellingen moet bijwerken, kunt u dit doen via het instellingenmenu.
Veelgebruikte menuoptie instellingen:
Gevolgtrekking
De betalingsverwerker is een zeer belangrijk onderdeel voor elke e-commercetoepassing die is ontworpen om betalingen van zijn klanten te accepteren. Daarom is het essentieel om dit onderdeel grondig te testen. Elk gemist scenario kan de verkopen / transacties van de verkoper beïnvloeden en een negatieve invloed hebben op de gebruikerservaring voor de klant of koper.
Testers moeten de testomgeving voorbereiden of opzetten (sandboxen, dummy-creditcardinformatie, responscodes enz.) Verzamelen en een teststrategie formuleren - zowel voor de testomgeving als voor het testen van live / postproductie-releases.
Over de auteur: Dit nuttige artikel is geschreven door Neha. Ze werkt momenteel als Quality Assurance Manager en is gespecialiseerd in het leiden en managen van interne en offshore QA-teams.
Heeft u vragen of wilt u uw ervaring met Payment Gateway Testing delen? Laat het ons weten in reacties hieronder.
Aanbevolen literatuur
- Alfatesten en bètatesten (een complete gids)
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Functioneel testen versus niet-functioneel testen
- Perfect Software Testing CV-gids (met Software Tester CV-voorbeeld)
- Build Verification Testing (BVT Testing) Complete Guide
- SalesForce Testing-beginnershandleiding
- Primer eBook downloaden testen
- 68 essentiële bronnen om een succesvolle tester te zijn (Mis het niet!)