问题
支付宝PC扫码支付,在Safari上验签失败,其他浏览器正常,报错:“invalid-signature 错误原因: 验签出错”。
原因
编码格式不同,导致中文乱码出现,参数验证签名失败
解决方式
添加form 标签属性 accept-charset="UTF-8" οnsubmit="document.charset='UTF-8'"
设置提交格式
可以从后端获取到form表单后,替换进行response.data.detail.replace('<form', '<form accept-charset="UTF-8" οnsubmit="document.charset=\'UTF-8\'"')
参考
支付宝PC扫码支付或H5支付,浏览器form表单提交(中文乱码),出现验签失败问题(invalid-signature)