1.虽然自己做了很多支付 (paypal,payssion,银联,微信 H5..),但是对于支付自己所了解的就是支付接口参数加密之后的对比,正常的发起支付
2.望各位给出自己支付注意的事项,怎样才算支付测试的正确姿势
借楼同想了解一下如果 native 接的谷歌支付,要测哪些点,有什么坑
支付这个链路也太长了……涉及到好多团队呢
没测过多少支付,我一般看两块。支付接口本身有没有问题,比如对各类金额、超大金额、转码金额等,限制能不能绕过,接口用的技术本身有没有问题,比如 XML 类,有没有 XXE 等。另外就是支付功能,能不能改价格,能不能绕过一些验证,并发支付、多次支付、回退支付、支付撤销等等。支付测试我反正比较头疼,风险大,网上大神多,出点问题估计就要被开。。。
第三方支付的流程一般都是:
作为商户方要留意:
是否支付成功,要以支付平台的返回为准。所以最好是 Server to Server 的通信,并且加上 IP 白名单过滤。
做好支付的校验,一般支付平台会提供校验方式,注意在服务器端处理和保密。
3.建议增加二次校验,即支付平台返回一个支付结果回调一样,再主动到对方校验一次。
4.做好重复性校验,即同一笔订单不要重复发货。
5.做好商品和订单、支付金额的校验,防止收到小额商品的金额,发了大额商品的货。
6.支付平台一般会有沙盒环境,注意要做好测试订单的区分和控制,防止被测试订单刷单。
7.做好定时的对账处理,遇到异常订单可以及时止损。
8.做好监控,如果用户频繁购买或大额购买,可能是异常行为。
目前我做的是 sdk,对接 cp,期间接了银联支付,微信 jsapi,paypal,微信 H5,但是你这个太笼统了,回答太官方了
服务器一定要做好各种验证,不要相信前端传过来的参数
比如充值 id 对应的金额、物品数量、购买次数什么的
密码、密钥等一系列与身份验证相关的加密、防泄漏问题
防伪造、篡改信息问题
手机、图形等一堆验证信息,控制有效时间、有效范围问题
用户信息隐私问题
客户端安全问题(如:xss、csrf 等)
我有个问题,支付系统重构,数据迁移到新库,怎么做数据校验?