第 440 卷
19
2024年12月
距离2024年还有14天
软件测试堆栈的第 440 条推文
点击上方蓝字“软件测试栈”关注我。 我会在每周一三五早上09:00准时推送,每月还会不定期赠送技术书籍。
在微信公众号后台回复“资源”和“测试工具包”即可领取测试资源,回复“微信交流群”和“内部推荐群”即可进群打怪。
本文共3617字,阅读时间约10分钟。
大家好,我叫CoCo。
很多平台上都会调用第三方支付平台,比如支付宝、微信、银联闪付电子支付等,你真的了解第三方支付吗?
当你每天使用支付宝的时候,是不是感觉很简单呢? 无非是绑定卡,检查支付密码,银行卡上的资金就会被扣除。
但其背后涉及的技术架构其实非常复杂。 例如,在外部合作方面,涉及银行、云闪付、互联网联盟、商户、用户、公安、电信运营商、安控公司、服务器运营商等。
从具体业务来看,大致可分为存款业务、取款业务、清算对账业务、差错处理业务。 支付业务涉及很多方面,技术结构其实也比较复杂。
今天给大家介绍一下第三方支付。
一
第三方支付简介
第三方支付步骤介绍
第三方支付是由一些有实力、有信誉保证的第三方独立机构提供的交易支付平台。 买家购买商品后,使用第三方平台进行支付,第三方通知卖家货款已到。
目前市场上有很多平台支持第三方支付。 商户与第三方签订协议并获得账户。 协议生效后,支付平台为商户激活支付功能,并通过程序将接口集成到网站中。
使用第三方支付可以统一资源,商户可以轻松地与几乎所有类型的银行实现交易服务。
第三方支付步骤
调用第三方支付,具体步骤如下:
1、用户向商城网站发起订单确认请求。
2、商城网站接收订单数据并将其保存到数据库中。
3. 返回订单确认页面。 页面上应显示订单金额信息。
4. 用户确认支付并发起支付请求。 付款请求发送到支付网关,而不是商城。
5. 显示支付页面。
6、用户填写认证信息(账户密码)并提交。
7. 这里有两个步骤。 一是扣款成功后跳转到支付结果显示页面,二是支付通知。 这两个步骤是同时执行的。 商城网站收到支付通知后,根据验证规则验证操作信息的有效性。 。
如果有效,则说明订单已付款。 如果不是,则说明该信息是非法索取的。
第三方支付的优势
第三方支付的好处是:
1、可以解决买卖双方的信任危机,降低交易风险。
2、批量处理大量电子小额交易,降低支付成本。
3、买家的信息安全能够得到保证。 买家的银行卡信息和账户信息不需要向每个收款人公开,只需向第三方支付平台公开即可。
第三方支付架构
一般来说,支付系统从架构上分为四层:网关层、核心层、产品层和运营支撑层;
网关层:网关一般将银行、云闪付、网联、第三方支付能力进行封装,然后提供原子能力供上层系统调用; 如快速接入、网关、代理支付、清算对账等,提供错误处理能力后,提供对其上层系统的调用; 另外,网关一般会维护路由系统(简单来说,路由就是帮助一笔交易通过一定的规则和比较后,选择合适的路径到达通道侧)。
核心层:支付系统的核心模块,一般包括会员系统、风控系统、交易系统、收费系统、订单系统、清算系统、记账系统、签约系统、数据系统等;
产品层:结合核心层提供的服务,大致可以分为存款产品,如充值产品、转账产品等,以及取款产品,如取款产品、结算产品等; 然后通过接口、收银、钱包、官网、内部运营后台等具体产品系统提供服务;
运营支撑层:用于支撑核心系统服务,包括运维监控系统、日志分析系统等。
简单来说,当一笔交易进入第三方支付系统时,首先会经过产品层,然后经过核心层,最后经过网关到达渠道侧。 同时,支付机构还可以通过运营支撑层对交易进行监控和维护。
二
了解支付宝第三方支付
基本流程
首先,拥有支付宝账户,向支付宝申请网上支付服务,并签署协议。
协议生效后,支付宝会给网站一个合作ID和安全验证,然后根据支付宝的接口文档开发支付宝接口。 上述操作步骤中,4是向支付宝网关发送数据,7是通知验证部分,验证网关向网站请求,网站验证规则验证并记录信息。 当我们开发其他支付平台时,这两个步骤也很重要。
支付宝付款流程
支付宝的基本流程如下:查询PID和KEY->下载技术文档->根据代码示例进行集成--->接口测试->集成成功。
支付宝后台商户服务菜单:查询合作伙伴身份(PID)、查询安全验证码(Key)。
|-alipay_notify.php----支付宝通知处理文件 |-alipay_service.php---支付宝请求处理文件 |-alipay_config.php-----基础信息配置文件 |-index.php-----------快速付款模板入口文件 |-notify_url.php--服务器异步通知页面文件
.php文件分析:我们需要将支付宝后端获取到的PID和Key写入到配置文件中。
2345678 $partner ="---"."86754233" 合作伙伴ID $security_code='u3e'guirpffcib7''安全验证码 $_input_charset="utf-8" 字符编码格式 $sign_type='MD5' 加密方式 $transport="http" 访问模式 $notify_url 支付通知地址 $return_url 返回地址 $show_url 商品展示地址
支付结果返回地址
支付结果页面是用户完成支付后的页面。 支付宝会请求这个地址: $ 这里是对支付宝服务器的请求。 此 url 是以 http 开头的完整格式路径。 然后根据数据库脚本创建一个表,并根据数据配置更改.php。 通过修改支付宝提供的demo。
后台会有一个订单表:id,,,,这几个字段。
三
第三方支付在实际工作中的应用
工作过程
该平台需要连接第三方。 首先,微信/支付宝等第三方支付平台会提供商户的技术接口文档,其中包括充值、查询、退款、对账等各个接口的详细参数和返回值。 并完成以下工作:
1、通过接口将订单信息(订单号、时间、金额、商户号等)传输给第三方。
2、页面会跳转到第三方链接页面进行支付。
3. 支付完成后,第三方将收到支付结果。
4、根据支付结果同步订单状态以及接入第三方支付是接口上具体的一些开发。 如果双方就资金流向达成一致,在平台记账系统中,应以第三方作为还款渠道方。 还款成功后,若资金流向不变,则与第三方进行结算。 一般情况下,T+1对账完成后进行结算。 退款问题取决于您的需求。 是自动退款(订单失败后自动退款)还是手动退款(用户或工作人员发起的退款),第三方提供的接口文档中有退款接口。 详细看一下就知道了。 一般情况下,退款是在将原始订单信息交给第三方后发起的,并回滚账户。 、退款对账。
第三方支付测试点
(1)正常场景验证
1、测试环境采用大金额和小金额(0.01元)测试,检查使用正确的参数是否可以正确调用第三方接口以及各个字段的值是否正确;
2、上线前,您可以向公司申请预留金并进行大额付款,或者在大额付款并核对所有信息无误后,调用退款接口或直接在系统上进行退款;
3.无论付款还是退款,都会有相应的查询界面。 可以在数据库中查看各个字段,也可以通过后台直接在页面上查看订单信息;
4、处理对账错误;
5、支付成功后,检查第三方系统返回给我们的数值是否正确;
(2)异常场景验证
1、使用错误的参数,将各个需要提交的字段修改为错误的值,看看是否可以请求第三方接口下单;
2.如果退款时信息错误,可以请求第三方接口退款吗?
3、超过单笔交易限额和单日限额;
4.付款失败、订单补货等。
5、唤醒第三方页面后,可以进行取消操作吗?
6. 第三方会提示您重复付款吗?
7、通过篡改第三方响应数据,能否得到正常处理?
8、比如订单超时或者第三方渠道故障,我们公司有监控报警机制吗?
9、非功能验证(弱网、安全、兼容性测试);
以上就是今天的全部内容了。 希望对大家有所帮助。 欢迎补充。 希望大家多多留言、点赞、观看、转发《四爱》❤️支持。 下一篇文章再见,拜拜~
多于
就这样