微信支付 沙箱测试

48次阅读
没有评论

获取 getsignkey 地址 https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey

可以使用工具postman或者postman的浏览器插件进行调试

postman请求可以参考:https://www.hehuapei.com/wxpay-shabox-apikey/index.html

签名参数: mch_id :商户号, nonce_str:随机字符串 ,key:支付密钥
按签名生成算法生成sign签名,生成XML数据如下,POST到上面的网址:

<xml> 
<mch_id>1360000000</mch_id>
<nonce_str>bcdefghij</nonce_str> 
<sign>86C722734C38BF200EFEB40A48185FD2</sign> 
</xml> 
正常过返回数据:
<xml>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[ok]]></return_msg>
  <sandbox_signkey><![CDATA[30224720be75183d6d7a62d779****f]]></sandbox_signkey>
</xml>

沙箱提交地址(微信API文档更新了,但是页面未更新,次为坑一)在跟微信支付客服交流后得到如下沙箱数据

坑一:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=23_1的测试用例内提示的API地址是错误的,获取signkey和提交地址都是错的

新的用例文档和沙箱说明http://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf

正确如下

( 1) 调用刷卡支付 api( https://api.mch.weixin.qq.com/sandboxnew/pay/micropay),
( 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)查询退款结果。

测试用例
测试时不能随意指定金额,只能使用指定的金额

正常用例:

订单金额0.01元
订单金额0.02元,含0.01元代金券
订单金额0.03元,含0.01元代金券和0.02元免充值现金券
异常用例:

订单金额0.3元,返回USERPAYING
订单金额0.31元,用户支付成功,微信返回超时
订单金额0.32元,用户支付失败,微信返回超时
订单金额0.33元,微信支付超时,且查单失败
订单金额0.34元,含0.01元代金券,微信支付返回超时
订单查询的坑:
return_code:通信标识
result_code:业务结果
这两个都返回SUCCESS,订单也不一定成功,在查询接口中还有一个trade_state字段,表示真正的结果

正文完