免充值产品测试验收用例的wechatpay-axios-plugin教学帖
社区内大佬们都有贡献 「免充值代金券」 的测试用例实现,这篇文章也来凑一下热闹,顺带帮你把一下为啥要做这个 「测试验收」 以及 「验收注意」 细节。
引言
官方用例文档链接 一共25页,非常详细,照着描一步步做,很快就能验收完。本篇作为「教学帖」,试着让友商们理解,这个验收的重要性,如果希望能够获取帮助直接验收,请阅读代金券接口升级验收脚本 用例组合1001+1002+1003+1004+1005。
安装nodejs sdk
本篇以 wechatpay-axios-plugin
这款开发包展开,详细介绍可阅读 从APIv3到APIv2再到企业微信,这款微信支付开发包的README你应该来读一读。
|
|
v0.6系列做了返回数据签名强校验
,以下示例代码需要做特殊处理,本篇以v0.5.5展开。
获取沙箱密钥
先要理解,沙箱环境是个仿真环境,不是生产环境,友商朋友们应该做环境隔离。起步需要商户使用生产环境的 API秘钥
,去获取沙箱秘钥
,后续所有沙箱环境
操作都要使用由沙箱秘钥
生成的数据签名sign
。
|
|
1001 付款码(刷卡)支付
订单金额 5.01
元,其中 0.01
元使用免充值券,用户实际支付 5.00
元。验证商户具备正确解析及识别免充值代金券字段的能力。
1001.1 请求支付
|
|
打印日志应如下:
1 2 3 4 5 6 7 |
┌──────────────┬────────┐ │ (index) │ Values │ ├──────────────┼────────┤ │ 代金券金额 │ '1' │ │ 应结订单金额 │ '500' │ │ 订单金额 │ '501' │ └──────────────┴────────┘ |
1001.2 获取支付结果
|
|
打印日志应如下:
1 2 3 4 5 6 7 8 9 10 |
┌────────────────────┬───────────┐ │ (index) │ Values │ ├────────────────────┼───────────┤ │ 代金券金额 │ '1' │ │ 应结订单金额 │ '500' │ │ 订单金额 │ '501' │ │ 单个代金券支付金额 │ '1' │ │ 代金券类型 │ 'NO_CACH' │ │ 代金券使用数量 │ '1' │ └────────────────────┴───────────┘ |
1002 付款码(刷卡)支付退款
订单金额 5.02
元,其中 0.01
元使用免充值代金劵,实际支付 5.01
元,退款查询升级。
1002.1 请求支付
|
|
打印日志应如下:
1 2 3 4 5 6 7 |
┌──────────────┬────────┐ │ (index) │ Values │ ├──────────────┼────────┤ │ 代金券金额 │ '1' │ │ 应结订单金额 │ '501' │ │ 订单金额 │ '502' │ └──────────────┴────────┘ |
1002.2 获取支付结果
|
|
打印日志应如下:
1 2 3 4 5 6 7 8 9 10 11 |
┌────────────────────┬───────────────────────┐ │ (index) │ Values │ ├────────────────────┼───────────────────────┤ │ 商户订单号 │ 'SD1618966329677_502' │ │ 代金券金额 │ '1' │ │ 应结订单金额 │ '501' │ │ 订单金额 │ '502' │ │ 单个代金券支付金额 │ '1' │ │ 代金券类型 │ 'NO_CACH' │ │ 代金券使用数量 │ '1' │ └────────────────────┴───────────────────────┘ |
1002.3 请求退款
|
|
打印日志应如下:
1 2 3 4 5 6 7 8 |
┌────────────────────┬─────────────┐ │ (index) │ Values │ ├────────────────────┼─────────────┤ │ 退款金额 │ '502' │ │ 标价金额 │ '502' │ │ 现金支付金额 │ '501' │ │ 现金退款金额 │ '501' │ └────────────────────┴─────────────┘ |
1002.4 获取退款结果
|
|
1003 JSAPI/APP/Native支付
订单金额 5.51
元,其中 0.01
元使用免充值券,实际支付 5.50
元。 验证正常支付流程,商户使用免充值代金券支付。
1003.1 统一下单
|
|
1003.2 获取支付结果
|
|
1004 JSAPI/APP/Native支付退款
订单金额 5.52
元,其中 0.01
元使用免充值券,实际支付 5.51
元。
1004.1 统一下单
|
|
1004.2 获取支付结果
|
|
1004.3 请求退款
|
|
打印日志应如下:
1 2 3 4 5 6 7 8 |
┌─────────────────┬──────────┐ │ (index) │ Values │ ├─────────────────┼──────────┤ │ 退款金额 │ '552' │ │ 标价金额 │ '552' │ │ 现金支付金额 │ '551' │ │ 现金退款金额 │ '551' │ └─────────────────┴──────────┘ |
1004.4 获取退款结果
|
|
1005 交易对账单下载
使用了免充值券的订单,免充值券部分的金额不计入结算金额。验证商户对账能正确理解到这一点,对账无误。这里预期会返回 1269
条明细数据。
汇总结果:总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金额,申请退款金额。
这里数据应为:
1
|
1269, `10.79, `5.93, `0.24, `0.0,`11.27, `6.37 |
|
|
打印日志形如:
1 2 3 4 5 6 7 |
交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,应结订单金额,代金券金额,微信退款单号,商户退款单号,退款金额,充值券退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率,订单金额,申请退款金额,费率备注 `2016-05-04 02:18:18,`wxf7c30a8258df4208,`10014843,`0,`harryma007,`4.00123E+27,`autotest_20160501030456_45023,`oT2kauIMXH398DZBeJ4m22CuSDQ0,`NATIVE,`REFUND,`PAB_DEBIT,`CNY,`0,`0,`2.00123E+27,`REF4001232001201605015390231647,`0.01,`0,`ORIGINAL,`PROCESSING,`body中文测试,`attach中文测试,`0,`0.60%,`0,`0.01,` `2016-05-04 02:18:18,`wxf7c30a8258df4208,`10014843,`0,`harryma007,`4.00123E+27,`autotest_20160501060418_79156,`oT2kauIMXH398DZBeJ4m22CuSDQ0,`NATIVE,`REFUND,`PAB_DEBIT,`CNY,`0,`0,`2.00123E+27,`REF4001232001201605015391766944,`0.01,`0,`ORIGINAL,`PROCESSING,`body中文测试,`attach中文测试,`0,`0.60%,`0,`0.01,` ... 14:51:51,`wxf7c30a8258df4208,`10014843,`0,`harryma8888,`4.00968E+27,`wxautotest1462344441,`oT2kauGtJag902bjdvevrJbpGuxo,`NATIVE,`SUCCESS,`CMBC_CREDIT,`CNY,`0.05,`0.01,`0,`0,`0,`0,`中文[body],`测试中文[attach],`0,`0.60%,`0.05,`0,` 总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金额,申请退款总金额 1269,`10.79,`5.93,`0.24,`0,`11.27,`6.37 |
一铲到底
以下是一键验收全流程的一个魔性 chain
到底的实现,感谢您阅读至此。本文如果对你开通 「免充代金券」 功能有帮助,那就来个赞呗。
文章作者 James
上次更新 2021-05-10