支付宝开发中遇到的坑

欢欢欢欢 发表于 2018-10-7 10:11

支付宝生活号的接口基本上跟微信公众号一致。

 

坑一:支付宝在第一次页面授权之后出现了不跳转的情况。停留在了空白页,同样的页面,如果重新扫码进来就好了。

原因:

支付宝的授权链接结构如下:

https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=SCOPE&redirect_uri=ENCODED_URL

其中还有了一个可选参数 state ,该参数是用来传入自定义业务逻辑信息的。由于业务需要,再state中需要多个回调参数,就在多个回调参数中间一“|”分割,例如(para1|para2|para3),正是这个“|”导致了在第一次授权之后不跳转,将“|”换成其他的符号分割就好了,比如“_”(para1_para2_para3)。应该是支付宝的一个小bug,因为同样的方式微信就没有。

 

坑二:网关和事件订阅机制

1,要开发生活号,必须设置网关,网关的设置极其古怪,必须把官方提供的Demo独立建站才能验证通过,不能和放在已有的项目里面,原因不明,初步推测 可能是底层代码冲突。

2,和微信公众号不同,支付宝生活号必须订阅,如果不订阅,对应的事件是不会推送的。比如带参数的二维码,第一次是关注事件,往后是进入事件,如果没有订阅进入事件,那么网关是收不到任何通知的。

 

坑三:和微信公众号不同,没有根据userId获取用户信息的接口,只有通过令牌授权获取这一种方式。