问题描述:调用商家支付到零钱接口,总是提示 http status = 401 UNAUTHORIZED
我们商家这边,现在使用的是 api v2 key , 同时也申请了 api v3 key,一直使用商家支付证书是 apiclient_cert.p12
已经从 apiclient_cert.p12 中通过命令行提取出 证书私钥 文件 rsa_private_pkcs8.pem
商家支付到零钱接口地址: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_1.shtml
按文档上的参数要求,生成签名字符串,以下代码
使用证书私钥 rsa_private_pkcs8.pem 生成 privateKey对象,并base64生成加密后的签名字符串,代码如下:
代码写法,来源于接口文档
按文档上的要求,生成 auth字符串,代码如下
代码原型,来源于在线文档,其中mchMPId 是商家号,servicelNo是商
按文档上的要求,生成head头里的 authorization ,代码如下
开始调用商家支付到零钱接口,采用restTemplae调用方式,代码如下
总是提示,http status = 401 UNAUTHORIZED
使用postman,导入技术客服给的postman 脚本,测试私钥的正确性,也是没有问题的,如下图
使用postman ,直接调用商家支付到零钱,还是提示http status = 401 UNAUTHORIZED
跟技术客服沟通了一个星期了,也找不出问题来,
以前那个个【企业支付到零钱接口】,一直用得很好,最近得知,这个接口取消掉了,改成了现在的 【商家支付到零钱的接口】,说是 api v3接口,还专门去申请了一个api v3 key,但我从接口文档中发现, 这个api v3 key一直没有用上,
从私钥文件,生成出来的 private Key代码,是技术客服人员提供的一个专门jar包,maven配置如下
<dependency>
<groupId>com.github.wechatpay-apiv3</groupId>
<artifactId>wechatpay-apache-httpclient</artifactId>
<version>0.4.8</version>
</dependency>
你好,请问解决了吗?
我也遇到一样的问题,死活都是返回401
这个版本,比我引用的还要低。
重点不在这里,
重点是,我想知道问题在哪里?
为什么我按文档上所做的,最后是这样的错误的结果