在调用 /v3/transfer/batches 接口前,调用了/v3/certificates 接口 获取微信支付平台证书序列号 是没有问题的,调用这个接口签名是用同样的方法做的,结果有返回序列号,这个序列号给 /v3/transfer/batches 接口里的 Wechatpay-Serial header, 然后下面就调用 /v3/transfer/batches,数据如下面,但是总是返回400,直接报错,不是返回什么错误信息的json数据
这是原始数据,要进行签名
{"appid":"wxXXXXX15e640dbd","out_batch_no":"19300056120001","batch_name":"20230904扫码抢红包","batch_remark":"促销扫码抢红包","total_amount":100,"total_num":0,"transfer_detail_list":[{"out_detail_no":"19300056120001001","transfer_amount":100,"transfer_remark":"扫码得红包","openid":"xxxQE6Qa3quHW4rbETqvnWN3xt3w","user_name":""}],"transfer_scene_id":""}
这是签名后 加上 WECHATPAY2-SHA256-RSA2048 放到header Authorization 里
WECHATPAY2-SHA256-RSA2048 mchid="XXX660164",nonce_str="gvshvzcn.ayq",timestamp="1693895120",serial_no="XXX5068BB85575FCFB926A048BE08509530E9DA",signature="Gaiaw6XF9L7D2lrWwsA0YU71ulWYMLK6kpZIgVYehYMWH/epytxhb2ryZW1XpWZ9lzoor4Ue4rsG0ruWjwY07xECYl53aUKOPk2Kd7QtTJpajauhPB4CoyrYpLmJmWO6KxiBBAwJ8KXpT82uoXEJswrjCf8qIxzrS0Gbt9gH9Rd/JbcFacad1t37pgymxbd1vPorDUGBTFtK0SkpzgLCQA+1DQG/G96AvDWZf7rM3qWiwzskoUNEdE5m0os9TOiu4wqV2FKOlSLBmNqA3jun5reoWL7aZNhvKpfPzbaJs9eDMdJstl4LefPo67dO1zGjgjzqLUJoVj1cat5puKPV/Q=="
但是程序就是一直放回400 错误,不知道什么原因,格式是按照接口的格式来的
楼主,咋解决的?
我用的是 https://api.mch.weixin.qq.com/v3/transfer/batches 这个接口
至少调通过一个接口没有?
应该是你用的组件,默认给你加了授权参数。你看下这个:https://developers.weixin.qq.com/community/develop/article/doc/00080c7ec781106b3c9bdc72853413