||–查看的码友,在不麻烦的情况,如果文章有用,烦请点个赞.如果没用可以留言讨论哦–||

V3官方错误相关文档:https://wechatpay-api.gitbook.io/wechatpay-api-v3/chang-jian-wen-ti/qian-ming-xiang-guan
这个官方的错误文档能够大概给与些排查错误的思路.

在开发接口时一直提示<<签名错误>>
百度,社区 翻了个遍 大概有以下几点需要注意的问题:

1、签名计算为meta的json串:{ “filename”: “111.jpg”, “sha256”: “5vn8zf4WVaXblpnoeovp62sIg1c” }

2、签名的是下载证书中的apiclient_key.pem, 并且不包括-----BEGIN PRIVATE KEY----- 与-----END PRIVATE KEY-----
PHP 推荐使用 openssl_get_privatekey(file_get_contents($cert_path));

3、上传参数meta、file、文件名必须新增双引号
4、 换行符需要包含在 双引号 内
5、必须添加头文件
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36’
Accept:application/json
Content-Type :multipart/form-data。

但是个人情况 按照以上的问题修改完成 依然失败…

最后仔细阅读文档 在错误文档处发现 请求错误的返回提示里 有官方解密的字符串长度
微信验证的字符长度 : “sign_message_length”: 72,
打印本地签名字符串 加密字符串message的长度为 204
发现 微信与当前本地验证的长度并不一致.

而后排查后发现 不是签名的错误 而是body体的发送错误.

微信方 未收到当前发送的body
重新按照官方的排列 仔细重新写了restTemplate请求的body体
最终接口对接完成.

PHP body体的写法

        $params = "--boundary\r\n";$params .= 'Content-Disposition: form-data; name="meta";'."\r\n";$params .= 'Content-Type: application/json'."\r\n";$params .= "\r\n";$params .= $meta."\r\n"; //meta的json字符串$params .=  "--boundary\r\n";$params .= 'Content-Disposition: form-data; name="file"; filename="'.$data['meta']['filename'].'";'."\r\n"; //文件名$params .= 'Content-Type: */*'."\r\n";$params .= "\r\n";$params .= $data['file']."\r\n"; //File的二进制$params .= "--boundary--\r\n";

微信V3接口,图片上传签名错误相关推荐

  1. 微信开发h5图片上传(拍照、图片压缩、IOS照片旋转)

    微信开发h5图片上传 开发环境 vue.js,原生h5 input file, 微信公众号网页 依赖安装 exif-js:IOS下拍照照片的方向有问题, 需要exif-js来读取照片信息进行旋转处理: ...

  2. **微信小程序图片上传+后台PHP修改图片名称**

    微信小程序图片上传+后台PHP修改图片名称 前端代码:比较随意 <view class="weui-uploader"><view class="img ...

  3. 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题

    微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题 参考文章: (1)微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题 (2)https://www.cnblogs.com/co ...

  4. 微信小程序图片上传九宫格拖拽组件

    微信小程序图片上传&九宫格拖拽组件 前言 图片上传加九宫格拖拽是一个比较常用的组件,常用于发帖或者评论等内容上传模块,我这篇九宫格拖拽的思路是借鉴了一款优雅的小程序拖拽排序组件实现这篇文章 实 ...

  5. PHP开发微信支付小微商户V3版本 图片上传、生成签名、平台证书获取、平台证书编号、敏感信息加密

    吐槽一下,看微信支付小微商户的开发文档头都大了,什么是平台证书.什么是商户API证书...... 好了废话不多说下面明确几个名词: 商户API证书:是由权威CA颁发,用于有关微信支付等操作API接口使 ...

  6. 微信小程序图片上传(文字识别)

    要点:OCR文字识别 图片上传 在最近的项目中遇到需要进行OCR识别,中间遇到的坑记录一下 OCR接口:采用百度OCR通用文字识别 在进行调试过程中遇到下列问题: 百度ocr接口1.对图片经行base ...

  7. 微信小程序图片上传、多图拖拽排序功能

    基于movable-view实现的拖拽功能 可以建一个 dragImg的文件 wxml的代码 <view class="container"><movable-a ...

  8. 微信小程序 图片上传与内容安全审核

    文章目录 原由 内容审核种类 小程序云开发 图片检测 创建云函数 编写图片检测代码 小程序图片处理 图片上传 图片压缩 云函数安全检测接入 文本检测 最后的坑 原由 之前有开发一个微信小程序,拥有图片 ...

  9. uniApp 生成微信小程序图片上传提示 fail url not in domain list 的解决方法

    问题表现: uniApp 生成微信小程序,获取内容程序不报错,但是图片上传提示 fail url not in domain list 错误. 问题分析: 微信小程序:服务器域名配置 每个微信小程序需 ...

最新文章

  1. java--设计模式总结
  2. Cocos-2d 坐标系
  3. 操作系统原理之磁盘调度
  4. Git篇——Git使用教程
  5. 配置Bean的作用域对象
  6. 如何调试SAP CRM产品主数据应用后台ABAP端抛出的错误消息
  7. linux怎么远程命令,Linux远程命令
  8. iOS-获取通讯录信息
  9. 安装pycharm报nse.impl.GeneralLicenseManager - No valid license found错解决方案
  10. 阿里巴巴的AI革命 | 4天云栖大会干货总结
  11. 【转载】Linux下rz,sz与ssh的配合使用
  12. emu8086——buf 缓冲区的字节数据排序算法程序
  13. GAN 网络讲解(一):生成式对抗网络(GANs)简介
  14. 修改win10服务器登录密码,玩转Win10密码基础篇:设置修改系统登录密码
  15. Unity动态换装之Spine换装
  16. PDF417美国驾照条形码信息自动识别
  17. 能净化空气的PC电源,配置也很不错,艾湃电竞AP-550Ti体验
  18. [禅悟人生]心不动才能真正认清自己
  19. gulp : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\gulp.ps1
  20. Asymptotic Notation and Recurrences

热门文章

  1. plt 关闭所有图片fig
  2. cocos2dx 圆盘抽奖_easing--缓动函数--贝塞尔函数--圆盘转动抽奖应用
  3. 基于FATFS的SD卡存储
  4. Oracle计算当前日期在N个工作日之后的日期
  5. 剑网三转区显示服务器维护,剑网3:官方保护心悦会员?封锁转服通道,还大力打击工作室...
  6. 微信小游戏跳一跳辅助尝试留言版
  7. imessage_如何防止人们知道您已阅读他们的iMessage
  8. Web视频会议直播中涂鸦和白板交互实现和方法思路
  9. 微信小程序js发送模板消息
  10. Win10桌面图标出现蓝色边框怎么去掉?