用户体验升级补丁验收报告及确认单

SnapPay Developer Documents

用户体验升级补丁验收报告及确认单

前言

   本次用户体验升级补丁主要围绕“OpenAPI的h5Pay接口,同一商户多次使用同一订单号进行重复下单”及“订单超时后自动关闭订单”进行相关开发及测试验证。



1.开发修复方案

   开发修复方案文档中包含:修复点说明、代码(服务、分支、模块、class)及功能流程图等,具体参照表1所示:

序号

修复点(修复方案)

修复方案【附件链接】

1

h5Pay订单号重复

OpenApi H5支付下单商户订单号验重处理方案链接

2

订单超时

订单超时处理方案

表1 开发修复方案文档

2.OS环境影响

  由于OS环境配置等因素,本次修复验证不会进行“银联二维码”、“securePay通道”、“【USD】微信、支付宝”的相关交易验证,具体原因如下所示:

  • 银联二维码(原因):OS环境通道参数有问题。

  • SecurePay通道(原因):本次修复的代码提交qr-invoice分支,而securePay交易只要部署securePay分支;目前,未将securePay分支合并到qr-invoice分支,故不测试securePay通道交易)”。

  • 【USD】微信、支付宝(原因):(沙箱)支付宝及微信在OS环境无法进行交易。

【提示】如需进行“银联二维码”、“securePay通道”、“【USD】微信、支付宝”的相关交易验证,请提供可测环境。

  由于SnapPay内部的“qr_invoice子系统”在调用的“OpenApi_h5Pay”接口时,h5Pay请求参数中未指定“effective_minutes字段值”。因此"POS端qr_invoice"的真正有效期按照“支付通道转接模板中的‘expirde_time’配置参数为准(即参数模板中带有“effective_minutes字段”,则按照指定的“effective_minutes字段值”进行相关订单超时逻辑处理;若参数模板中不带“effective_minutes字段”,则以“24小时(1440分钟)”进行相关订单超时逻辑处理)。”

3.测试范围

   本次修复验证的测试范围涉及到“h5Pay订单号重复”及“订单号超时”两部分,具体的测试范围及相应的测试场景执行参照表2所示:

序号

修改点

测试范围

备注

1

h5Pay订单验重

1.(OpenAPI) h5Pay【(CAD/USD)微信、支付宝;银联二维码】交易及退款

2.(OpenAPI) h5Pay【Securepay】交易及退款

1.本次修复验证只做“CAD下的支付宝、微信”相关交易。



2.POS端(QR_Invoice)下单请求的“effcitve_minuites=1440(即1440为固定值)”不能进行指定的effcitve_minuites的自定义设置,故采用POS主扫进行“POS端订单有效期(即以“通道”)”验证

2

订单超时

1.(OpenAPI) h5Pay/QrcodePay带/不带“effective_minutes字段”进行相关“订单超时验证”。

2.POS主扫(微信、支付宝)进行相关“订单超时验证”。

说明 本次修复验证不会进行“银联二维码”、“securePay通道”、“【USD】微信、支付宝”的相关交易验证,具体原因如下所示:

  • 银联二维码(原因):OS环境通道参数有问题。

  • SecurePay通道(原因):本次修复的代码提交qr-invoice分支,而securePay交易只要部署securePay分支;目前,未将securePay分支合并到qr-invoice分支,故不测试securePay通道交易)”。

  • 【USD】微信、支付宝(原因):(沙箱)支付宝及微信在OS环境无法进行交易。

4.测试执行及记录

4.1 h5Pay订单重复

4.1.1  ok 交易

1. 同一订单号在同一商户下交易

场景1:同一订单号(H5test202009010001)在同一商户下连续下单,response会报“商户订单号重复”。

操作步骤

备注

测试结果(通过)

说明 下面以“微信”举例进行下述场景操作,“支付宝、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=H5test202009010001,payment_method =WECHATPAY”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“微信”扫描“h5Pay二维码”及成功支付操作。



前提条件 只有成功执行完【step1、2】后,才能进行后续操作。



