帝国cms对接微信官方支付v3的微信支付签名验证失败解决办法(supe对接支付宝微信官方支付说明文档)
时间:2024年04月11日
/来源:网络
/编辑:佚名
!!!注意,由于低版本的PHP没有内置libsodium-php组件,为了省事,请直接把PHP版本切换到PHP7.3即可。
记得修改/e/config/config.php文件里 数据库类型为 mysqli(supe.78moban.com模板已经适配PHP7.x)
本身我帝国cms用的PHP版本是5.6比较老,由于php版本5.6,比较旧的版本,按照提示安装的libsodium-php,扩展成功。
运行代码后还是失败。
继续折腾,
PHP有专门的命令处理,不需要使用JAVA环境,官方库地址:https://github.com/wechatpay-apiv3/wechatpay-guzzle-middleware/tree/master/tool
注意一下:第一次获取时候,命令的最后一个参数:-c不需要,否则会出现这个签名验证失败问题问题!
> php tool/CertificateDownloader.php
Usage: 微信支付平台证书下载工具 [-hV] [-c=<wechatpayCertificatePath>]
-f=<privateKeyFilePath> -k=<apiV3key> -m=<merchantId>
-o=<outputFilePath> -s=<serialNo>
-m, --mchid=<merchantId> 商户号
-s, --serialno=<serialNo> 商户证书的序列号
-f, --privatekey=<privateKeyFilePath>
商户的私钥文件
-k, --key=<apiV3key> ApiV3Key
-c, --wechatpay-cert=<wechatpayCertificatePath>
微信支付平台证书,验证签名
-o, --output=<outputFilePath>
下载成功后保存证书的路径
-V, --version Print version information and exit.
-h, --help Show this help message and exit.
完整命令示例:
php tool/CertificateDownloader.php -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath}
我的命令参考:
php tool/CertificateDownloader.php -k 65lkUfUb6A4bCo84yqeGkYKs7ua5bC9N -m 1609486679 -f /www/wwwroot/a.78moban.com/public/e/extend/twoir/config/cert/wechat/apiclient_key.pem -s 4B610484999BE8CC028735C39DA37E013C0D0AAA -o /www/wwwroot/a.78moban.com/public/e/extend/twoir/config/cert/wechat /www/wwwroot/a.78moban.com/public/e/extend/twoir/config/cert/wechat/apiclient_cert.pem
最后还是不行,那干脆一不做二不休,PHP直接切换到7.3,运行命令,搞定!
命令运行路径
/www/wwwroot/a.78moban.com/public/e/extend/twoir/vendor/wechatpay/wechatpay-guzzle-middleware
下边就是supe范文付费复制下载doc/PDF模板一些主要控制参数配置说明:
可以切换虎皮椒支付宝/微信或者官方支付宝/微信支付接口
小伙伴不懂的可以找专业人士拿教程,或者代安装。
本插件一些配置主要文件位置:
/api/
/e/class/connect.php 自动加载功能,第10行左右
/e/extend/twoir
其中/e/extend/twoir/alipay/wechat配置文件地址:e/extend/twoir/config
证书文件地址:/e/extend/twoir/config/cert/
/skin/default/
关于积分扣点复制下载
可以新建字段userfen
这个有设置就走这里,没有设置就走默认设置,虎皮椒插件默认设置位置: /e/extend/twoir/class/Controller/Payment.php 调试支付金额可以修改文件e\extend\twoir\class\HupiPay\Client.php 116行
如此设置就是扫码支付的金额是后台设置的金额/100 官方支付插件位置: /e/extend/twoir/src/AliPay/Client.php 62行
//金额转为 元转元为单位, 演示 / 10
$add = array_merge($add, ['total_amount' => $buygroup['gmoney'] / 10, 'subject' => $buygroup['gname']]);
$result = call_user_func_array([AliPay::instance(), $name], [$add]);
说明:程序支持微信、支付宝官方支付接口另外还支持虎皮椒支付接口。 功能上,正文复制收费(可单篇,可包月),正文自动生成word/PDF下载,增加付费权限,付费后可复制及下载word/pdf,支持word/pdf文档中添加自定义广告。 未注册用户,开通包月会员会自动开通赠送一个VIP账户
已注册用户,选择开通包月会员,会自动升级成VIP包月会员。
用户在用户中心可选择充值购买点数,文章可设置积分扣费(可单篇设置,可批量设置),用户有积分的情况下,可积分支付开启复制下载word/pdf文档权限。
记得修改/e/config/config.php文件里 数据库类型为 mysqli(supe.78moban.com模板已经适配PHP7.x)
本身我帝国cms用的PHP版本是5.6比较老,由于php版本5.6,比较旧的版本,按照提示安装的libsodium-php,扩展成功。
运行代码后还是失败。
继续折腾,
PHP有专门的命令处理,不需要使用JAVA环境,官方库地址:https://github.com/wechatpay-apiv3/wechatpay-guzzle-middleware/tree/master/tool
注意一下:第一次获取时候,命令的最后一个参数:-c不需要,否则会出现这个签名验证失败问题问题!
> php tool/CertificateDownloader.php
Usage: 微信支付平台证书下载工具 [-hV] [-c=<wechatpayCertificatePath>]
-f=<privateKeyFilePath> -k=<apiV3key> -m=<merchantId>
-o=<outputFilePath> -s=<serialNo>
-m, --mchid=<merchantId> 商户号
-s, --serialno=<serialNo> 商户证书的序列号
-f, --privatekey=<privateKeyFilePath>
商户的私钥文件
-k, --key=<apiV3key> ApiV3Key
-c, --wechatpay-cert=<wechatpayCertificatePath>
微信支付平台证书,验证签名
-o, --output=<outputFilePath>
下载成功后保存证书的路径
-V, --version Print version information and exit.
-h, --help Show this help message and exit.
完整命令示例:
php tool/CertificateDownloader.php -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath}
我的命令参考:
php tool/CertificateDownloader.php -k 65lkUfUb6A4bCo84yqeGkYKs7ua5bC9N -m 1609486679 -f /www/wwwroot/a.78moban.com/public/e/extend/twoir/config/cert/wechat/apiclient_key.pem -s 4B610484999BE8CC028735C39DA37E013C0D0AAA -o /www/wwwroot/a.78moban.com/public/e/extend/twoir/config/cert/wechat /www/wwwroot/a.78moban.com/public/e/extend/twoir/config/cert/wechat/apiclient_cert.pem
最后还是不行,那干脆一不做二不休,PHP直接切换到7.3,运行命令,搞定!
命令运行路径
/www/wwwroot/a.78moban.com/public/e/extend/twoir/vendor/wechatpay/wechatpay-guzzle-middleware
下边就是supe范文付费复制下载doc/PDF模板一些主要控制参数配置说明:
可以切换虎皮椒支付宝/微信或者官方支付宝/微信支付接口
小伙伴不懂的可以找专业人士拿教程,或者代安装。
本插件一些配置主要文件位置:
/api/
/e/class/connect.php 自动加载功能,第10行左右
/e/extend/twoir
其中/e/extend/twoir/alipay/wechat配置文件地址:e/extend/twoir/config
证书文件地址:/e/extend/twoir/config/cert/
/skin/default/
关于积分扣点复制下载
可以新建字段userfen
这个有设置就走这里,没有设置就走默认设置,虎皮椒插件默认设置位置: /e/extend/twoir/class/Controller/Payment.php 调试支付金额可以修改文件e\extend\twoir\class\HupiPay\Client.php 116行
如此设置就是扫码支付的金额是后台设置的金额/100 官方支付插件位置: /e/extend/twoir/src/AliPay/Client.php 62行
//金额转为 元转元为单位, 演示 / 10
$add = array_merge($add, ['total_amount' => $buygroup['gmoney'] / 10, 'subject' => $buygroup['gname']]);
$result = call_user_func_array([AliPay::instance(), $name], [$add]);
说明:程序支持微信、支付宝官方支付接口另外还支持虎皮椒支付接口。 功能上,正文复制收费(可单篇,可包月),正文自动生成word/PDF下载,增加付费权限,付费后可复制及下载word/pdf,支持word/pdf文档中添加自定义广告。 未注册用户,开通包月会员会自动开通赠送一个VIP账户
已注册用户,选择开通包月会员,会自动升级成VIP包月会员。
用户在用户中心可选择充值购买点数,文章可设置积分扣费(可单篇设置,可批量设置),用户有积分的情况下,可积分支付开启复制下载word/pdf文档权限。
新闻资讯 更多
- 【帝国cms教程】帝国cms对接微信官方支付v3的微信支付签名验证失败解决办法(supe对接支付宝微信官方支付说明文档)04-11
- 【帝国cms教程】帝国cms历史上的今天开发实例/php实现获取农历(阴历)、节日、节气的类与用法示例04-11
- 【帝国cms教程】帝国cms内容页如何随机插入一张图片?04-11
- 【帝国cms教程】帝国cms用php分割/切割数组字段/多值字段并且单个输出04-11
- 【帝国cms教程】帝国cms单页循环调用所有专题/更新时间及对应专题下的文章标题和链接04-11
- 【帝国cms教程】帝国cms封面模板/列表模板获取当前栏目下的子栏目/全部栏目带高亮显示04-11
- 【帝国cms教程】帝国cms同域名用php自动识别PC与移动端进行不同的页面访问04-11
- 【帝国cms教程】帝国cms信息反馈表单怎么做04-11
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8帝国cms后台登录出现”您还未登录”怎么解决?
- 9织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法