支付网关测试:测试者的实践指南和清单

发表于:2017-4-18 13:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Neha    来源:51Testing软件测试网原创

  测试员支付网关测试指南:
  什么是支付处理器(payment processors)?
  根据维基百科,"支付处理器是由商家指定的公司(通常是第三方),用于处理来自各种渠道的交易方式,例如商业银行的信用卡和借记卡。
  支付处理器将收集到的信息进行转发给相信卡的银行和会所进行验证,并对交易行为进行一系列反欺诈措施。"
  常见的支付网关有Braintree, Authorize.net, PayPal, Bluepay, Citrus Payments 等。
  支付网关术语
  让我们来讨论一下在这篇文章中涉及到的术语:
  1)商户(Merchant)--商户是销售产品或服务的个人或公司。Flipkart,Amazon,eBay都是是商户的例子。
  2)信用卡(Credit Card)--可用于信用账户购买产品或服务的塑料卡。它具备16位数字卡号,有效期,全息图,磁条,签名面板和卡验证值(CVV)号码等。
  信用卡正面:
  信用卡背面:
  3)收单银行(Acquiring bank)--收单银行 (Acquiring Bank)服务对象为特约商店,收单银行向商店推广接受信用卡为付款工具,但收单银行会先在严格审核商店信用的优劣之后,再与商店签约成为特约商店,并提供信用卡单据兑现服务及收取手续费。
  4)开证银行(Issuing Bank)--开证银行是指接受开证申请人的要求和指示或根据其自身的需要,开立信用证的银行。开证行一般是进口人所在地银行。开证行是以自己的名义对信用证下的义务负责的。
  例如,如果卡的有效期不正确,或者购买金额超过卡信用限额等情况下,交易将被拒绝
  5)交易(Transaction)--通过端到端的方式与客户交流产生交易行为。
  6)授权(Authorization)--客户在购买时会要求授权。此授权由客户开证行提供,并确认持卡人的有效性,支付能力,存在足够的资金等。一旦符合资金持有资格,余额会从客户的信用额度中扣除但此时尚未转入商家帐号。
  7)捕获(Capture)--在此操作中,商家收集相关的客户支付信息,并向处理器发送结算和捕获请求。处理器使用此信息来启动客户和商家银行帐户之间的资金转帐。
  支付网关和支付处理器的差别
  网上有很多关于支付网关和支付处理器是否是具有不同功能的文章。在我做测试项目期间,我观察到付款处理器和付款网关是可以互换使用的,并没有什么实际的区别。商家通常将"付款网关"称为支付处理器,因为这两个都是用于支付业务。
  交易流程
  以下流程图总结了客户从提交订单到订单成功或拒绝之后的完整流程。
  void和return之间的区别在于交易是否被捕获。未结算的付款可以视作为无效,这也就意味着资金被记入持有人账户。若交易已经结算或者信息已经被捕获,则会启动退款,这也就是说资金将将从商家账户中扣除并存入持卡人的账户。
  为什么我们需要测试支付网关?
  如果我们在实际的实体店购物,我们将在结帐时通过支付现金或刷卡(信用卡或借记卡)以完成交易。如果使用信用卡或借记卡,POS机将显示支付处理是否被准许或拒绝。同样,在网络交易中,我们需要一个可比较的系统,即时批准或拒绝交易。
  从客户的角度来看,电子商务网站上的在线支付处理应该是无缝的。客户点击"立即付款"按钮,并在接下来的几秒时间内就能够看到支付成功或者失败的消息提醒。
  从电子商务店的角度来看,商家需要确保完整的付款流程(从网上商店获取交易,获取和授权,退款,无效)都可以正常运作。如果流程中的任何一个部分没有达到预期的结果,那么对于商家来说都可能是一个问题。
  从商家的角度来看,在测试阶段使商家适应支付流程并评估选择的选项是否适合其应用程序和业务是很有必要的。
  需要进行的各种测试
  根据付款处理器的选择和产品或应用的要求,可能会需要执行以下类型的测试:
  功能测试--功能测试的测试对象为刚出现在市场上,并且系统不很成熟的支付网关,以确保应用程序能够按照应有的流程保证质量,建立更加完善的支付处理器。
  集成测试--集成测试在与支付网关集成时至关重要。作为测试人员,需要验证网站、网上商店、应用程序的集成是否与所选支付网关正常工作。作为测试者,你需要验证整个交易流程:
  · 下订单
  · 检查商家帐户中是否收到资金
  · 验证交易是否可以成功退款或失效
  性能测试--必须测试网站、网上商店、应用程序的性能。如果多个用户试图同时完成交易,支付处理器应该也能成功。
  安全测试--在交易过程中,客户会提供敏感信息,如信用卡号,CVV号等。确保所有敏感信息在加密后传输并且信道安全是非常重要的。
  支付网关测试清单和测试用例
  像任何其他应用程序一样,测试支付处理器也有正确的测试计划
  以下清单可用于测试人员参考:
  1)设置支付处理器沙箱。
  2)收集用于测试不同信用卡的号码。例如,Braintree支付处理器的信息可以在Braintree支付中找到。
  3当交易成功时验证应用程序的行为。
  4)成功交易后,验证支付网关是否返回到应用程序,显示某种成功的交易和确认信息。
  5)如果交易成功,验证客户是否获得某种交易确认通知,如订单确认邮件等。
  6) 测试要是付款失败或付款处理器停止响应会发生什么,是否会发出任何错误消息?
  7)验证是否有打开和关闭浏览器弹出窗口阻止程序的应用程序行为。如果在弹出窗口中显示任何确认消息,这可能会有帮助。
  8)测试不同的欺诈预防和安全设置
  例如,如果客户的结算信息与提供给发行银行的地址不匹配,那么任何的不匹配细节都会导致交易的不成功。
  9)如果测试人员可以访问应用程序数据库,需要验证数据库中的交易条目。
  10)检查客户会话到期后会发生什么。
  11) 在整个交易过程中检查控制台,并报告所观察到的任何控制台错误。
  12)验证该交易是否在安全通道上完成。
  例如,结帐页面可能是HTTPS,而不是HTTP页面的网站。
  13)验证付款处理器货币设置是否正确
  例如,如果应用程序,网站是加拿大公司或者零售商,则付款处理器应设置为接受CAD货币。
  14)如果应用程序具有多种付款方式,如信用卡(Credit card)和PayPal在一起,则两种付款方式需要进行单独测试。
  15)验证退款或无效金额(从付款处理器管理员门户)是否与交易金额相同。不管在任何情况下,退款金额不得超过交易金额。
  设置沙箱:Braintree付款示例
  1)浏览Braintree网站
  2)点击"尝试沙箱"按钮
  3)填写所需信息并注册沙箱
  4)将在注册时提供的电子邮件地址收到一封电子邮件,确认帐户的创建
版权声明:51Testing软件测试网(www.51testing.com)原创出品,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号