给这家公司做各大场景的支付 涉及到微信内置H5支付 其他浏览器唤醒微信客户端支付 PC扫码支付 和支付宝相应的支付,但今天进行PC扫码支付时遇到一些编码问题,流程能走通。
调试错误,请回到请求来源地,重新发起请求。
错误代码 ILLEGAL_SIGN
ILLEGAL_SIGN
出现签名错误,请按照下面检查:
1.检查安全校验码是否正确,有没有空格,安全校验码是由数字和字母组成的32位字符串。
2.检查所有参数是否都有填写信息,即有值。
3.检查所有参数是否有包含空格(空格的表示有:“ ”、“+”、“%40”),若有空格,需全部去掉。
4.检查所有参数是否有自定义参数存在,若有,须全部去掉。
5.检查检查编码格式是否一致,参数值中是否出现乱码
6.把参数签名的所有参数打印出来,检查加密的所有参数(即参数组里的所有参数)在加密之前的排序功能是否运行正常,即函数是否正确;排序需要遵循的是把所有参数要从字母a到z的顺序进行排序(不包括https://mapi.alipay.com/cooperate/gateway.do?
<https://mapi.alipay.com/cooperate/gateway.do>,及参数sign、sign_type、key);
7.检查加密的所有参数(即参数组里的所有参数)与URL传递的参数是否一致。
这是官网给出的答案,其实 答案也在里边 因为整个平台是GBK编码都得需要转。
自己偷取了巧 直接设置头部
if ($payment == 'alipay'){
header("Content-type:text/html;charset=utf-8");
//支付宝
$pay->alinative($out_trade_no,$subject,$total_fee);
前提条件是数据正常