step3 保持“h5Pay接口”的请求参数(即“out_order_no=H5test202009010001,payment_method =WECHATPAY”等信息)与【step1的请求参数】一致,并发送请求。



step4 查看【step3】操作后返回的response信息中是否出现“("code":"E055567","msg":"The order number of the merchant is repeated. Please change the order number and try again")”等信息。

微信

A.【步骤1、2操作后】:

  • out_order_no:H5test202009010001

  • 交易号:TWD20003075200831000002

B.【步骤1、2、3、4操作后】:

  • step4的response如下所示:

{"code":"E055567",

"data":[],"msg":"The order number of the merchant is repeated. Please change the order number and try again"}

------------------------

支付宝

A.【步骤1、2操作后】:

  • out_order_no:H5test202009050001

  • 交易号:TAD20003075200904000021

B.【步骤1、2、3、4操作后】:

  • step4的response如下所示:

{"code":"E055567",

"data":[],"msg":"The order number of the merchant is repeated. Please change the order number and try again"}

--------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此

场景验证条件)

2. 同一订单号在不同商户下交易

场景2:同一订单号(H5test202009010002)在不同商户下下单,response会报“商户订单号重复”。

操作步骤

备注

测试结果(通过)

说明 下面以“微信”举例进行下述场景操作,“支付宝、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=H5test202009010002,payment_method =WECHATPAY”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“微信”扫描“h5Pay二维码”及成功支付操作。



step3 商户(小李钢笔 902000307934)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=H5test202009010002,payment_method =WECHATPAY”等信息并发送请求。



step4 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“微信”扫描“h5Pay二维码”及成功支付操作。





微信

A.【步骤1、2操作后】:

  • 商户(小李桌面 902000307553)

  • out_order_no:H5test202009010002

  • 交易号:TWD20003075200831000003

B.【步骤3、4操作后】:

  • 商户(小李钢笔 902000307934)

  • out_order_no:H5test202009010002

  • 交易号:TWD20003079200831000002

-----------------------

支付宝

A.【步骤1、2操作后】:

  • 商户(小李桌面 902000307553)

  • out_order_no:H5test202009050003

  • 交易号:TAD20003075200904000023

B.【步骤3、4操作后】:

  • 商户(小李钢笔 902000307934)

  • out_order_no:H5test202009050003

  • 交易号:TAD20003079200904000015

----------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此

场景验证条件)

4.1.2 退款

1.同一订单号在同一商户下交易

场景3:同一订单号(H5test202009010001)在同一商户下进行“退款”操作

【说明】只要用户能成功退款即可

操作步骤

备注

测试结果(通过)

说明 下面以“微信”举例进行下述场景操作,“支付宝、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的orderrefund接口",对“out_order_no=H5test202009010001“进行“退款”操作



step2 查看【step1】操作后,用户是否收到“退款信息”

微信

A.【步骤1、2操作后】:

  • 商户(小李桌面 902000307553)

  • out_order_no:H5test202009010001

  • (原始)交易号:TWD20003075200831000002

  • (退款)交易号:TWD20003075200831000004(用户收到退款)

-----------------------------------

支付宝

  • 商户(小李桌面 902000307553)

  • out_order_no:H5test202009050004

  • (原始)交易号:TAD20003075200904000024

  • (退款)交易号:TAD20003075200904000025(用户收到退款)

----------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此

场景验证条件)

2. 同一订单号在不同商户下交易

场景4:同一订单号(H5test202009010002)在不同商户下进行“退款”操作

操作步骤

备注

测试结果(通过)



step1 商户(小李桌面 902000307553)使用"OpenAPI的orderrefund接口",对“out_order_no=H5test202009010002“进行“退款”操作



step2 查看【step1】操作后,用户是否收到“退款信息”



前提条件 只有成功执行完【step1、2】后,才能进行后续操作。



step3 商户(小李钢笔 902000307934)使用"OpenAPI的orderrefund接口",对“out_order_no=H5test202009010002“进行“退款”操作



