Pașii de testare
Testarea atentă este baza dezvoltării de software, asigurându-se că acesta funcționează conform așteptărilor. Nu puteți trece la un mediu live și nu puteți gestiona plățile reale până când nu ați confirmat că integrarea dvs. funcționează așa cum doriți în toate scenariile.
Cerințe preliminare
Înainte de a începe să testați integrarea dvs. <<checkout>>, trebuie să finalizați:
- Integrare de bază folosind <<hostedPaymentPage>> pentru a colecta detaliile de plată.
- Integrare pentru orice operațiuni ulterioare pe care doriți să le gestionați în cadrul ciclurilor de viață ale comenzilor.
- Orice personalizări legate de metodele de plată pe care doriți să le acceptați.
- Toate caracteristicile suplimentare și funcționalitățile legate de securitate de care aveți nevoie.
Testarea integrării
Acoperiți cel puțin următorii pași în testare:
- Pentru metodele de plată pe care le acceptați, testați toate operațiunile individuale pe care doriți să le utilizați în integrarea dvs. în care este necesară interacțiunea plătitorului pe <<hostedPaymentPage>>.>
Testați procesul de la crearea sesiunii de validare până la furnizarea <<hostedPaymentPage>> către plătitor și gestionarea apelurilor înapoi din procesul paginii de plată. - Pentru metodele de plată pe care le acceptați, determinați procesele de plată (combinații de tranzacții inițiale și ulterioare) pe care doriți să le puteți utiliza în integrarea dvs. Testați toate procesele cu toate combinațiile posibile de tranzacții ulterioare.
- Testați toate caracteristicile suplimentare și funcționalitățile legate de securitate pe care le utilizați.
- Confirmați că sistemul dvs. reacționează în mod corespunzător și depășește toate scenariile de eroare obișnuite legate de solicitările nevalide și problemele de server.
Pentru exemple de scenarii de eroare care trebuie luate în considerare, consultați Eșecuri comune ale tranzacțiilor. - Determinați răspunsurile de tranzacție care necesită acțiuni suplimentare din partea dvs. și testați dacă integrarea dvs. ia măsurile așteptate.
Instrumente de testare
Pentru a vă testa integrarea, platforma <<paymentGateway>> oferă câteva instrumente utile:
Simulatoare
Vă puteți testa solicitările folosind diverse simulatoare, pe care le accesați din contul de comerciant de testare. Pentru a confirma că utilizați contul de comerciant de test, verificați dacă ID-ul de comerciant furnizat de your payment service provider (PSP) are prefixul „TEST”. Toate solicitările trimise cu ID-ul comerciantului de testare sunt considerate solicitări de testare și gestionate de simulatoare. Acestea nu sunt trimise către furnizorii, emitenții și achizitorii efectivi.- Dacă aveți deja un ID de comerciant care are prefixul „TEST”, acesta este contul dvs. de comerciant de test. PSP-ul dvs. vă trimite un alt ID de comerciant atunci când sunteți gata să procesați tranzacții live.
- Contul de comerciant de test este un cont complet separat, cu o parolă API sau certificate diferite față de contul dvs. obișnuit. Când treceți de la unul la altul, asigurați-vă că schimbați atât ID-ul de comerciant, cât și orice acreditări de autentificare.
Pentru metodele de plată care solicită plătitorului să-și furnizeze aprobarea pe site-ul furnizorului metodei de plată, gateway-ul oferă un simulator de plată interactiv. Pentru mai multe informații despre caracteristicile și opțiunile specifice ale simulatorului, consultați instrucțiunile de testare din cadrul metodelor de plată specifice și Integrarea comună a plății prin browser.
Carduri de testare
Dacă acceptați plățile cu cardul ca metode de plată, gateway-ul de plată oferă carduri de testare pentru a vă permite să testați diferite scenarii, inclusiv autentificarea 3D Secure. Pentru detalii, consultați Carduri de testare și Testarea integrării pentru autentificarea 3DS.Rezultate predictibile ale răspunsului
Simulatorul de testare este configurat pentru a genera rezultate previzibile pe baza solicitărilor de tranzacții și detaliilor cardurilor pe care le furnizați. Pentru detalii, consultați Cardurile de testare și Integrarea comună a plății prin browser.
Puteți declanșa răspunsuri la tranzacție care conțin un cod de răspuns <<paymentGateway>> specific sau un rezultat de validare a codului de securitate al cardului, precum și un cod de răspuns pentru verificarea adresei și vă puteți asigura că integrarea dvs. reacționează corespunzător la fiecare. De asemenea, puteți primi rezultate specifice de răspuns pentru caracteristici precum portofelele.
Eșecuri comune ale tranzacțiilor
Când testați integrarea, luați în considerare următoarele scenarii de eșec al tranzacției și asigurați-vă că sistemul dvs. reacționează corespunzător la acestea:
Autorizarea de plată a fost refuzată sau tipul de card nu este acceptat
Dacă răspunsulresponse.gatewayCode
din tranzacția dvs. are o valoare care începe cu DECLINED, autorizația de plată nu a fost aprobată de banca emitentă sau plătitorul încearcă să utilizeze un tip de card care nu este acceptat de gateway.
Studiați codul de gateway returnat exact și alte detalii din tranzacție pentru a determina mai detaliat de ce plata a fost refuzată. Este posibil să fie necesar să cereți plătitorului să folosească o altă metodă de plată pentru a rezolva problema.Informații nevalide ale cardului
Dacăresponse.gatewayCode
din răspunsul la tranzacție este setat laINVALID_CSC
,EXPIRED_CARD
sau similar, problema este legată de detaliile cardului plătitorului. Plătitorul fie le-a introdus incorect, fie cardul nu mai este valabil. Trebuie să cereți plătitorului să verifice detaliile cardului sau, eventual, să folosească un alt card.Fonduri insuficiente
Dacă theresponse.gatewayCode
din răspunsul la tranzacție este setat laINSUFFICIENT_FUNDS
, contul plătitorului nu are suficiente fonduri pentru a acoperi tranzacția. Trebuie să cereți plătitorului să folosească o altă metodă de plată sau un alt card.Expirarea tranzacției
Dacăresponse.gatewayCode
din răspunsul la tranzacție este setat laTIMED_OUT
, gateway-ul nu a primit un răspuns de la achizitor. În consecință, tranzacția a fost încheiată automat. Trebuie să încercați din nou mai târziu.