【服务商商户】开通免充值业务功能 API 接口升级 测试用例

免充值产品测试验收用例
目录
1.测试验收目的..............................................................................................................................3
2.测试验收注意事项......................................................................................................................3
2.1 测试前,请先查询你需要做哪些用例验收.........................................................................3
2.2 执行沙箱用例前,需要先获取沙箱秘钥.............................................................................3
2.3 建议在测试环境进行测试......................................................................................................3
2.4 微信支付沙箱环境...................................................................................................................3
2.5 测试时不产生实际扣款..........................................................................................................4
2.6 主动检查验收结果...................................................................................................................4
3.测试用例.......................................................................................................................................4
3.1 【1001-可选用例-刷卡正常支付】 ....................................................................................4
3.1.1 用例简述 ............................................................................................................................. 4
3.1.2 测试准备 ............................................................................................................................. 4
3.1.3 测试步骤 ...............................................................................................................................4
3.1.4 预期返回 ...............................................................................................................................5
3.2【1002-可选用例-刷卡支付退款】 .......................................................................................8
3.2.1 用例简述 ...............................................................................................................................8
3.2.2 测试准备 .............................................................................................................................. 8
3.2.3 测试步骤 .............................................................................................................................. 8
3.2.34 预期返回 ............................................................................................................................ 8
3.3 【1003-可选用例-公众号/APP/扫码正常支付】 ...........................................................14
3.3.1 用例简述 ............................................................................................................................ 14
3.3.2 测试准备 ............................................................................................................................ 15
3.3.3 测试步骤 ............................................................................................................................ 15
3.3.4 预期返回 ............................................................................................................................ 15
3.4 【1004-可选用例-公众号/APP/扫码支付退款】 ...........................................................18
3.4.1 用例简述 ............................................................................................................................ 18
3.4.2 测试准备 ............................................................................................................................ 18
3.4.3 测试步骤 ............................................................................................................................ 18
3.4.4 预期返回 ............................................................................................................................ 19
3.5【1005-必选用例-交易对账单下载】 .................................................................................24
3.5.1 用例简述 ............................................................................................................................ 24
3.5.2 测试准备 ............................................................................................................................ 24
3.5.3 测试步骤 ............................................................................................................................ 25
3.5.4 预期返回 ............................................................................................................................ 25
1.测试验收目的
开通免充值业务功能后, “下载对账单,刷卡支付、公众号/APP/扫码支付,订单查询,申请
退款,查询退款,支付通知” 等接口均存在部分字段变更。测试验收可以帮助商户理解接口变
更字段,以确保商户和用户正常使用微信支付。
2.测试验收注意事项
2.1 测试前,请首先确认需要做哪些验收用例
商户根据已接入的支付方式,选择对应的验收用例:
① 如接入的支付方式是刷卡,则需要完成刷卡正常支付( 1001)、刷卡支付退款( 1002) 、
交易对账单下载( 1005) 的验收用例;
② 如接入的支付方式是公众号/APP/扫码支付, 则需要完成公众号/APP/扫码正常支付
( 1003)、公众号/APP/扫码支付退款( 1004) 、 交易对账单下载( 1005) 的验收用例;
③ 以上所有支付方式都有的商户,完成①、②的任意一组即可通过验收, 商户如已接入或使用
某项支付功能,但省略不做对应的验收用例,未能有效获知各接口字段变动情况,相关风险由
商户自行承担。
2.2 执行沙箱用例前,需要先获取沙箱秘钥
商户需要使用生产环境的 API 秘钥,去获取沙箱秘钥(沙箱秘钥只需取得一次即可),后续所
有沙箱操作都要使用由沙箱秘钥的生成的 SIGN,获取沙箱秘钥的 api 是
https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey(获取秘钥请参考开发者文
档中“获取验签秘钥 API” 部分)。
2.3 建议在测试环境进行测试
商户测试尽量在测试环境进行。如果使用正式环境,请确保不要影响正常支付交易。
2.4 微信支付沙箱环境
微信支付沙箱环境(也是下文中提到的仿真系统)为商户的开发人员提供,用于模拟支付及回
调通知,验证商户是否理解回调通知、 字段含义、 账单格式等。
2.5 测试时不产生实际扣款
沙箱测试过程中, 不会产生银行卡或零钱真实扣款。
2.6 主动检查验收结果
验收测试完成后,需要主动到商户平台查询验收结果,以确认完成了所有测试工作。
3.测试用例
3.1 【1001-可选用例-刷卡正常支付】
3.1.1 用例简述
订单金额 5.01 元,其中 0.01 元使用免充值券,实际支付 5.00 元。
验证商户具备正确解析及识别免充值代金券字段的能力。
3.1.2 测试准备
( 1)开通刷卡支付;
( 2)注意该用例不产生实际扣款;
( 3)确保程序中所有调微信支付的 api 都增加了/sandboxnew/路径,已对接仿真系统。
3.1.3 测试步骤
( 1)手机客户端进入“微信->我->钱包->付款” 获取支付条码;
( 2)在收银台输入订单金额为 5.01 元,扫码枪扫描上述条码(此操作可选,若扫码时出现二
维码失效提示, 则忽略此提示,不影响测试结果),完成支付(或直接组包调用刷卡 api, htt
ps://api.mch.weixin.qq.com/sandboxnew/pay/micropay);
( 3)根据商户内部单号( out_trade_no),调查单 api( https://api.mch.weixin.qq.com/s
andboxnew/pay/orderquery)查询订单状态,与商户自有订单的关键信息进行核对。
3.1.4 预期返回
( 1)支付成功,微信支付会单独返回免充值券信息,建议商户侧关注如下红色字体字:
<xml>
<coupon_fee><![CDATA[1]]></coupon_fee>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<nonce_str><![CDATA[d62f0krt9c1z5qalwlhsotridb345gl0]]></nonce_str>
<time_end><![CDATA[20160905155845]]></time_end>
<sign><![CDATA[2BF16C0961C55E17D9946A2D9D3308D2]]></sign>
<fee_type><![CDATA[CNY]]></fee_type>
<attach><![CDATA[sandbox_attach]]></attach>
<device_info><![CDATA[1000212]]></device_info>
<out_trade_no><![CDATA[janetest1234560]]></out_trade_no>
<transaction_id><![CDATA[20160905155845398976765]]></transaction_id>
<trade_type><![CDATA[micropay]]></trade_type>
<return_code><![CDATA[SUCCESS]]></return_code>
<err_code_des><![CDATA[ok]]></err_code_des>
<mch_id><![CDATA[1232599101]]></mch_id>
<settlement_total_fee><![CDATA[500]]></settlement_total_fee>
<cash_fee><![CDATA[500]]></cash_fee>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<return_msg><![CDATA[OK]]></return_msg>
<bank_type><![CDATA[CMC]]></bank_type>
<total_fee><![CDATA[501]]></total_fee>
<appid><![CDATA[wx0eed0443e779b781]]></appid>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
( 2)查单成功,重点核对下面红色字体字段是否正确。 api 返回报文样例:
<xml>
<coupon_fee><![CDATA[1]]></coupon_fee>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<nonce_str><![CDATA[d62f0krt9c1z5qalwlhsotridb345gl0]]></nonce_str>
<time_end><![CDATA[20160905161807]]></time_end>
<sign><![CDATA[AA6C1538B9966CA4B23D63BC1CA1A539]]></sign>
<trade_state_desc><![CDATA[ok]]></trade_state_desc>
<trade_state><![CDATA[SUCCESS]]></trade_state>
<coupon_id_0><![CDATA[10000]]></coupon_id_0>
<coupon_fee_0><![CDATA[1]]></coupon_fee_0>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<attach><![CDATA[sandbox_attach]]></attach>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[janetest1234560]]></out_trade_no>
<transaction_id><![CDATA[sandbox_transaction_id]]></transaction_id>
<openid><![CDATA[wxd930ea5d5a258f4f]]></openid>
<trade_type><![CDATA[MICROPAY]]></trade_type>
<return_code><![CDATA[SUCCESS]]></return_code>
<mch_id><![CDATA[1232599101]]></mch_id>
<settlement_total_fee><![CDATA[500]]></settlement_total_fee>
<cash_fee><![CDATA[500]]></cash_fee>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<return_msg><![CDATA[OK]]></return_msg>
<bank_type><![CDATA[CMC]]></bank_type>
<coupon_type_0><![CDATA[NO_CASH]]></coupon_type_0>
<total_fee><![CDATA[501]]></total_fee>
<appid><![CDATA[wx0eed0443e779b781]]></appid>
<coupon_count><![CDATA[1]]></coupon_count>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
注意:
a、 Total_fee 为订单总金额, total_fee=coupon_fee+cash_fee;
b、免充值券不参与结算。因此对使用了免充值券的支付单,结算金额取 settlement_total_fee,
而非 total_fee。
3.2【1002-可选用例-刷卡支付退款】
3.2.1 用例简述
订单金额 5.02 元, 其中 0.01 元使用免充值代金劵,实际支付 5.01 元,退款查询升级。
3.2.2 测试准备
( 1)开通刷卡支付;
( 2)注意该用例不产生实际扣款;
( 3)确保程序中所有调微信支付的 api 都增加了/sandboxnew/路径,已对接仿真系统。
3.2.3 测试步骤
( 1) 调用刷卡支付 api( https://api.mch.weixin.qq.com/sandboxnew/pay/micropay),
进行 5.02 元的订单支付;
( 2)根据商户内部单号( out_trade_no),调查单 api
( https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery)查询订单状态;
( 3)根据商户内部单号( out_trade_no),调用退款 api
( https://api.mch.weixin.qq.com/sandboxnew/pay/refund)进行退款;
( 4)根据商户内部单号( out_trade_no),调用退款查询 api
( https://api.mch.weixin.qq.com/sandboxnew/pay/refundquery)查询退款结果。
3.2.4 预期返回
( 1)支付成功,微信支付会单独返回免充值券信息,建议商户侧关注如下红色字体字段区别:
<xml>
<coupon_fee><![CDATA[1]]></coupon_fee>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<nonce_str><![CDATA[1418201653]]></nonce_str>
<time_end><![CDATA[20160919174513]]></time_end>
<sign><![CDATA[41B58A59D3376E376B1702D01B21EBC0]]></sign>
<fee_type><![CDATA[CNY]]></fee_type>
<attach><![CDATA[sandbox_attach]]></attach>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[sandbox_test_502]]></out_trade_no>
<transaction_id><![CDATA[20160919174513427771419]]></transaction_id>
<trade_type><![CDATA[micropay]]></trade_type>
<return_code><![CDATA[SUCCESS]]></return_code>
<err_code_des><![CDATA[ok]]></err_code_des>
<mch_id><![CDATA[1232599101]]></mch_id>
<settlement_total_fee><![CDATA[501]]></settlement_total_fee>
<cash_fee><![CDATA[501]]></cash_fee>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<return_msg><![CDATA[OK]]></return_msg>
<bank_type><![CDATA[CMC]]></bank_type>
<total_fee><![CDATA[502]]></total_fee>
<appid><![CDATA[wxf7c30a8258df4208]]></appid>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
( 2)查单成功,重点核对下面红色字体字段是否正确。 api 返回报文样例:
<xml>
<openid><![CDATA[wxd930ea5d5a258f4f]]></openid>
<trade_type><![CDATA[micropay]]></trade_type>
<coupon_fee><![CDATA[1]]></coupon_fee>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<settlement_total_fee><![CDATA[501]]></settlement_total_fee>
<nonce_str><![CDATA[1441658924]]></nonce_str>
<return_code><![CDATA[SUCCESS]]></return_code>
<time_end><![CDATA[20160920144227]]></time_end>
<mch_id><![CDATA[1232599101]]></mch_id>
<trade_state_desc><![CDATA[ok]]></trade_state_desc>
<trade_state><![CDATA[SUCCESS]]></trade_state>
<sign><![CDATA[3ADC450966AA8218302D525F9C009277]]></sign>
<cash_fee><![CDATA[501]]></cash_fee>
<coupon_type_0><![CDATA[NO_CASH]]></coupon_type_0>
<coupon_id_0><![CDATA[10000]]></coupon_id_0>
<coupon_fee_0><![CDATA[1]]></coupon_fee_0>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<return_msg><![CDATA[OK]]></return_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<bank_type><![CDATA[CMC]]></bank_type>
<attach><![CDATA[sandbox_attach]]></attach>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[sandbox_test_502]]></out_trade_no>
<transaction_id><![CDATA[sandbox_transaction_id]]></transaction_id>
<total_fee><![CDATA[502]]></total_fee>
<appid><![CDATA[wxf7c30a8258df4208]]></appid>
<coupon_count><![CDATA[1]]></coupon_count>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
( 3)退款成功,重点核对下面红色字体字段是否正确。 api 返回报文样例:
<xml>
<openid><![CDATA[wxd930ea5d5a258f4f]]></openid>
<trade_type><![CDATA[micropay]]></trade_type>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<refund_id><![CDATA[1234567892016091920022876534]]></refund_id>
<cash_refund_fee><![CDATA[501]]></cash_refund_fee>
<nonce_str><![CDATA[1441745409]]></nonce_str>
<return_code><![CDATA[SUCCESS]]></return_code>
<refund_fee_type><![CDATA[CNY]]></refund_fee_type>
<mch_id><![CDATA[1232599101]]></mch_id>
<sign><![CDATA[7548DEE53DBA6FC8DBAE0A35F2FA753E]]></sign>
<cash_fee><![CDATA[501]]></cash_fee>
<refund_fee><![CDATA[502]]></refund_fee>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<cash_refund_fee_type><![CDATA[CNY]]></cash_refund_fee_type>
<return_msg><![CDATA[OK]]></return_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<bank_type><![CDATA[CMC]]></bank_type>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[sandbox_test_502]]></out_trade_no>
<transaction_id><![CDATA[12345678920160919200228765343338]]></transaction_i
d>
<total_fee><![CDATA[502]]></total_fee>
<appid><![CDATA[wxb27eed1719f0a0fc]]></appid>
<out_refund_no><![CDATA[autotest_refund_20150909045009_77868]]></out_refund
_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
( 4)退款查单成功,重点核对下面红色字体字段是否正确。 api 返回报文样例:
<xml>
<openid><![CDATA[wxd930ea5d5a258f4f]]></openid>
<trade_type><![CDATA[micropay]]></trade_type>
<refund_status_0><![CDATA[SUCCESS]]></refund_status_0>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<nonce_str><![CDATA[1441658924]]></nonce_str>
<return_code><![CDATA[SUCCESS]]></return_code>
<coupon_refund_id_0_0><![CDATA[12345]]></coupon_refund_id_0_0>
<mch_id><![CDATA[1232599101]]></mch_id>
<refund_recv_accout_0><![CDATA[招商银行信用卡 0403]]></refund_recv_accout_0>
<refund_count><![CDATA[1]]></refund_count>
<settlement_total_fee><![CDATA[501]]></settlement_total_fee>
<coupon_refund_fee_0><![CDATA[1]]></coupon_refund_fee_0>
<coupon_type_0_0><![CDATA[NO_CASH]]></coupon_type_0_0>
<out_refund_no_0><![CDATA[sandbox_out_refund_no]]></out_refund_no_0>
<cash_fee><![CDATA[501]]></cash_fee>
<coupon_refund_fee_0_0><![CDATA[1]]></coupon_refund_fee_0_0>
<refund_fee_0><![CDATA[502]]></refund_fee_0>
<sign><![CDATA[2BCC8C33DDE633D8C864F0C8738DC11B]]></sign>
<refund_id_0><![CDATA[1234567892016091917393987358]]></refund_id_0>
<settlement_refund_fee><![CDATA[501]]></settlement_refund_fee>
<refund_channel_0><![CDATA[ORIGINAL]]></refund_channel_0>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<rate><![CDATA[1.0]]></rate>
<return_msg><![CDATA[OK]]></return_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<bank_type><![CDATA[CMC]]></bank_type>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[sandbox_test_502]]></out_trade_no>
<transaction_id><![CDATA[12345678920160919173939873582099]]></transaction_i
d>
<total_fee><![CDATA[502]]></total_fee>
<appid><![CDATA[wxf7c30a8258df4208]]></appid>
<coupon_refund_count_0><![CDATA[1]]></coupon_refund_count_0>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
3.3 【1003-可选用例-公众号/APP/扫码正常支付】
3.3.1 用例简述
订单金额 5.51 元,其中 0.01 元使用免充值券,实际支付 5.50 元。
验证正常支付流程,商户使用免充值代金券支付。
3.3.2 测试准备
( 1)开通公众号/AP/扫描支付;
( 2)注意该用例不产生实际扣款;
( 3)确保程序中所有调微信支付的 api 都增加了/sandboxnew/路径,已对接仿真系统。
3.3.3 测试步骤
( 1)用客户端扫码,选择商品下单(此操作可选,若扫码时出现二维码过期等提示, 则忽略该
提示,不影响测试结果),调起微信支付交易确认页( 支付时出现收银台 total_fee 错误可忽
略,因为微信支付生产环境里不存在此笔沙箱订单, 所以会有此错误提示) ,或直接组包调用
统一下单 api( https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder);
( 2)根据商户内部单号( out_trade_no),调用查单 api
( https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery)查询订单状态,与商户
自有订单的关键信息进行核对。
3.3.4 预期返回
( 1)支付成功。支付成功通知样例:
<xml>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]></nonce_str>
<openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid>
<out_trade_no><![CDATA[1409811653]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[B552ED6B279343CB493C5DD0D78AB241]]></sign>
<sub_mch_id><![CDATA[10000100]]></sub_mch_id>
<time_end><![CDATA[20140903131540]]></time_end>
<total_fee>551</total_fee>
<cash_fee>550</cash_fee>
<coupon_fee>1</coupon_fee>
<coupon_count>1</coupon_count>
<coupon_fee_0>1</coupon_fee_0>
<coupon_type_0>NOCASH</coupon_type_0>
<coupon_fee_0>1</coupon_fee_0>
<trade_type><![CDATA[APP]]></trade_type>
<transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
</xml>
( 2)查单成功,重点核对下面红色字体字段是否正确。 API 返回报文样例:
<xml>
<coupon_fee><![CDATA[1]]></coupon_fee>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<nonce_str><![CDATA[d62f0krt9c1z5qalwlhsotridb345gl0]]></nonce_str>
<time_end><![CDATA[20160905161807]]></time_end>
<sign><![CDATA[AA6C1538B9966CA4B23D63BC1CA1A539]]></sign>
<trade_state_desc><![CDATA[ok]]></trade_state_desc>
<trade_state><![CDATA[SUCCESS]]></trade_state>
<coupon_id_0><![CDATA[10000]]></coupon_id_0>
<coupon_fee_0><![CDATA[1]]></coupon_fee_0>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<attach><![CDATA[sandbox_attach]]></attach>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[janetest1234560]]></out_trade_no>
<transaction_id><![CDATA[sandbox_transaction_id]]></transaction_id>
<openid><![CDATA[wxd930ea5d5a258f4f]]></openid>
<trade_type><![CDATA[APP]]></trade_type>
<return_code><![CDATA[SUCCESS]]></return_code>
<mch_id><![CDATA[10000100]]></mch_id>
<settlement_total_fee><![CDATA[550]]></settlement_total_fee>
<cash_fee><![CDATA[550]]></cash_fee>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<return_msg><![CDATA[OK]]></return_msg>
<bank_type><![CDATA[CMC]]></bank_type>
<coupon_type_0><![CDATA[NO_CASH]]></coupon_type_0>
<total_fee><![CDATA[551]]></total_fee>
<appid><![CDATA[wx0eed0443e779b781]]></appid>
<coupon_count><![CDATA[1]]></coupon_count>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
3.4 【1004-可选用例-公众号/APP/扫码支付退款】
3.4.1 用例简述
订单金额 5.52 元,其中 0.01 元使用免充值券,实际支付 5.51 元。
3.4.2 测试准备
( 1)开通公众号/APP/扫描支付;
( 2)注意该用例不产生实际扣款;
( 3)确保程序中所有调微信支付的 api 都增加了/sandboxnew/路径,已对接仿真系统。
3.4.3 测试步骤
( 1)进行 5.52 元的订单支付;
( 2)根据商户内部单号( out_trade_no),调查单 api
( https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery)进行查询,与商户自有
订单的关键信息进行核对;
( 3)根据商户内部单号( out_trade_no),调用退款 api
( https://api.mch.weixin.qq.com/sandboxnew/pay/refund)进行退款;
( 4)根据商户内部单号( out_trade_no),调用退款查询 api
( https://api.mch.weixin.qq.com/sandboxnew/pay/refundquery)查询退款结果。
3.4.4 预期返回
( 1)支付成功,微信支付会单独返回免充值券信息,建议商户侧关注如下红色字体字段区别:
<xml>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]></nonce_str>
<openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid>
<out_trade_no><![CDATA[sandbox_test_552]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[B552ED6B279343CB493C5DD0D78AB241]]></sign>
<sub_mch_id><![CDATA[10000100]]></sub_mch_id>
<time_end><![CDATA[20140903131540]]></time_end>
<total_fee>552</total_fee>
<cash_fee>551</cash_fee>
<coupon_fee>1</coupon_fee>
<coupon_count>1</coupon_count>
<coupon_fee_0>1</coupon_fee_0>
<coupon_type_0>NO_CASH</coupon_type_0>
<coupon_fee_0>1</coupon_fee_0>
<trade_type><![CDATA[APP]]></trade_type>
<transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
</xml>
( 2)查单成功,重点核对下面红色字体字段是否正确。 api 返回报文样例:
<xml>
<openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid>
<trade_type><![CDATA[APP]]></trade_type>
<coupon_fee><![CDATA[1]]></coupon_fee>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<settlement_total_fee><![CDATA[551]]></settlement_total_fee>
<nonce_str><![CDATA[d62f0krt9c1z5qalwlhsotridb345gl0]]></nonce_str>
<return_code><![CDATA[SUCCESS]]></return_code>
<time_end><![CDATA[20140903131660]]></time_end>
<mch_id><![CDATA[10000100]]></mch_id>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<trade_state_desc><![CDATA[ok]]></trade_state_desc>
<trade_state><![CDATA[SUCCESS]]></trade_state>
<sign><![CDATA[3ADC450966AA8218302D525F9C009277]]></sign>
<cash_fee><![CDATA[551]]></cash_fee>
<coupon_type_0><![CDATA[NO_CASH]]></coupon_type_0>
<coupon_id_0><![CDATA[10000]]></coupon_id_0>
<coupon_fee_0><![CDATA[1]]></coupon_fee_0>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<return_msg><![CDATA[OK]]></return_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<bank_type><![CDATA[CMC]]></bank_type>
<attach><![CDATA[sandbox_attach]]></attach>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[sandbox_test_552]]></out_trade_no>
<transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
<total_fee><![CDATA[552]]></total_fee>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<coupon_count><![CDATA[1]]></coupon_count>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
( 3)退款成功,重点核对下面红色字体字段是否正确, api 返回报文样例:
<xml>
<openid><![CDATA[wxd930ea5d5a258f4f]]></openid>
<trade_type><![CDATA[APP]]></trade_type>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<refund_id><![CDATA[1234567892016091920022876534]]></refund_id>
<cash_refund_fee><![CDATA[551]]></cash_refund_fee>
<nonce_str><![CDATA[1441745409]]></nonce_str>
<return_code><![CDATA[SUCCESS]]></return_code>
<refund_fee_type><![CDATA[CNY]]></refund_fee_type>
<mch_id><![CDATA[10000100]]></mch_id>
<sign><![CDATA[7548DEE53DBA6FC8DBAE0A35F2FA753E]]></sign>
<cash_fee><![CDATA[551]]></cash_fee>
<refund_fee><![CDATA[552]]></refund_fee>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<cash_refund_fee_type><![CDATA[CNY]]></cash_refund_fee_type>
<return_msg><![CDATA[OK]]></return_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<bank_type><![CDATA[CMC]]></bank_type>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[sandbox_test_552]]></out_trade_no>
<transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
<total_fee><![CDATA[552]]></total_fee>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<out_refund_no><![CDATA[autotest_refund_20150909045009_77868]]></out_refund
_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
( 4) 退款查单成功,重点核对下面红色字体字段是否正确。 api 返回报文样例:
<xml>
<openid><![CDATA[wxd930ea5d5a258f4f]]></openid>
<trade_type><![CDATA[APP]]></trade_type>
<refund_status_0><![CDATA[SUCCESS]]></refund_status_0>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<nonce_str><![CDATA[1441658924]]></nonce_str>
<return_code><![CDATA[SUCCESS]]></return_code>
<coupon_refund_id_0_0><![CDATA[12345]]></coupon_refund_id_0_0>
<mch_id><![CDATA[1232599101]]></mch_id>
<refund_recv_accout_0><![CDATA[招商银行信用卡 403]]></refund_recv_accout_0>
<refund_count><![CDATA[1]]></refund_count>
<settlement_total_fee><![CDATA[551]]></settlement_total_fee>
<coupon_refund_fee_0><![CDATA[1]]></coupon_refund_fee_0>
<coupon_type_0_0><![CDATA[NO_CASH]]></coupon_type_0_0>
<out_refund_no_0><![CDATA[sandbox_out_refund_no]]></out_refund_no_0>
<cash_fee><![CDATA[551]]></cash_fee>
<coupon_refund_fee_0_0><![CDATA[1]]></coupon_refund_fee_0_0>
<refund_fee_0><![CDATA[552]]></refund_fee_0>
<sign><![CDATA[2BCC8C33DDE633D8C864F0C8738DC11B]]></sign>
<refund_id_0><![CDATA[1234567892016091917393987358]]></refund_id_0>
<settlement_refund_fee><![CDATA[551]]></settlement_refund_fee>
<refund_channel_0><![CDATA[ORIGINAL]]></refund_channel_0>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<rate><![CDATA[1.0]]></rate>
<return_msg><![CDATA[OK]]></return_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<bank_type><![CDATA[CMC]]></bank_type>
<device_info><![CDATA[sandbox]]></device_info>
<out_trade_no><![CDATA[sandbox_test_552]]></out_trade_no>
<transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
<total_fee><![CDATA[552]]></total_fee>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<coupon_refund_count_0><![CDATA[1]]></coupon_refund_count_0>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>
3.5【1005-必选用例-交易对账单下载】
3.5.1 用例简述
使用了免充值券的订单,免充值券部分的金额不计入结算金额。
验证商户对账能正确理解到这一点,对账无误。
3.5.2 测试准备
确保程序中所有调微信支付的 api 都增加了/sandboxnew/路径,已对接仿真系统。
3.5.3 测试步骤
( 1)调用对账单下载接口,下载对账单,其中下载对账单总单时 bill_type=ALL,下载对账单
交易成功单时 bill_type=SUCCESS,下载对账单退款单时 bill_type=REFUND,链接样例:
https://api.mch.weixin.qq.com/sandboxnew/pay/downloadbill;
( 2)检查账单返回文件字段,结算金额=订单总金额-免充值券金额。
3.5.4 预期返回
( 1)如果下载的是对账单总单,则有如下返回项:
交易时间,公众账号 ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交
易状态,付款银行,货币种类,应结订单金额,代金券金额,微信退款单号,商户退款单号,退款金额,充
值代金券退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率,订单金额, 申请退款
金额,费率备注。这里预期会返回 1269 条数据。
汇总结果:总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金
额,申请退款金额。
这里数据应为: `1269, `10.79, `5.93, `0.24, `0.0,`11.27, `6.37。
( 2)如果下载的是对账单交易成功单,则有如下返回项:
交易时间,公众账号 ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交
易状态,付款银行,货币种类,应结订单金额,代金券金额, 商品名称, 商户数据包,手续费,费率,订
单金额,费率备注。这里预期会返回 752 条数据。
汇总结果:总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金
额,申请退款总金额。
这里数据应为: `752,`10.79, `0, `0, `0.00000, `11.27, `0。
( 3)如果下载的是对账单退款单,则有如下返回项:
交易时间,公众账号 ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交
易状态,付款银行,货币种类,应结订单金额,代金券金额, 商品名称, 商户数据包,手续费,费率,订
单金额,费率备注。这里预期会返回 517 条数据。
汇总结果:总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金
额,申请退款总金额。
这里数据应为: `517, `0, `5.93, `0.24, `0.00000, `0, `6.37。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值