微信支付接口升级(开通微信代金券)第一步:获取微信沙盒签名

这里首先感谢下我们技术老大刘元明,在其帮助下,踩了无数坑才成功理清微信接口升级的全部流程。


吐槽:微信官方文档写得简直是高山流水,望而却步,让人看得头皮发麻。

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:附送微信官方说法

微信小程序招商- 关于接口升级:开发人员根据用例完成验收测试:https://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf;如何接入沙箱?及沙箱**获取(沙箱秘钥替换原本用来生成sign的api秘钥)参考验收指引:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=23_1;用例代码部分参考对应api文档:https://pay.weixin.qq.com/wiki/doc/api/index.html 完成验收后登陆:商户平台 → 产品中心 → 我的产品,点击“免充值代金券 / 免充值立减与折扣”开通