支付宝APP接口SDK的坑分享

本文分享了在新项目中接入支付宝APP支付遇到的问题:SDK生成签名字符串时包含多余参数、仅支持RSA2签名方法及正确配置支付宝公钥的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

支付宝APP接口SDK的坑分享

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值