微信退款报错 400 the ssl certificatie error / no required SSL certificate was sent ; Guzzle json_encode Type is not supported;
bug随笔
一 起因。
在做一个点餐类小程序,本地测试ok。上测试的时候,突然就报错,微信退款失败。
二 Debug。
1. Debug trace到页面直接显示的是 : Type is not supported。一个莫名其妙的错误。
2. 定位代码,发现用的是 easywechat 库。以为是测试环境 composer 安装错了版本,或依赖库有冲突。于是重新安装,无果。
3. 网上搜罗了一下,Guzzle json_encode Type is not supported; 出来有价值的答案是 StackOverflow的前2条。 仔细看了回答,又对比了代码,发现不了问题。
4. 尝试不用 easywechat库,使用微信支付SDK,结果调用微信退款,报错 400 the ssl certificatie error;
5. 遂在微信开放社区搜索答案,但发现官方回答并不够清晰,很多答案基本是这样,然底下评论都在追问如何填写。
6. 发现是证书路径问题后,决定先使用 file_get_contents() 检查所填路径是否能够读取到文件。结果发现路径下并无文件。
7. 问题一下明确了,再深入排查,发现点餐系统的会将 所填写的微信配置,放入到 runtime/ 里面,然后后台有个清理缓存功能,点了清理后,runtime下所有文件被删除。真相大白。重新将证书放入到此目录后,问题解决。
三 反思。
1. Guzzle json_encode Type is not supported; 这个错误, StackOverflow 给出的解决方案是正确的。但是,并不适合我遇到的情况,尝试了上面给的方案,依旧无效。
2. 微信退款,报错 400 the ssl certificatie error;这个错误的排查方式是:首先,确保 证书 放在了可读写目录,可使用 file_get_contents() 检查所填路径是否能够读取到文件 ;其次,使用SDK时,需要配置 app_id , secret_key,证书路径等参数, 此时最好填上证书的绝对路径。
完。
微信退款报错 400 the ssl certificatie error / no required SSL certificate was sent ; Guzzle json_encode Type is not supported;的更多相关文章
- RSS阅读器“阅读原文”报错400
问题 使用SpringMVC框架,实现了RSS订阅,在FoxMail的RSS订阅页面,点击[阅读原文],报错400 . 每个RSS文章的链接是:https://jiashubing.cn/forum/ ...
- 微信支付报错:统一下单和拉起支付的appid不一致(原创)
微信支付报错:统一下单和拉起支付的appid不一致 错误码:-2 提示参考: 参考统一下单的API (谦信君原创,转载请注明来源) 原因排查: 我们做的是APP微信支付 客户端向我服务端发请求,获取预 ...
- 使用yum安装应用程序时候,报错:[Errno 14] PYCURL ERROR 7 - "Failed to connect to 2001:da8:8000:6023::230: 网络不可达"
使用yum安装应用程序时候,报错:[Errno 14] PYCURL ERROR 7 - "Failed to connect to 2001:da8:8000:6023::230: 网络不 ...
- 【Xamarin报错】 COMPILETODALVIK : UNEXPECTED TOP-LEVEL error java.lang.OutOfMemoryError: Java heap space
Xamarin Android 编译报错: COMPILETODALVIK : UNEXPECTED TOP-LEVEL error java.lang.OutOfMemoryError: Java ...
- 11gR2数据库日志报错:Fatal NI connect error 12170、
11gR2数据库日志报错:Fatal NI connect error 12170.TNS-12535.TNS-00505 [问题点数:100分,结帖人MarkIII] 不显示 ...
- sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0
sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0 问题描述: 使用sqlplus客户端登录数据库,报 ...
- 巨坑npm run dev 报错 终于找到正确答案 Error: EPERM: operation not permitted, open '/data/public/build/css/add.p
Windows10环境 npm run dev 报错 终于找到正确答案 Error: EPERM: operation not permitted, open '/data/public/build ...
- 配置web pack loader 报错:Module build failed: Error: The node API for `babel` has been moved to `babel-core`.
报错如下 Module build failed: Error: The node API for `babel` has been moved to `babel-core`. 在我配置loader ...
- mysql报错sql injection violation, syntax error: syntax error, expect RPAREN, actual IDENTIFIER
mysql报错sql injection violation, syntax error: syntax error, expect RPAREN, actual IDENTIFIER 处理,在控制台 ...
- service mysqld start 报错:service mysqld start 报错 090517 13:34:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 090Can't open the mysql.plugin table. Please run mysql
service mysqld start 报错 090517 13:34:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_ ...
随机推荐
- navicat无法识别登录秘钥
前因 公司数据库未开放外网访问端口,只允许内网登录,这对开发人员查看数据很不友好,所以一般情况下都会让开发人员通过navicat的ssh隧道功能来查看数据. 但在测试ssh隧道过程中,私钥1验证通过, ...
- Python elasticsearch_dsl 报错及解决方法
Exception:maxClauseCount is set to 1024 原因:报错原因是Search限制一个bool查询中最多只能有1024个值或子查询,当超过1024时,会抛出异常. 解决办 ...
- windows下搭建h5游戏小小火影教程【附安装包】
小小三国是一款很好玩的H5游戏.只需要用一台64位的windows电脑或服务器,你就可以和朋友们一起联机玩这个游戏了.本文将会教你如何搭建这个游戏,步骤如下. 1.下载好后你会看到该压缩包 2.解压到 ...
- appium:报错Message: Message: Parameters were incorrect. We wanted {"required":["value"]}
python版本3.7.4,selenium版本4.0.0,Appium-Python-Client版本2.0.0,报错见标题 别人给出的建议:https://blog.csdn.net/liangs ...
- 遍历operation
std::ostringstream out; double f8Value; NXOpen::CAM::CAMSetup *camSetup = displayPart->CAMSetup() ...
- Vue I18n Vue.js 的国际化插件+elementUI的使用
先附上插件官网 vue-i18n中文官网 我们的vue项目需要支持多语言时,可以使用这个插件 安装插件教程在官网可以找到 代码结构可以如下 zh.js 查看代码 export default { lo ...
- Python的入门学习Day 19~21——form”夜曲编程“
..Day 19 time:2021.8.16. 很神奇地,编程和数学渐渐有了交集--今天学习了函数,连模样都像 f(x) 的形式.比较有区分度的是,在P里,"x"被称为&qu ...
- 亲测:一个完整Vue开发环境搭建。
参考博客飞机: https://www.cnblogs.com/zhaomeizi/p/8483597.html
- KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复
案例说明: KingbaseES V8R6在通过sys_rman执行物理备份恢复时,可以通过参数'--kb1-path',指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空 ...
- keycloak 找出特定客户端权限的user 配置OTP
背景:项目组中有用到keycloak给两个应用进行登录认证使用.其中有一个应用放在公网,安全部门同事说 不能直接账号密码登录,容易破解,需要进行二次验证. 刚好查到keycloak支持OTP(one ...