【转载】第三方支付业务如何测试
当一个支付请求被发送到支付渠道方,支付渠道会很快返回一个结果。但是这个结果,只是告诉你调用成功了,不是扣款成功,这叫同步调用。很多新手会拿这个结果当作支付成功了,那就会被坑死,结果就是支付成功率特别高,伴随着一堆无法解释的坏账率,测试人员尤其要注意测试数据的篡改:金额,同步返回结果,订单号等。
同步请求参数里面会有一个回调地址,这个地址是支付渠道在扣款成功后调用的,这叫异步调用。一般同步接口仅检查参数是否正确,签名是否无误等。异步接口才告诉你扣款结果。一般异步接口有5秒以内的延迟。调用不成功会重试。有时候是这边成功了,但支付渠道侧没收到返回,于是会继续调。当天的支付到第二天还在被异步调用也都是正常的。这也是开发人员需要特别注意的地方,不要当做重复支付。测试人员也要对重复回调进行测试,应只有一次有效。这还不是最坑的,一般支付渠道侧,只有支付成功了才通知你。要是支付失败了,压根儿都不告诉你。 另一方面,如何老收不到异步结果呢?那就得查查了。同步结果不可靠,异步调用不可靠,那怎么确定支付结果?最终的杀招就是查单了,反查,一般支付渠道侧都会提供反查接口,定时获取DB中待支付的订单调用支付渠道侧的反查接口,最终把支付渠道侧扣款成功的订单完成掉。
微信大致流程为:APP端将订单信息提交到后台,后台通过微信统一下单接口到微信去下单,微信端返回相关信息到PHP后台,后台先将订单保存到数据库成功后,返回签名信息给APP端去实现真正的支付
支付宝大致流程为:APP端将订单信息提交到后台,后台通过支付宝规定的签名算法将签名信息返回给APP端,APP端调用支付宝SDK去实现支付
转载于:https://www.cnblogs.com/lelexiong/p/9158956.html
【转载】第三方支付业务如何测试相关推荐
- 第三方支付业务处理流程
第三方支付业务处理流程 1网银支付业务处理流程 用户在商户端产生商品订单,通过支付系统对商品直接进行支付操作.通过网银支付功能,支付系统提供网络购物支付.生活缴费.手机充值.票务购买等增值服务. 业务 ...
- [转载]Memcache内存临界测试
作者:马江涛 时间:2010-08-19 前言 此文档帮助您了解 memcache 在保存数据时,假如要保存的数据量接近 memcache 指定的最大内存时,memcache 是怎样进行数据存储的,以 ...
- MockLab:基于MockLab的第三方平台对接测试
一.背景 现因系统需要对接各种第三方平台,但是因为: 需要检查发送给第三方的请求是否正确 在第三方未完成功能时,需要模拟桩来模拟第三方各种响应,代码做相应的处理 在测试环境时,无法对接到正式的代码,故 ...
- 如何做Android第三方SDK准入测试
最近在做客户端测试的过程中,自己负责的功能模块涉及到了第三方SDK的接入.准入测试,期间自己也踩了不少坑,所以特此写一篇文章总结一下. 先说一下SDK的概念吧,sdk就是软件工具开发包(外语全称:So ...
- 【转载】探索式测试基础系列—生活进阶曲
在探索式测试落地实践中奏出了协奏曲后进入到高级阶段,如何在问题定位和经验积累中发挥作用,也可以理解为在生活达到非常和谐后,如何孕育一个后代并为其提供良好的环境,因此本章的名字叫做生活进阶曲,表明在本章 ...
- 【转载】使用LR测试Oracle数据库的方法
选择,建立一个Oracle(2-Tier)协议的脚本 加入 static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT}; static LRD_DEF ...
- 【转载】Nessus安全测试插件编写教程
Nessus安全测试插件编写教程 作者:Renaud Deraison 翻译:nixe0n 1.怎样编写一个高效的Nessus安全测试插件 在Nessus安全测试系统中, 所有的安全测试都是由ness ...
- WINCC做OPC UA服务器与第三方客户端连接测试
一.环境准备 服务器侧:WINCC 7.5SP1 +数据连通性软件包(Connectivity Pack)选件 客户端侧:Softing OPC UA Client软件 (下载地址:OPC UA-De ...
- 第三方支付业务及典型的对账过程
为了更好的理解支付对账过程,我们把业务从头到尾串起来解释一下业务场景. 李雷是一个业务繁忙的销售代表,一日,他需要从国航购买一张从北京飞往上海的机票,所以他在国航官网上在线下单,并在线支付了机票费用2 ...
最新文章
- FJ省队集训DAY4 T1
- 什么是分布式系统,如何学习分布式系统(转)
- 嵌入式Linux学习问题解决记录
- 为什么阿里巴巴RPC接口不允许使用枚举类型?
- NYOJ 309 BOBSLEDDING(dp)
- break 与continue的区别
- [2019HDU多校第一场][HDU 6590][M. Code]
- LRN和Batch Norm
- mysql修改密码后phpmyadmin 出现#1045
- 怎样解决Word文档图标无法正常显示的问题?
- java569_java如何实现这样一个程序
- 基于Python+Django的图书馆管理系统
- VS-watch窗口
- JDK Windows安装
- 倾角传感器的介绍和应用
- 枚举算法典型的三个例子
- 微信用户昵称特殊符号处理
- 康奈尔笔记法写程序笔记
- oracle11g磁盘阵列 pdf,融会贯通 从Oracle11g到SQL Server2008 中文PDF版 16.7MB
- mysql表分区join_​实战:Flink 1.12 维表 Join Hive 最新分区功能体验
热门文章
- 电脑运行c语言程序就蓝屏,Win10电脑卡机遇到蓝屏代码0xc000014c应该怎么办?
- linux+kill+进程和线程,什么是程序,进程和线程?三者之间有何关系?
- 微信小程序开发语言的选择
- Yocto系列讲解[理论篇]27 - BitBake全过程(5)
- 【方法】树莓派开机使用教程(看这个就够了)
- 服务器卡logo显示2f,战争机器4卡LOGO界面解决办法
- win10停止更新_你的win10即将终止!各大版本服务终止日期大全,准备好了吗?...
- dos下用move命令移动文件夹
- iOS App签名的原理
- Excel数据透视表经典教程十二《数据透视图》