PC电脑端支付宝扫码付款出现编码错误提示原因

给这家公司做各大场景的支付 涉及到微信内置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);

 前提条件是数据正常

原文地址:https://www.cnblogs.com/buxiangxin/p/8315328.html