[PHP]微信红包接口实践说明 CA证书出错 签名错误
1. 在微信支付的商户平台,在[API安全]中下载API证书,将下载的证书(apiclient
_cert.pem/apiclient_key.pem/roota.pem)放在服务器上,确定并记录存放路径(2中会用);
2. 在php的curl中增加如下设置,其中CURLOPT_SSLCERT/ CURLOPT_SSLKEY/ CURLOPT_CAINFO的中设置路径分别对应1中的三个pem文件:
//因为微信红包在使用过程中需要验证服务器和域名,故需要设置下面两行
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 只信任CA颁布的证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配
curl_setopt($ch,CURLOPT_SSLCERT,'/xxx/xxx /apiclient_cert.pem');
curl_setopt($ch,CURLOPT_SSLKEY,'/xxx/xxx/apiclient_key.pem');
curl_setopt($ch, CURLOPT_CAINFO, '/xxx/xxx/rootca.pem'); // CA根证书(用来验证的网站证书是否是CA颁布)
(curl设置摘自:http://www.cnblogs.com/kangjin0828/p/4517657.html)
3. 借助于微信平台提供的签名接口调试工具:https://pay.weixin.qq.com/wiki/tools/signverify/进行签名的调试,可以根据红包接口自定义参数,需要注意的是,接口里部分参数会是中文,在验证签名步骤是否正确时,最好都设置为英文或数字,确保签名通过后再设置为中文:
4. 签名步骤验证通过后,将中文参数设置进去,进行测试,微信红包接口中,中文的编码方式为utf-8,如果确定编码方式已经是utf-8,则不需要encode;
5. 在调试过程中,常见错误就是“CA证书出错”和 “签名错误”,解决方式如下:
CA证书出错
说明没有设置CA证书或者在curl设置时路径有问题;
签名错误
原因一:md5前没有按照接口要求整理数据,如:
key在md5时没有没有按规则排列,在联合密钥key时,要注意整理成: XX&$key=XXX;
原因二:key值要取商户API密钥,如果是首次使用的话,虽然说默认是商户号,但是还是要重新设置一下,这里简单一句,实际调试的时候就是因为这个原因,花了大半天工夫 …(⊙_⊙;)…
在调试过程中,遇到相同的问题,到网上搜搜,虽然搜到的很多都只是只字片语,但还是会给自己一些启发,希望上述总结能对后来的亲有帮助( *^_^* )
[PHP]微信红包接口实践说明 CA证书出错 签名错误相关推荐
- php 微信支付 ca证书,微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书...
微信红包接口调试过程中一直提示"CA证书出错,请登陆微信支付商户平台下载证书",经反复调试,大致解决方法如下: 1.首先确保CA证书的路径是否正确,一定得是绝对路径,因为是PHP开 ...
- java 微信转账 ca_error_对接微信红包时:CA证书出错,请登录微信支付商户平台下载证书...
今天在对接微信支付的微信红包发放时,出现""CA证书出错,请登录微信支付商户平台下载证书"的错误,特此记录一下: 如果你也在对接微信红包,并且你也在这个页面上下载了dem ...
- 微信jssdk ios下报config invalid signature签名错误问题 Android正常
微信jssdk ios下报config invalid signature签名错误问题 Android正常 最近Taro项目出于安全考虑,所有上传图片的地方都要改为,先把图片上传到微信服务器,然后根据 ...
- php 微信 ca证书出错,升级CA颁发的证书后微信退款、红包等无法使用
前几天申请了新的微信支付商户号,按照流程申请了权威CA颁发的API证书,使用原来一直能正常使用(发红包.退款)的代码,发现新申请的微信支付无法运行退款接口,错误提示:certificate not m ...
- java调用微信红包接口_java调用微信现金红包接口的心得与体会
这几天看了下以前写的有关微信支付的博客,看的人仍是挺多的,看了下留言不知道是由于博客写的不够细仍是什么状况,大多都找我要源码,我以为吧程序员仍是须要有这么一个思考的过程,所以没直接给源码,俗话说&qu ...
- 微信红包接口 java_java调用微信现金红包接口的心得与体会总结
这几天看了下之前写的有关微信支付的博客,看的人还是挺多的,看了下留言不知道是因为博客写的不够细还是什么情况,大多都找我要源码,我觉得吧程序员还是需要有这么一个思考的过程,因此没直接给源码,俗话说&qu ...
- php 微信支付 ca证书,微信企业付款 CA证书出错,请登录微信支付商户平台下载证书...
用的easywechat 代码: namespace App\Http\Controllers; use Illuminate\Http\Request; use EasyWeChat\Factory ...
- C# 微信JS-SDK之config接口注入权限验证invalid signature签名错误
文章目录 1.开发环境 2.我的代码 3.问题描述 4.问题分析 5.问题根源 6.解决办法 记一次使用微信JS-SDK分享接口,config接口注入权限验证失败, 提示invalid signatu ...
- android 微信支付,body为中文字符,签名错误
微信支付订单生产方法: /*** 根据您的订单信息 生成 微信产品支付订单信息*/private String createWeChatOrder() {StringBuffer xml = new ...
最新文章
- ubuntu下关于 undefined reference to 'pcap_flex'错误 以及 无法导入/找到libpcap.so.1错误...
- Autohotkey puretext
- 老板扣了我1000,因为我没记住阿里巴巴开发手册的这条规则。
- opencv用haartraining训练出现的一些问题
- python类和函数_构建程序. Python中的类和函数
- 前端基础-html-段落标签
- java 分层领域模型_Java领域模型 | 学步园
- 【Elasticsearch】如何在 Elasticsearch 中轻松编写脚本
- 计算机级用英语怎么说,计算机国家一级用英语怎么说
- 几个容易混淆的对齐概念
- 【操作系统/OS笔记17】文件系统基本概念、文件描述符、文件系统访问、文件别名、文件系统种类
- 用友u8怎么导出凭证_CASE11 用友U8导入期初档案凭证批量作废编辑自动现流(5/5)...
- 第一次申请去美国面签,需要注意哪些事项提高成功率?
- 精美个人导航html源码
- python将字典按行或按列写入csv文件
- dad my_My dad英语绘本.ppt
- win7更改锁屏壁纸-强迫症系列
- http服务器究竟做了什么(一)
- python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器
- 山东大学软件学院概率论与数理统计