{"id":50314,"date":"2017-09-13T08:41:57","date_gmt":"2017-09-13T03:11:57","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=50314"},"modified":"2017-09-13T10:17:38","modified_gmt":"2017-09-13T04:47:38","slug":"why-payment-gateway-process-needs-to-be-tested","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/why-payment-gateway-process-needs-to-be-tested\/","title":{"rendered":"Why Payment Gateway Process Needs to be Tested?"},"content":{"rendered":"<p>A company that handles the transactions between two parties (i.e. merchant and customer) is called payment processor. The payment is accomplished by passing on the payment information, like a credit card\/debit card, from the customer to the merchant\u2019s preferred bank account. There are several payment processing companies functioning in India like; PayPal, CC Avenue, and Digital Wallets like Paytm and PayU. The payment transaction includes different steps wherein at each step different stakeholder is involved.<\/p>\n<div id=\"attachment_50319\" style=\"width: 505px\" class=\"wp-caption alignleft\"><img aria-describedby=\"caption-attachment-50319\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-50319 size-full\" title=\"Steps in payment transaction and stakeholders\" src=\"\/blog\/wp-ttn-blog\/uploads\/2017\/07\/123.jpg\" alt=\"Steps in payment transaction and stakeholders\" width=\"495\" height=\"281\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2017\/07\/123.jpg 495w, \/blog\/wp-ttn-blog\/uploads\/2017\/07\/123-300x170.jpg 300w\" sizes=\"(max-width: 495px) 100vw, 495px\" \/><p id=\"caption-attachment-50319\" class=\"wp-caption-text\">Figure 1: Steps in payment transaction and stakeholders involved.<\/p><\/div>\n<p>As can be seen in Figure 1 above, the first stakeholder in the process is the <em><strong>User<\/strong><\/em>, who places the order which in the form of order reaches <em><strong>Merchant\u2019s<\/strong><\/em> web server. Based on the availability of the product, the merchant server responds back to the user. Once the user gets the confirmation about the availability of the product, they process the payment through <em><strong>Payment Gateway<\/strong><\/em> which is linked to the merchant\u2019s server. During the payment process, there are three stakeholders, i.e. <b><em>User<\/em>,<\/b> who use the credit\/debit card, <em><strong>Acquiring Bank<\/strong><\/em> (Merchant\u2019s bank account) and <em><strong>Issuing Bank<\/strong><\/em> (User\u2019s bank account). The last step is the transaction, wherein the transaction is completed and then the merchant receives funds from the user. However, this step is further sub-divided into two steps, wherein the first authorization is given by user\u2019s issuing bank by confirming the card holder\u2019s validity and ability to pay. At this stage, the payment is deducted from the user\u2019s account, however, is not credited to the merchant. The merchant receives the payment in capture step wherein customer\u2019s payment information is processed between user\u2019s card account to merchant bank account.<\/p>\n<h2><strong>Need to test payment gateway<\/strong><\/h2>\n<p>In order to smoothen the process of selling and buying, the <a title=\"Payment Gateway\" href=\"http:\/\/www.tothenew.com\/blog\/payu-payment-gateway-android-integration\/\">payment gateways<\/a> should be secure and thus needs to be tested. When using credit or debit cards, the Point Of Sale machines indicates if the process of payment should be approved or declined. Whereas, while having online transactions, an equivalent system is needed in place which can approve or disapprove the transaction immediately and make the online payment process seamless. The job of the tester here is to make sure that the complete payment cycle (getting transactions from the online store, record and authenticate refund) are working fine. This can be a problem for the merchant if any of these subcomponents do not work as expected. The payment gateway needs to be checked at different parameters, these have been outlined in Table 1 below:<\/p>\n<table style=\"width: 100%\" border=\"5px double black\">\n<tbody>\n<tr>\n<th style=\"text-align: center\">Type<\/th>\n<th style=\"text-align: center\">Explaination<\/th>\n<th style=\"text-align: center\">Examples<\/th>\n<\/tr>\n<tr>\n<th style=\"text-align: center\">Black Box Testing\/Functional Testing<\/th>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">Required for raw, less reputed payment gateways to ensure that the application behaves in the proper way.<\/td>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">Order handling, Calculation of payment, taxes etc.<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: center\">Integration Testing<\/th>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">Required during the integration of the application with chosen payment gateways.<\/td>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">Order placing, Fund receiving, Refund of payment etc.<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: center\">Performance Testing<\/th>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">Required for a performance of process mainly to check that the website does not lead to failure when multiple customers try to complete the transaction at the same time.<\/td>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">Website\/online store\/application<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: center\">Security Testing<\/th>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">Required during the payment part when a customer shares sensitive information online.<\/td>\n<td style=\"font-family: Times New Roman\" align=\"center\" valign=\"middle\">CVV number, credit\/debit card no, transaction password<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"width: 100%\">\n<tbody>\n<tr>\n<td align=\"center\" valign=\"middle\">Table 1: Kinds of testing needed in the process<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><strong>Tips for testing the payment gateway:<\/strong><\/h2>\n<p><strong>1. Availability of free isolated environment:<\/strong> Look for a free isolated environment (for trial and exploratory purposes) that can be used for the Payment Gateway; it needs to be tested or implemented. Having such an environment definitely, helps and gives the team that extra flexibility to customize the tool and test as in depth as required.<\/p>\n<p><strong>2. Testing should be done end-to-end:<\/strong> We must make sure that transaction is tested end to end. Few common bugs are related to data capture and data flow from application to the Payment Gateway.<\/p>\n<div id=\"attachment_50356\" style=\"width: 716px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-50356\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-50356 size-full\" title=\" Common bugs to watch out for.\" src=\"\/blog\/wp-ttn-blog\/uploads\/2017\/07\/656.jpg\" alt=\" Common bugs to watch out for.\" width=\"706\" height=\"406\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2017\/07\/656.jpg 706w, \/blog\/wp-ttn-blog\/uploads\/2017\/07\/656-300x172.jpg 300w, \/blog\/wp-ttn-blog\/uploads\/2017\/07\/656-624x358.jpg 624w\" sizes=\"(max-width: 706px) 100vw, 706px\" \/><p id=\"caption-attachment-50356\" class=\"wp-caption-text\">Figure 2: Common bugs to watch out for.<\/p><\/div>\n<p><strong>3. Issue resolving options:<\/strong> If payment fails during a transaction for any reason, an appropriate message should be shown to the customer. A technical message like \u2018Server is down\u2019 or \u2018404 error\u2019 can confuse the customer and might affect the usability of the application. Generic messages like \u201cThere seems to be some issue in processing the transaction, please contact us at Customer Care Number\u201d will make the user experience better.<\/p>\n<p><strong>4. Post production verification:<\/strong> For this purpose, the business owner will need to create a live payment processor account and set up their Merchant ID. After setting up,<a title=\"Regression testing\" href=\"http:\/\/www.tothenew.com\/blog\/regression-testing-a-sign-off-before-product-release\/\"> Regress testing<\/a> should be done on the payment processor before the application and payment processor integration goes live for the public.<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>The module of payment processor is the most critical component for any <a title=\"Features of E-commerce application\" href=\"http:\/\/www.tothenew.com\/blog\/5-must-have-features-of-an-ecommerce-app\/\">e-Commerce application<\/a> that is intended to accept payments from its users. Therefore, it is essential to test this component thoroughly. User experience can be negatively affected if any scenario is missed or any gap is left in the sales\/transactions of the seller. Testers, thus need to prepare or set up the test environment (sandboxes, response codes, gather dummy credit card information) and formulate a testing strategy both for the test environment and live\/post production release environment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A company that handles the transactions between two parties (i.e. merchant and customer) is called payment processor. The payment is accomplished by passing on the payment information, like a credit card\/debit card, from the customer to the merchant\u2019s preferred bank account. There are several payment processing companies functioning in India like; PayPal, CC Avenue, and [&hellip;]<\/p>\n","protected":false},"author":1144,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":23},"categories":[2026,1,1816],"tags":[2838,14,142,4649,4648,4647,697,4538,1563,4858],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/50314"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/1144"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=50314"}],"version-history":[{"count":7,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/50314\/revisions"}],"predecessor-version":[{"id":51819,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/50314\/revisions\/51819"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=50314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=50314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=50314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}