支付宝错误代码 ILLEGAL_SIGN
反复检查过ID、安全码,确定没填错啊。是V5.0系统,求助啊啊啊啊啊啊啊啊啊ILLEGAL_SIGN意思是 签名验证出错 ,检查看看
tian0220 发表于 2015-1-9 11:44
ILLEGAL_SIGN意思是 签名验证出错 ,检查看看
不好意思啊,还是不太明白,我检查了ID、KEY还有支付宝账户那个邮箱,都填写正确啊,可是就是一提交充值就“错误代码 ILLEGAL_SIGN ”
本帖最后由 heaven 于 2015-1-9 12:15 编辑
该错误的引起因素有好几点http://blog.163.com/dreamman_yx/ ... 894201042041555671/
ILLEGAL_SIGN,签名错误。说明程序计算出来的sign和支付宝计算结果不匹配。出现这种错误的情况很多,比如签名的排序错误,安全校验码填写 错误,net。Java程序中没有制定编码。
angelci79 发表于 2015-1-9 11:49
不好意思啊,还是不太明白,我检查了ID、KEY还有支付宝账户那个邮箱,都填写正确啊,可是就是一提交充值 ...
该错误的引起因素有好几点:
1、传递的参数有空值。在支付宝的支付请求url中,某个参数是空值。这样空值在经过md5签名以后,比对会报错,所以请注意您传递过来的url中无空值。建议检查您购物车的支付宝代码,例如:subject=“shop”而非subject= “”
2、程序中安全校验码填写错误(请务必保存好该码,泄漏出去有可能被人伪造消息)。在您拿到不同测试中都有一个key的参数,该参数代表支付宝的安全校验码。从账户内复制过来的时候,会多余空格,请消息检查。例如某一个用户的key是kXXXXXXXXXXXXXXXXXXXXXXXXXXXati,复制到程序中key=“ kXXXXXXXXXXXXXXXXXXXXXXXXXXXati ”多了空格的。
3、中文编码的问题。不同网站采用不同的中文编码。有utf-8.gbk,iso-8859-1等,而程序中md5对中文签名会不一样,造成显示该错误。现asp的程序没有直接utf-8编码的md5。Php和jsp。Net程序都是支持该编码的,您可以通过支付接口的_input_charset = “utf-8”参数设置制定的字符集,并且我们返回通知也会使用该字符集,解决乱码的问题。
1.建议您使用支付宝提供的事例程序中的函数进行签名。
2.检查并确保协议参数中的partner和签名用的安全校验码没有错误。
3.若签名函数由自己开发,请检查待签名前排好顺序的签名串是否按照字母序排序。
4.签名时使用的字符集编码是否有问题,例如:您系统默认字符集编码为UTF-8,传递到支付宝时请指定_input_charset为UTF-8。
5.提交到支付宝的地址请使用https://www.alipay.com/cooperate/gateway.do,如果使用http://www.alipay.com/cooperate/gateway.do的在表单POST时
支付宝服务器会做一个到https的跳转,转到https接口时POST传递过来的参数会丢失。
好吧……承认自己很小白
还是搞不定……有木有大神可以帮我弄{:soso_e101:}一下?
angelci79 发表于 2015-2-28 16:22
还是搞不定……有木有大神可以帮我弄一下?
签名验证出错 ,签名填写是否正确
tian0220 发表于 2015-2-28 16:24
签名验证出错 ,签名填写是否正确
在后台填写的都正确……
页:
[1]
2