`

[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密钥,如果是首次使用的话,虽然说默认是商户号,但是还是要重新设置一下,这里简单一句,实际调试的时候就是因为这个原因,花了大半天工夫 …(⊙_⊙;)…

 

 

在调试过程中,遇到相同的问题,到网上搜搜,虽然搜到的很多都只是只字片语,但还是会给自己一些启发,希望上述总结能对后来的亲有帮助( *^_^* )

  • 大小: 38.1 KB
分享到:
评论

相关推荐

    php实现微信红包接口

    利用php技术简单实现微信红包接口,关注得红包的demo 很不错的

    weixin, 微信裂变红包&微信红包接口&企业付款.zip

    微信裂变红包、微信红包接口和企业付款是微信支付服务中的关键组成部分,这些功能为企业和个人提供了丰富的互动和营销工具。本文将深入探讨这三个概念及其在实际应用中的技术实现。 一、微信裂变红包 微信裂变红包...

    微信红包接口 for Thinpkp3.2.3封装

    微信红包接口是微信支付服务的一种重要组成部分,它允许开发者在自己的应用程序中集成微信红包功能,让用户可以在社交场景中发送和接收红包。对于 Thinphp 3.2.3 这个轻量级 PHP 框架,封装微信红包接口意味着将微信...

    微信现金红包接口开发

    微信现金红包接口开发是微信支付平台提供的一项服务,允许开发者集成到自己的应用程序中,以便用户可以向其他用户发送或接收红包。在这个过程中,开发者需要熟悉微信支付API的使用,理解红包业务逻辑,并能够处理...

    微信红包封面制作小程序源码 新手小白适用

    微信红包封面制作小程序源码。新手小白适用微信红包封面制作小程序源码。新手小白适用微信红包封面制作小程序源码。新手小白适用微信红包封面制作小程序源码。新手小白适用微信红包封面制作小程序源码。新手小白适用...

    微信红包接口调用

    微信现金红包接口调用,如果下载以后觉得对你有用请给个好评点个赞

    微信发红包开发接口ThinkPHP3.1版本

    微信发红包功能是微信支付平台提供的一项服务,允许开发者通过接口在自己的应用中实现发放红包的功能。本项目基于ThinkPHP3.1框架,为开发者提供了一种简单易整合的微信红包发放解决方案。以下将详细解释相关知识点...

    微信红包接口基于Thinpkp3.2.3封装

    微信红包接口基于 Thinphp3.2.3 封装是一个常见的技术实践,它涉及到微信支付API的使用、PHP编程以及框架的应用。 Thinphp 是一个轻量级的PHP框架,适用于快速开发小型Web应用,而微信红包接口则是微信支付服务的一...

    PHP微信红包生成代码分享

    主要介绍了PHP微信红包API接口,针对PHP微信公众号自动发送红包API,PHP微信红包API接口的主要代码进行分析,感兴趣的小伙伴们可以参考一下

    html+css+js 仿微信红包

    "html+css+js 仿微信红包"这个项目旨在利用这三种语言的特性,模拟微信红包的发送和接收过程,提供一种类似实际应用的学习和实践场景。 首先,HTML(HyperText Markup Language)是网页内容的基础结构框架,它定义...

    微信红包营销系统php版v1.0

    适用范围:微信红包营销系统|1分钱微信红包系统|1块钱微信红包营销系统 运行环境:PHP5.2 MYsql(php版本为版主调试的时候确定的版本,请一定注意) 程序介绍:7月最新微信红包营销系统|1分钱微信红包系统|1块钱微信...

    Asp微信支付接口V5_Asp微信支付接口V5_

    Asp微信支付接口V5是针对ASP(Active Server Pages)开发环境设计的一种微信支付解决方案,它使得ASP开发者能够轻松地集成微信支付功能到他们的网站或应用程序中。在使用这个接口时,开发者需要对微信支付的相关协议...

    微信发送红包证书

    总的来说,实现“微信发送红包证书”涉及了Java编程、数字证书管理、微信支付API的使用、网络安全以及前后端交互等多个方面的知识。开发者需要具备扎实的技术基础,同时对金融交易的安全规范有深入的理解,才能成功...

    java 微信退款接口

    总结来说,Java微信退款接口涉及到的技术点有Java网络编程、HTTPS安全通信、PKCS12证书管理、数字签名、JSON数据处理以及错误处理。理解并熟练掌握这些知识,将有助于开发者成功实现微信退款功能。

    .net版微信红包开发Demo

    综上所述,.NET版微信红包开发Demo是一个实践性的项目,涵盖了接口调用、参数配置、红包逻辑、异常处理等多个方面,对于想学习微信支付集成和红包功能开发的.NET开发者来说,是一个很好的学习资源。通过深入理解和...

    微信支付 微信红包 JAVA 几行代码搞定

    本文将详细讲解如何使用JAVA实现微信支付、扫码支付和微信红包的接口调用,以及如何进行验签操作,使得整个支付流程安全可靠。 首先,微信支付涉及到的主要接口包括统一下单接口、查询订单接口、退款接口等。统一...

    微信红包API事例

    - `rootca.pem`:这是根证书,用于验证微信服务器的身份,确保通信安全。开发者需要信任这个根证书,才能验证微信服务器返回的签名是否有效。 3. **证书使用说明**: - `证书使用说明.txt`:这个文件提供了如何...

    自动抢微信红包.zip

    自动抢微信红包.zip自动抢微信红包.zip自动抢微信红包.zip自动抢微信红包.zip 自动抢微信红包.zip自动抢微信红包.zip自动抢微信红包.zip自动抢微信红包.zip 自动抢微信红包.zip自动抢微信红包.zip自动抢微信红包.zip...

    微信红包助手_Android版1.2.zip

    微信红包助手是一款针对Android平台开发的应用程序,版本号为1.2,主要功能是自动领取微信中的红包。这款APP利用了Android系统提供的Accessibility服务来实现这一功能,它是一款无广告、无病毒的安全软件,保证了...

Global site tag (gtag.js) - Google Analytics