step4 查看【step4】操作后,用户是否收到“退款信息”

微信:

A.【步骤1、2操作后】:

  • 商户(小李桌面 902000307553)

  • out_order_no:H5test202009010002

  • (原始)交易号:TWD20003075200831000003

  • (退款)交易号:TWD20003075200831000005(用户收到退款)

B.【步骤3、4操作后】:

  • 商户(小李钢笔 902000307934

  • out_order_no:H5test202009010002

  • (原始)交易号:TWD20003079200831000002

  • (退款)交易号:TWD20003079200831000003(用户收到退款)

--------------------

支付宝:

A.【步骤1、2操作后】:

  • 商户(小李桌面 902000307553)

  • out_order_no:H5test202009050003

  • (原始)交易号:TAD20003075200904000023

  • (退款)交易号:TAD20003075200904000026(用户收到退款)

B.【步骤3、4操作后】:

  • 商户(小李钢笔 902000307934

  • out_order_no:H5test202009050003

  • (原始)交易号:TAD20003079200904000015

  • (退款)交易号:TAD20003079200904000016(用户收到退款)

-----------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此

场景验证条件)

4.2 订单超时逻辑优化

4.2.1 订单有效时间配置

   本次“订单有效时间修复”中,OMP的支付通道的“参数配置(通道方转接模板)”需添加“expired_time字段”。如果,下单请求中带了“有效时间字段”,则优先走“下单有效时间流程”;如果,下单接口没有带“有效时间字段”,则取“支付通道配置中expired_time的设置逻辑流程”;如果,“支付通道没有配置expired_time字段”,则“走默认24小时有效期流程”。

   订到有效时间取值优先级:下单请求(有效时间字段)> 通道转接模板(expired_time)> 默认24小时。具体的“订单超时逻辑流程”参见图2.1.1所示:

 

图2.1.1 订单超时逻辑流程

   对于OMP的支付通道的“参数配置(通道方转接模板)"配置参见图2.1.2所示:

 

图2.1.2 OMP的支付通道的“参数配置(通道方转接模板)"

   本次修复验证中,因为只做“支付宝、微信”交易,因此需要给“WechatPay-Instore-CAD、AliPay-Instore-CAD”支付通道配置的“通道方转接参数”新增“expired_time参数(测试统一配置为:10min)”。

【说明】(真正)订单有效期=订单创建时间+expired_time+1mins(延时查询),举例:“订单创建时间【北京时间,16:00:00】+expirde_time(10分钟)+1mins(系统设定的“延时查询”)”得出“(真正)订单有效期=16:11:00”。



4.2.2 OpenAPI接口交易

   本次OpenAPI会选取“h5pay及qrpay”接口进行“微信、支付宝”的交易下单操作。

1. h5pay交易(下单请求带“effective_minutes字段”

场景5: 超过“订单有效期”(前提:下单请求带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否“过期后输入支付密码进行实际支付操作”。

操作步骤

备注

测试结果(通过)

说明 下面以“微信”举例进行下述场景操作,“支付宝、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=H5test202009020011,payment_method =WECHATPAY,effective_minutes=5”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“微信”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭微信的密码键盘)。



step3 (订单有效期5mins内) 查看“out_order_no=H5test202009020011”在平台上的“交易状态”



step4 (超过订单有效期5mins,即在6mins) 查看“out_order_no=H5test202009020011”在平台上的“交易状态”是否为“交易关闭”;“在微信的密码键盘上输入支付密码是否能够支付成功”

微信:

A.【步骤1、2、3操作后】:

  • 交易号:TWD20003075200902000001

  • 交易状态:进行中



B.【步骤4操作后】:

  • 交易号:TWD20003075200902000001

  • 交易状态:交易关闭

  • 微信输入密码进行支付后,报错:“交易有效截止时间非法(即用户支付失败)”

--------------------

支付宝:

A.(略写步骤1、2、3)

【步骤4操作后】:

  • 交易号:TAD20003075200904000005

  • 交易状态:交易关闭

  • 支付宝报错:“订单已超时,不能付款(即用户未付款)”

------------------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此

场景验证条件)



场景6:临近“订单有效期”进行支付(前提:下单请求带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否"在快过期的前2秒输入支付密码进行实际支付操作”。

操作步骤

备注

测试结果(通过)

说明 下面以“支付宝”举例进行下述场景操作,“微信、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=H5test202009020012,payment_method =ALIPAY,effective_minutes=5”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“支付宝”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭支付宝的密码键盘)。



step3 (订单有效期5mins内) 查看“out_order_no=H5test202009020012”在平台上的“交易状态”



step4 (在4分58秒) 用户在支付宝的密码键盘上输入支付密码(说明:请手快点操作,受网络等因素限制,用户可能支付成功,也可能支付失败)



step5 (超过订单有效期5mins,即在6mins) 查看“out_order_no=H5test202009020012”在平台上的“交易状态”是否为“交易关闭”;“在支付宝的密码键盘上输入支付密码是否能够支付成功”

支付宝:

A.【步骤1、2、3操作后】:

  • 交易号:TAD20003075200902000002

  • 交易状态:进行中



B.【步骤4、5操作后】:

  • 交易号:TAD20003075200902000002

  • 交易状态:交易完成

  • 支付宝输入密码进行支付后,用户实际扣款成功并且平台上的交易状态为“交易成功”。

--------------------------------------

微信:

A.(略写步骤1、2、3)

【步骤4、5操作后】:

  • 交易号:TWD20003075200904000006

  • 交易状态:交易关闭

  • 微信输入密码进行支付后,报错:“交易有效截止时间非法(即用户支付失败)”

------------------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此场景验证条件)

