lodengo/alipay

签名的时候prestr不应该用qs.stringify

Closed this issue · 2 comments

因为它会把你的所有参数urlencode了,而支付宝要求hash之前的待签名字符串不能urlencode
另外,AlipaySubmit.prototype.buildRequestForm这个方法通过构建form表单,然后让浏览器提交的方式构造请求,这种做法相当奇葩,不知道作者有意为之,还是无耐之举,有意思,哈哈哈。

哦,另外,作者的代码里的局部变量前面都木有var 声明,这样会变成定义一个模块内的全局变量。不知道作者的用意何在。我觉得还是比较危险,建议修正。

总得来讲,东西还是挺简单易用的,谢谢。

感谢提出问题,哈哈,我基本是从支付宝的php sdk翻译过来的, var声明当时是把php sdk里的$替换掉忘了加var声明,至于buildRequestForm我也不太清楚,现修正了 var 声明, createLinkstring不使用qs.stringify, md5Sign utf8问题,谢谢。

感谢提出问题,哈哈,我基本是从支付宝的php sdk翻译过来的, var声明当时是把php sdk里的$替换掉忘了加var声明,至于buildRequestForm我也不太清楚,现修正了 var 声明, createLinkstring不使用qs.stringify, md5Sign utf8问题,谢谢。