支付宝APP接口SDK的坑分享

支付宝APP接口SDK的坑分享

  近来在一个新项目中接入APP支付,已经很长时间没接触了,查了一下最新的文档,发现现在有个SDK包,封装了得不错,将加密,提交参数等步骤都封装起来了,看DEMO调用非常简便,以为一下子就能搞定,没想到,SDK及官方DEMO还是有些坑,在这里跟初接触的朋友分享一下,以节约宝贵的时间。
  
  问题主要有三点:
  
  1)SDK里生成用来签名的字符串时,会多出一个alipay_sdk的参数,但在文档的请求参数说明是没有的,也就是说,这个参数是多余的,会引起自己的签名与阿里的签名不一致从而一直报签名错误,所以要修改SDK签名方法里的代码,注释掉这一行,这行代码大概在SDK包的AopClient.php文件的291行,内容是:// params[alipaysdk]= p a r a m s [ ′ a l i p a y s d k ′ ] = this->alipaySdkVersion;我使用的是alipay-sdk-PHP-3.0.0的SDK,你们自己要看具体的包来找相应代码。
  
  2)3.0的SDK,虽然文档上写着签名方法可以自行选用RSA或RSA2,但实际上RSA是不允许的,接口会直接返回签名错误,所以务必使用RSA2做签名,这个问题很隐蔽,如果不是查看了联调日志工具,打死也没想到;
  
  3)SDK里会有一个指定公钥的地方,那个地方是配置支付宝公钥的,不是商户的公钥,否则会引起验签失败。

你可能感兴趣的:(Php)