2. h5pay交易(下单请求不带“effective_minutes字段”

前提条件: h5Pay交易下单请求中不带“effective_minutes字段”,并且"AliPay-Instore-CAD(WeChatPay-Instore-CAD)"支付通道"通道转接模板"中设置“expired_time=10(即此时的订单有效期为10mins)”。

场景7: 超过“订单有效期”(前提:下单请求不带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否“过期后输入支付密码进行实际支付操作”。

【说明】此时的订单有效期为10min

操作步骤

备注

测试结果(通过)

说明 下面以“微信”举例进行下述场景操作,“支付宝、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=H5test202009040003,payment_method =WECHATPAY”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“微信”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭微信的密码键盘)。



step3 (订单有效期10mins内) 查看“out_order_no=H5test202009040003”在平台上的“交易状态”



step4 (超过订单有效期10mins,即在11mins) 查看“out_order_no=H5test202009040003”在平台上的“交易状态”是否为“交易关闭”;“在微信的密码键盘上输入支付密码是否能够支付成功”

微信:

A.【步骤1、2、3操作后】:

  • 交易号:TWD20003075200904000007

  • 交易状态:进行中



B.【步骤4操作后】:

  • 交易号:TWD20003075200904000007

  • 交易状态:交易关闭

  • 微信输入密码进行支付后,报错:“交易有效截止时间非法(即用户支付失败)”

--------------------

支付宝:

A.(略写步骤1、2、3)

【步骤4操作后】:

  • 交易号:TAD20003075200904000009

  • 交易状态:交易关闭

  • 支付宝报错:“抱歉,订单已关闭,你可以重新购买并付款(ALIN42297)”

------------------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此场景验证条件)



场景8:临近“订单有效期”进行支付(前提:下单请求不带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否"在快过期的前2秒输入支付密码进行实际支付操作”。

操作步骤

备注

测试结果(通过)

说明 下面以“支付宝”举例进行下述场景操作,“微信、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=H5test202009040006,payment_method =ALIPAY”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“支付宝”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭支付宝的密码键盘)。



step3 (订单有效期10mins内) 查看“out_order_no=H5test202009020012”在平台上的“交易状态”



step4 (在9分58秒) 用户在支付宝的密码键盘上输入支付密码(说明:请手快点操作,受网络等因素限制,用户可能支付成功,也可能支付失败)



