A-A+
关于支付宝错误代码 ILLEGAL_SIGN的解决
下载了支付宝接口demo文件,在本地测试正常,但是一旦把配置文件放到项目里面的时候却出现了 调试错误,请回到请求来源地,重新发起请求。错误代码 ILLEGAL_SIGN。
在网上查了一下,原来支付宝的接口是过程化,它里面都是html和php混编,我们只要看其 demo 文件是可以看出来的,在html的头部声明了字符集,所以支付宝demo接口传递的都是其utf-8模式正常,而我的项目使用的是mvc架构,没有声明字符集,导致浏览器以gb2012的默认形式传参过去了,所以导致了 ILLEGAL_SIGN 的错误,如下图:
找到了问题,哪么解决的方法就很简单了,我们只要在其配置文件 alipayapi.php 里面声明一下字符集就OK了。
声明的代码如下:
header("Content-type:text/html;charset=utf-8");
页面文件如下: