最近在开发支付宝支付,在支付宝后台配置的时候,发现了一个问题,困扰了我半天,终于找到了问题,来记录一下.
支付宝开放平台后台需要我们填RSA公钥(由于我填过了,所以这里是修改),如下图:
下一步将我辛辛苦苦生成的公钥添加进去,贴心的支付宝还给我提供了一个”验证功能”避免我们在对接的时候由于公钥/私钥不对而导致的失败:
调试工具上面写着:”请将JSON串 {“a”:”123″}使用填写公钥对应的私钥签名”.
赶紧用我自己的签名方法签名试一下.
嗯!很好,我的程序一如既往的让我满意.
于是我把这个签名粘贴到支付宝的调试工具里测试.
WHAT?失败了!
紧接着,我花了几个小时来找bug,曾一度怀疑我的签名和验签方法就是个摆设.但是然并卵,于是我翻出支付宝官方给的demo找问题,结果找到了如下一段:
按照这段逻辑来理解的话,那应该是将json串'{“a”:”123″}’,转成对应的URL参数a=123,于是我再次尝试,
我的程序自然很赏脸,将签名粘贴到支付宝调试工具,终于通过了
法克!支付宝啊支付宝,能不能严谨点?害得我浪费了大半天的时间啊!
如果你也遇到了同样的问题,希望本问恰好帮助到了你.