step5 (超过订单有效期10mins,即在11mins) 查看“out_order_no=H5test202009020012”在平台上的“交易状态”是否为“交易关闭”;“在支付宝的密码键盘上输入支付密码是否能够支付成功”

支付宝:

A.【步骤1、2、3操作后】:

  • 交易号:TAD20003075200904000010

  • 交易状态:进行中



B.【步骤4、5操作后】:

  • 交易号:TAD20003075200904000010

  • 交易状态:交易关闭

  • 支付宝输入密码进行支付后,支付宝报错:“订单已超时,不能付款”(即用户未扣款)

--------------------------------------

微信:

A.(略写步骤1、2、3)

【步骤4、5操作后】:

  • 交易号:TWD20003075200904000011

  • 交易状态:交易关闭

  • 微信输入密码进行支付后,报错:“交易有效截止时间非法(即用户未扣款)”

------------------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此场景验证条件)



3. qrcodePay交易(下单请求带“effective_minutes字段”

前提条件: qrPay交易下单请求中带“effective_minutes字段”,并且"AliPay-Instore-CAD(WeChatPay-Instore-CAD)"支付通道"通道转接模板"中设置“expired_time=10(即此时的订单有效期为10mins)”。

场景9:超过“订单有效期”进行支付 (前提:下单请求带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否“过期后输入支付密码进行实际支付操作”。

操作步骤

备注

测试结果(通过)

说明 下面以“支付宝”举例进行下述场景操作,“微信、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的qrcodePay接口",其中输入“out_order_no=Qrtest202009040005,payment_method =ALIPAY,,effective_minutes=5”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“支付宝”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭支付宝的密码键盘)。



step3 (订单有效期5mins内) 查看“out_order_no=Qrtest202009040005”在平台上的“交易状态”



step4 (超过订单有效期5mins,即在6mins) 查看“out_order_no=Qrtest202009040005”在平台上的“交易状态”是否为“交易关闭”;“在支付宝的密码键盘上输入支付密码是否能够支付成功”

支付宝:

A.【步骤1、2、3操作后】:

  • 交易号:TAD20003075200904000012

  • 交易状态:进行中



B.【步骤4操作后】:

  • 交易号:TAD20003075200904000012

  • 交易状态:交易关闭

  • 支付宝输入密码进行支付后,报错:“抱歉,订单已关闭,你可以重新购买并付款(ALIN42297)”

--------------------

微信:

A.(略写步骤1、2、3)

【步骤4操作后】:

  • 交易号:TWD20003075200904000013

  • 交易状态:交易关闭

  • 微信输入密码进行支付后,报错:“交易有效截止时间非法”。

------------------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此场景验证条件)



场景10:临近“订单有效期”进行支付 (前提:下单请求带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否"在快过期的前2秒输入支付密码进行实际支付操作”。

操作步骤

备注

测试结果(通过)

说明 下面以“支付宝”举例进行下述场景操作,“微信、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的qrcodePay接口",其中输入“out_order_no=Qrtest202009040007,payment_method =ALIPAY,effective_minutes=5”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“支付宝”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭支付宝的密码键盘)。



step3 (订单有效期5mins内) 查看“out_order_no=Qrtest202009040007”在平台上的“交易状态”



step4 (在4分58秒) 用户在支付宝的密码键盘上输入支付密码(说明:请手快点操作,受网络等因素限制,用户可能支付成功,也可能支付失败)



step5 (超过订单有效期5mins,即在6mins) 查看“out_order_no=Qrtest202009040007”在平台上的“交易状态”是否为“交易关闭”;“在支付宝的密码键盘上输入支付密码是否能够支付成功”

支付宝

A.【步骤1、2、3操作后】:

  • 交易号:TAD20003075200904000014

  • 交易状态:进行中



B.【步骤4、5操作后】:

  • 交易号:TAD20003075200904000014

  • 交易状态:交易关闭

  • 支付宝输入密码进行支付后,支付宝报错:“订单已超时,不能付款(即用户未付款)”

--------------------

微信

A.(略写步骤1、2、3)

【步骤4、5操作后】:

  • 交易号:TWD20003075200904000015

  • 交易状态:交易完成

  • 微信输入密码进行支付后,支付成功(即用户已付款)”

------------------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅支付宝

  • ✅微信

  • 🔲银联二维码

(OS环境不具备此场景验证条件)



4. qrcodePay交易(下单请求不带“effective_minutes字段”

前提条件: qrPay交易下单请求中不带“effective_minutes字段”,并且"AliPay-Instore-CAD(WeChatPay-Instore-CAD)"支付通道"通道转接模板"中设置“expired_time=10(即此时的订单有效期为10mins)”。

场景11:超过“订单有效期”进行支付 (前提:下单请求带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否“过期后输入支付密码进行实际支付操作”。

【说明】此时的订单有效期为10min

操作步骤

备注

测试结果(通过)

说明 下面以“支付宝”举例进行下述场景操作,“微信、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=Qrtest202009020001,payment_method =ALIPAY”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“支付宝”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭支付宝的密码键盘)。



step3 (订单有效期10mins内) 查看“out_order_no=Qrtest202009020001”在平台上的“交易状态”



step4 (超过订单有效期10mins,即在11mins) 查看“out_order_no=Qrtest202009020001”在平台上的“交易状态”是否为“交易关闭”;“在支付宝的密码键盘上输入支付密码是否能够支付成功”

支付宝:

A.【步骤1、2、3操作后】:

  • 交易号:TAD20003075200902000003

  • 交易状态:进行中



B.【步骤4操作后】:

  • 交易号:TAD20003075200902000003

  • 交易状态:交易关闭

  • 支付宝输入密码进行支付后,报错:“抱歉,订单已关闭,你可以重新购买并付款(ALIN42297)”

--------------------

微信:

A.(略写步骤1、2、3)

【步骤4操作后】:

  • 交易号:TWD20003075200904000004

  • 交易状态:交易关闭

  • 微信输入密码进行支付后,报错:“交易有效截止时间非法”。

------------------------------

银联二维码:OS环境不具备此场景验证条件

  • ✅微信

  • ✅支付宝

  • 🔲银联二维码

(OS环境不具备此场景验证条件)



场景12:临近“订单有效期”进行支付 (前提:下单请求带“effective_minutes字段”) 查看“交易状态是否变为‘交易关闭’”及用户能否"在快过期的前2秒输入支付密码进行实际支付操作”。

【说明】此时的订单有效期为10min

操作步骤

备注

测试结果(通过)

说明 下面以“支付宝”举例进行下述场景操作,“微信、银联二维码”同理进行操作。

step1 商户(小李桌面 902000307553)使用"OpenAPI的h5Pay接口",其中输入“out_order_no=Qrtest202009020003,payment_method =ALIPAY,effective_minutes=5”等信息并发送请求。



step2 由【step1】接口response中的“h5pay_url字段”生成对应的“二维码”,并使用“支付宝”扫描“h5Pay二维码”及(订单有效期内)不进行支付操作(此时不关闭支付宝的密码键盘)。



step3 (订单有效期10mins内) 查看“out_order_no=Qrtest202009020003”在平台上的“交易状态”



step4 (在9分58秒) 用户在支付宝的密码键盘上输入支付密码(说明:请手快点操作,受网络等因素限制)



step5 (超过订单有效期10mins,即在11mins) 查看“out_order_no=Qrtest202009020003”在平台上的“交易状态”是否为“交易关闭”;“在支付宝的密码键盘上输入支付密码是否能够支付成功”

支付宝

A.【步骤1、2、3操作后】:

  • 交易号:TAD20003075200902000005

  • 交易状态:进行中



B.【步骤4、5操作后】:

  • 交易号:TAD20003075200902000005

  • 交易状态:交易关闭

  • 支付宝输入密码进行支付后,支付宝报错:“订单已超时,不能付款(即用户未付款)”

--------------------

微信

A.(略写步骤1、2、3)

【步骤4、5操作后】:

Copyright reserved for SnapPay Inc 2019.