这里首先感谢下我们技术老大刘元明,在其帮助下,踩了无数坑才成功理清微信接口升级的全部流程。
吐槽:微信官方文档写得简直是高山流水,望而却步,让人看得头皮发麻。
ps:如果是没有后台代码或开发人员的朋友,请联系我qq2294974790,可以帮忙开通(收费80:需要商户号和微信秘钥)
好了,言归正传,接下来我就详细的谈谈微信接口升级,并开通代金券的详细流程
1.首先阅读关于接口升级文档,这里以JAVA的版本为例
接口升级一共只有6个接口需要升级,开发人员可根据需要自行选择对应接口升级
注意:!!!微信所有需要升级的接口都只是增加了返回参数,是否能成功测试通过"代金券验收"并没有影响!!!
1下载对账单(TM的就是下载账号downbill方法)
2刷卡支付
3订单查询
4申请退款
5查询退款
6支付通知
具体新增字段请参接口升级文档
接来下是重点,如何通过测试用例!
首先第一步:获取微信沙箱秘钥! 必须要获取,不然测试会让你头皮发麻,这是最重要的操作
这是微信官方的获取方式,接下来我会告诉你具体怎么操作这个;
首先我们需要获取微信的签名!然后再用微信的签名去签名!
先再微信支付官网下载一个微信支付的Demo。(sdk)
在WXPayUtil这个类里面创建一个这个方法,StringUtil是common.lang包
里面的url是https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey;
首先注意这段params.put("sign", WXPayUtil.generateSignature(params, config.getKey()));
里面的参数mch_id是商户号 nonce_str是随机字符串 sign是获得的第一次的签名
WXPayUtil.generateSignature(params, config.getKey())是获得第一次的签名的具体方法
接着你会这3个参数去请求sandboxnew(沙盒)的微信
String strXML = wxPay.requestWithoutCert("https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey",params, config.getHttpConnectTimeoutMs(), config.getHttpReadTimeoutMs());
这个strXML微信返回给你参数集合用的XML格式
然后你仅仅需要将strXML转化为Map集合 并取出“sandbox_signkey”便可以成功获得微信的sandboxnew(沙盒)签名!
Map<String, String> result = WXPayUtil.xmlToMap(strXML);
result.get("sandbox_signkey");
ps:附送微信官方说法