支付宝支付配置踩过的坑

在调用支付宝支付时出现以下错误:
这里写图片描述

在参考了官方给出的排错文档之后(RSA2私钥填写错误报错集合),依旧没有找出问题所在。

最后通过一步步断点调试发现,原来在项目配置商户私钥的时候是直接读取的.pem私钥文件的,该商户私钥文件中已经包含了“BEGIN”头和“END”尾,而官方提供的SDK中的AopClient.php文件的sign方法里面有这么一段代码:
AopClient.php文件的sign函数
即该参数只需商户私钥的正文部分,头尾部分程序已经自动帮我们加上了。

于是,我将.pem文件的头尾去掉后保存重新读取,发现还是报同样的错误。经过一番调试,原来是我的编辑器在保存的时候自动在文件末尾增加一行空白行,经过sign函数后,该商户私钥补上了头和尾,然而“END”尾前多了一行空白行,导致最后的签名参数值为空字符串。去除该空白行后,一切运行顺利。

建议配置支付宝支付配置的时候采用文本方式读取,尽量不要以读文件的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值