支付宝 错误代码 ILLEGAL_SIGN

签名异常,不解释。

静排查。可导入异常的参数有

body

subject

一开始以为长度限制,因为官方文档申明

body (string 1000)

subject (string 256)

截取,依旧出问题

经各种排查,发现问题原因为参数出现特殊字符。现提供特殊字符的过滤处理

处理一:

		$parameter['subject']=preg_replace('/s/', '', $parameter['subject']);
		$parameter['body']=preg_replace('/s/', '', $parameter['body']);

处理二:

		//限制提交字符长度
		//过滤特殊字符 s 否则识别有问题
		$parameter['subject']= preg_split('/[^())(【】.!!w+-*^x{4e00}-x{9fa5}]+/u', $parameter['subject']);
		$parameter['subject']=implode(' ', $parameter['subject']);
		$parameter['body']= preg_split('/[^())(【】.!!w+-*^x{4e00}-x{9fa5}]+/u', $parameter['body']);
		$parameter['body']=implode(' ', $parameter['body']);

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

发表评论

电子邮件地址不会被公开。 必填项已用*标注