前言
官网中有一些文档并不是说的很明确,只是记录了大概,本文章主要是记录在对接支付宝服务商的第三方应用中
的获取会员信息功能时遇到的坑以及注意点。
准备工作
1、在功能管理中添加能力[获取会员信息]-见图示1
2、添加新功能之后,需要重新发起授权,并且在新发起的授权中确保有换取授权访问令牌的功能-见图示2和图示3
3、增加完之后,记住签约的商户必须要入驻支付宝开放平台(这一点很重要,否则就会一直出现发起授权的页面显示页面不存在,当然这个问题也有可能是没有设置授权回调地址造成的),入驻后,设置授权回调地址。
图示1
图示2
图示3
开始对接
1、获取登录授权url地址
https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=app_id
&scope=auth_user&redirect_uri=redirect_uri
注意点:
一、app_id为商户的appid(可在商户的开放平台中找到该值)
2、获取accessToken
注意点:
一、此处的app_id使用的是服务商的appId
二、在调用支付宝提供的工具类AlipayClient时,我们会调用execute方法来执行请求,调用的时候,需要注意execute的多种重载形式,获取accessToken需要传递的是appAuthToken,不需要传递accessToken,那么需要调用三个参数方法execute(AlipayRequest request, String accessToken, String appAuthToken),调用此方法的时候第二个参数为null即可
三、在定义AlipayClient时,需要指定加密方式(加密方式根据设置来确定是RSA2还是默认加密方式)
3、获取会员信息
注意点:
一、此处的app_id使用的是服务商的appId
二、调用execute的三个参数方法,分别传递参数即可
三、在定义AlipayClient时,需要指定加密方式(加密方式根据设置来确定是RSA2还是默认加密方式)
4、总结
首先,在对接时,以为商户只需要能登陆商户即可,谁知道还需要商户也要入驻到开放平台,这一点我是没有想到的,并且还要设置相关参数;其次,appId的取值也没有具体的说明,授权页面的URL链接中的appId仅仅说明了是开发者应用的APPID,仅仅是一个模糊概念;没有最后, 只有一句格言送给自己,也送给看到此篇文章的大家:
世间万物皆有理可循