payment gateway testing
Ghidul testatorului pentru testarea gateway-ului de plată:
Care sunt procesatorii de plată?
Conform Wikipedia, „Un procesator de plăți este o companie (adesea o terță parte) numită de un comerciant pentru a gestiona tranzacțiile de pe diferite canale, cum ar fi cardurile de credit și cardurile de debit pentru băncile care cumpără comercianți. Procesorul de plăți va verifica atât detaliile primite, trimițându-le către banca emitentă a cardului respectiv, fie asociația de carduri pentru verificare, precum și va efectua o serie de măsuri antifraudă împotriva tranzacției. '
Unele portaluri de plată comune sunt Braintree, Authorize.net, PayPal, Bluepay, Citrus Payments etc.
Există o mulțime de literatură disponibilă online și offline despre gateway-urile de plată și terminologia aferentă.
În acest tutorial, am încercat să simplific o parte din aceste informații și am încercat să adaug experiențele mele.
Citire recomandată => Testarea aplicațiilor bancare de investiții
În timpul primului meu proiect, nu am avut nicio idee despre cum să testez corect un gateway de plată . Am învățat treptat și am lucrat la implementarea cu succes a integrărilor PayPal, Braintree și Authorize.net cu aplicațiile noastre de comerț electronic.
Vom discuta despre terminologia comună, vom înțelege fluxul tranzacțiilor cap la cap și sfaturi utile și cele mai bune practici.
Ce veți învăța:
- Terminologia gateway-ului de plată
- Diferența dintre gateway-ul de plată și procesatorii de plată
- Fluxul tranzacției
- De ce trebuie să testăm Gateway-urile de plată?
- Sunt necesare tipuri de testare
- Sfaturi de ajutor
- Lista de verificare și testarea testelor pentru gateway-ul de plată
- Configurarea Sandbox: Exemplu de plăți Braintree
- Concluzie
- Lectură recomandată
Terminologia gateway-ului de plată
Să discutăm câțiva termeni pe care îi vom folosi în acest articol:
1) Negustor - Un comerciant este o persoană sau o companie care vinde produse sau servicii. Flipkart, Amazon, eBay sunt câteva exemple de comercianți.
2) Card de credit - Un card de plastic care poate fi folosit pentru a cumpăra produse sau servicii printr-un cont de credit. Are un număr de card de 16 cifre, o dată de expirare, hologramă, bandă magnetică, panou de semnături și un număr de valoare de verificare a cardului (CVV).
Fața cardului de credit:
Partea din spate a cardului de credit:
(Sursa: about.com)
3) Banca achizitoare - Acquiring Bank este o instituție financiară care menține contul bancar al comerciantului și îi permite unui comerciant să accepte și să proceseze tranzacții cu carduri de debit și / sau credit în magazinul lor.
4) Banca emitentă - Banca emitentă este instituția financiară care emite cardul de debit sau de credit al clientului. Ori de câte ori un client folosește un card de credit sau de debit pentru a efectua o achiziție, banca emitentă fie aprobă, fie refuză tranzacția pe baza poziției contului deținătorului cardului și transmite acele informații Băncii achizitoare.
De exemplu, tranzacția va fi respinsă în cazul în care data de expirare a cardului este incorectă sau dacă suma achiziției depășește limita de credit a cardului etc.
5) Tranzacție - Procesul cap la cap prin care comerciantul primește fonduri pentru o tranzacție cu un client.
6) Autorizare - Autorizarea este solicitată atunci când un client face o achiziție. Această autorizație este furnizată de banca emitentă a clientului și confirmă validitatea deținătorului cardului, capacitatea de plată și prezența unor fonduri suficiente etc. totuși transferat în contul de comerciant.
7) Captură - În această acțiune, comerciantul colectează informațiile de plată relevante ale clienților și trimite o cerere de decontare / captare către procesator. Procesorul folosește aceste informații pentru a iniția transferul de fonduri între contul cardului clientului și contul bancar comerciant.
Citește și => Testarea aplicațiilor bancare
Diferența dintre gateway-ul de plată și procesatorii de plată
Există o mulțime de literatură disponibilă online despre aceasta și dacă gateway-ul de plată și procesorul de plăți sunt module distincte, cu funcționalități distincte.
Pe parcursul proiectelor mele, am observat că Procesorul de plată și gateway-urile de plată sunt utilizate în mod interschimbabil, fără nicio distincție reală. Comercianții denumesc de obicei „Gateway-urile de plăți” drept procesoare de plată, deoarece acestea procesează toate plățile.
„Procesatorii de plăți” se consideră gateway-uri de plată, deoarece acționează ca un mijloc de procesare și finalizare a tranzacției de plată securizată.
Fluxul tranzacției
Următoarea diagramă de flux rezumă fluxul complet din momentul în care un client plasează o comandă până când comanda este reușită sau refuzată.
Dacă un client dorește să anuleze comanda, următorul este fluxul:
Diferența dintre nulitate și returnare depinde de faptul dacă o tranzacție este sau nu capturată.
O plată nesoluționată poate fi anulată, ceea ce înseamnă că fondurile reținute sunt creditate înapoi în contul deținătorilor de carduri. Dacă o tranzacție este deja decontată sau capturată, atunci se inițiază o rambursare, ceea ce înseamnă că fondurile sunt preluate din contul comerciant și creditate înapoi în contul deținătorului cardului.
cum rulez un fișier .jar
De ce trebuie să testăm Gateway-urile de plată?
Dacă ar fi să facem cumpărături într-un magazin real de cărămidă și mortar, am plăti în numerar sau ne vom glisa cardul (credit sau debit) prin mașină în timpul plății pentru a finaliza tranzacția.
Dacă utilizați carduri de credit sau de debit, POS ( Testarea punctului de vânzare ) Mașina va indica dacă procesarea plății va fi aprobată sau refuzată.
În mod similar, în timpul tranzacțiilor online, trebuie să avem un sistem comparabil, care aprobă sau dezaprobă instantaneu o tranzacție.
Din perspectiva clientului, procesarea plăților online pe site-ul e-Commerce ar trebui să fie perfectă. Clientul face clic pe butonul „Plătește acum” și ar trebui să vadă mesajul plătit cu succes sau refuzat în următoarele câteva secunde.
Din perspectiva magazinului de comerț electronic, comerciantul trebuie să se asigure că ciclul complet de plată (obținerea tranzacțiilor din magazinul online, captarea și autorizarea, rambursarea, anularea) funcționează bine. Dacă oricare dintre acești subcomponenți nu funcționează conform așteptărilor, atunci poate fi o problemă pentru comerciant.
Din perspectiva comercianților, faza de testare le permite să se obișnuiască cu fluxul procesorului de plăți ales și să evalueze dacă opțiunea aleasă este de fapt cea mai potrivită pentru aplicația și afacerea lor.
Sunt necesare tipuri de testare
În funcție de alegerea procesorului de plăți și de cerința produsului / aplicației, este posibil să vi se solicite efectuarea următoarelor tipuri de testare
- Testare funcțională - Testarea funcțională este necesară pentru gateway-uri de plată mai noi, mai puțin stabilite, pentru a se asigura că aplicația se comportă așa cum ar trebui, de exemplu, gestionează comenzile, calculele, taxele etc. exact cum ar trebui. Pentru procesatorii de plăți mai stabiliți, este posibil ca acest tip de testare să nu fie necesar.
- Testarea integrării - Testarea integrării este esențială în timp ce se integrează cu un gateway de plată. În calitate de tester, va trebui să verificați dacă integrarea site-ului / magazinului / aplicației dvs. online funcționează bine cu gateway-urile de plată alese. În calitate de tester, trebuie să verificați întregul flux de tranzacții:
- Plasați comanda
- Verificați dacă fondurile sunt primite în contul de comerciant
- Verificați dacă tranzacția poate fi rambursată sau anulată cu succes
- Test de performanta - Este esențial să testați performanța site-ului web / magazinului online / aplicației. Procesorul de plăți nu ar trebui să eșueze dacă mai mulți utilizatori încearcă să finalizeze tranzacții în același timp.
- Testare de securitate - În timpul unei tranzacții, un client va furniza informații sensibile, cum ar fi numărul cardului de credit, numărul CVV etc. Este foarte important să vă asigurați că toate informațiile sensibile sunt transmise după criptare și că canalul este sigur.
Sfaturi de ajutor
Pe baza experienței mele personale, următoarele sunt câteva sfaturi utile pentru testeri:
# 1) Cercetați dacă este disponibil un mediu sandbox gratuit (în scopuri de încercare și explorare) pentru gateway-ul de plăți care trebuie testat sau implementat. A avea un sandbox disponibil este cu siguranță util și oferă echipei o flexibilitate suplimentară pentru a personaliza instrumentul și a testa cât mai adânc, după cum este necesar.
#Două) Asigurați-vă că tranzacția este testată cap la cap. În proiectele noastre, am testat și raportat numeroase erori legate de captarea datelor și fluxul de date de la aplicație la gateway-ul de plată. Unele dintre erorile specifice au fost:
- Informațiile despre numele clientului (cumpărătorul) nu au fost capturate corect
- Data de expirare a cardului de credit a fost capturată incorect din cauza unei funcții incorecte, care a determinat refuzarea tranzacțiilor de către banca emitentă din cauza informațiilor incorecte ale cardului de credit.
- Afișarea tranzacției duplicat în Procesorul de plăți
# 3) Cercetați limitările boxelor de nisip pentru gateway-ul de plată.
De exemplu, Authorize.net sandbox acceptă o monedă pe sandbox, deci dacă trebuie să testați mai multe valute, va trebui să configurați diferite sandbox-uri. De asemenea, nu veți putea niciodată să testați cu adevărat cum se va comporta sistemul atunci când contul Live Authorize.net va procesa tranzacții în mai multe valute.
# 4) În cazul în care plata eșuează în timpul unei tranzacții din orice motiv, ar trebui să i se arate clientului un mesaj adecvat. Orice mesaj de eroare prea tehnic, cum ar fi „Obiectul nu este setat ca instanță” sau „Eroare 404”, poate confunda clientul și poate afecta experiența utilizatorului.
De asemenea, este o idee bună să afișați un mesaj generic de genul „Se pare că există o problemă la procesarea tranzacției, vă rugăm să ne contactați la 1-800-800-8000”.
# 5) În scopul verificării post-producție, clientul (proprietarul afacerii aplicației) ar trebui să creeze un cont procesor de plăți live, să își configureze codul de comerciant etc.
În funcție de procesorul de plată ales, configurarea contului poate dura între 2 zile și câteva săptămâni. Acest lucru ar trebui să fie comunicat clientului în prealabil de către managerul de proiect, cu suficient timp pentru a configura contul live înainte ca aplicația și integrarea procesorului de plăți să devină active.
Lista de verificare și testarea testelor pentru gateway-ul de plată
La fel ca orice altă aplicație, testarea procesatorilor de plăți implică o planificare corectă a testelor.
Următoarea listă de verificare poate fi utilă pentru testeri și poate fi utilizată ca referință:
1) Configurați sandbox-ul procesorului de plată.
cum se scriu cazuri de test automatizate
Două) Adunați numerele de carduri de credit care ar fi utilizate pentru testarea diferitelor carduri de credit. De exemplu, astfel de informații pentru procesatorul de plăți Braintree pot fi găsite la plățile Braintree.
3) Verificați comportamentul aplicației atunci când o tranzacție are succes.
4) După tranzacția reușită, verificați dacă gateway-ul de plată revine la aplicația dvs. pentru a afișa un fel de tranzacție / mesaj de confirmare reușit.
5) Verificați dacă clientul primește un fel de notificare de confirmare a tranzacției, cum ar fi e-mailul de confirmare a comenzii etc. dacă tranzacția are succes.
6) Verificați ce se întâmplă dacă o plată eșuează sau procesorul de plăți nu mai răspunde - există vreun mesaj de eroare?
7) Verificați comportamentul aplicației cu blocatorul de ferestre popup activat și dezactivat. Acest lucru poate fi util dacă sunt afișate mesaje de confirmare în fereastra pop-up.
8) Verificați diferite setări de prevenire / securitate a fraudei.
De exemplu, dacă informațiile de facturare ale clienților nu se potrivesc cu adresa furnizată băncii emitente - orice nepotrivire va duce la declinul tranzacției.
9) Verificați intrările tranzacției din baza de date dacă testerul are acces la baza de date a aplicației.
10) Verificați ce se întâmplă când expiră o sesiune de client.
unsprezece) Verificați consola pe parcursul întregii tranzacții și raportați orice erori de consolă observate.
12) Verificați dacă tranzacția se face pe un canal securizat.
De exemplu, paginile de plată pot fi HTTPS față de restul site-urilor web care sunt pagini HTTP.
13) Verificați dacă moneda procesorului de plăți este configurată corect.
De exemplu, dacă aplicația / site-ul web este o companie / distribuitor canadian, procesatorul de plăți ar trebui să fie configurat pentru a accepta moneda CAD.
14) Dacă aplicațiile au mai multe opțiuni de plată precum cardul de credit și PayPal împreună, ambele opțiuni de plată trebuie testate individual de la un capăt la altul.
cincisprezece) Verificați dacă suma rambursată sau anulată (de la portalul de administrare al procesatorului de plăți) este aceeași cu suma tranzacției. În nici un caz, suma rambursată / nulă nu trebuie să depășească suma tranzacției.
Citiți și => Testarea sistemului bancar cu amănuntul
Configurarea Sandbox: Exemplu de plăți Braintree
1) Navigheaza catre Site-ul Braintree .
Două) Faceți clic pe butonul „Încercați sandbox-ul”.
(Notă:Faceți clic pe orice imagine pentru o vizualizare mărită)
3) Veți fi redirecționat către site-ul Sandbox Braintree. Completați toate informațiile necesare și înscrieți-vă la sandbox
4) Veți primi o notificare prin e-mail la adresa de e-mail furnizată în timpul înregistrării cu privire la confirmarea creării contului
5) Trebuie să completați formularul de informații despre utilizator pentru a procesa mai departe în cazul în care vi se va cere să alegeți o parolă. Faceți clic pe butonul „De acord și creați contul dvs.”
6) Veți fi conectat și redirecționat către portalul Braintree Admin
7) Rețineți tastele Sandbox și folosiți-le în aplicația dvs. pentru a vă integra cu acest sandbox Braintree.
8) După ce se face integrarea, sandbox-ul este gata de utilizare. Dacă trebuie să actualizați setările sandbox, puteți face acest lucru folosind meniul de setări.
Opțiunea meniului de setări utilizat frecvent:
Concluzie
Procesorul de plăți este o componentă foarte importantă pentru orice aplicație de comerț electronic concepută pentru a accepta plăți de la clienții săi. Prin urmare, este esențial să testați cu atenție această componentă. Orice scenariu ratat poate avea impact asupra vânzărilor / tranzacțiilor vânzătorului și poate avea un impact negativ asupra experienței utilizatorului pentru client sau cumpărător.
Testatorii trebuie să pregătească sau să configureze mediul de testare (cutii de nisip, să adune informații false despre cardul de credit, coduri de răspuns etc.) și să formuleze o strategie de testare - atât pentru mediul de testare, cât și testarea de lansare live / post-producție.
Despre autor: Acest articol util este scris de Neha. În prezent, lucrează ca manager de asigurare a calității și este specializată în conducerea și gestionarea echipelor de asigurare a calității interne și offshore.
Aveți întrebări sau doriți să împărtășiți experiența dvs. cu privire la Testarea Gateway-ului de plăți? Spuneți-ne în comentariile de mai jos.
Lectură recomandată
- Testarea alfa și testarea beta (un ghid complet)
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Testarea funcțională Vs testarea non-funcțională
- Ghid de CV perfect pentru testarea software-ului (cu eșantion de CV pentru tester de software)
- Ghid complet de testare a verificării de construcție (testare BVT)
- Ghid pentru începători de testare SalesForce
- Descărcare eBook Descărcare Primer
- 68 de resurse esențiale pentru a fi un tester de succes (nu ratați!)