收藏
回答

商家支付到零钱问题,提示http status = 401 UNAUTHORIZED?

问题描述:调用商家支付到零钱接口,总是提示 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>


回答关注问题邀请回答
收藏

3 个回答

  • Memory
    Memory
    2022-11-04

    用这个sdk他不香嘛https://github.com/wechatpay-apiv3/wechatpay-java

    2022-11-04
    有用 1
    回复 10
    • 豆豆
      豆豆
      2022-11-04
      用了技术推荐的sdk也是没有用的,一个星期过去了,没有调通过。项目严重滞后。
      2022-11-04
      回复
    • 豆豆
      豆豆
      2022-11-04
      只是想要一个商家支付到零钱的功能,为什么就不能提供一个完整的示例,而要让开发者去东拼西凑,最后问题还是不找到根源。
      正常来了,每发起一笔测试,微信平台那边就会有一笔日志,难道技术人员通过日志无法判别,具体是什么原因吗?
      要么是指出是私钥的问题,要么就指出是head头指定的问题,要么指出是哪个参数出了问题?
      结果的结论是:不了了之
      这是最让人接受不了的。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      2022-11-04
      回复
    • 豆豆
      豆豆
      2022-11-04
      私钥证书,通过postman脚本来确认,是没有问题的。
      拼接所有报文头,也是严格按文档要求来做的,就是调不通,而且不给解决,这让接口使用者,如何解决这个问题??????????????????????????????????????????????????????????????????????????????????????????????????????????????
      2022-11-04
      回复
    • Memory
      Memory
      2022-11-05回复豆豆
      如果不愿意用sdk想要自己写,能不能带着脑子认真阅读文档呢?
      2022-11-05
      回复
    • 豆豆
      豆豆
      发表于移动端
      2022-11-05回复Memory
      你是客服吧? 你这说话的态度,是不对的。 如果能良好的互动,问题早就解决了, 一问一答,不就解决问题了吗, 代码接口都是你们提供给客户的,多问一句,你们都嫌烦,客户就是小白,我亦如此,如果我一看就明白的话,我就不麻烦你们了
      2022-11-05
      回复
    查看更多(5)
  • jimmy
    jimmy
    2023-04-28

    你好,请问解决了吗?

    我也遇到一样的问题,死活都是返回401

    2023-04-28
    有用
    回复
  • 豆豆
    豆豆
    2022-11-04

    这个版本,比我引用的还要低。


    重点不在这里,

    重点是,我想知道问题在哪里?


    为什么我按文档上所做的,最后是这样的错误的结果

    2022-11-04
    有用
    回复
登录 后发表内容