服务端接入
接口调用
系统交互流程
1.
2.
3.
使用 SDK 快速接入
获取授权令牌
package com.java.sdk.demo;
import com.alipay.v3.ApiException;
import com.alipay.v3.ApiClient;
import com.alipay.v3.util.model.AlipayConfig;
import com.alipay.v3.Configuration;
import com.alipay.v3.api.AlipaySystemOauthApi;
import com.alipay.v3.model.*;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AlipaySystemOauthApiToken {
public static void main(String[] args) throws ApiException {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// 初始化alipay参数(全局设置一次)
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.setServerUrl("https://openapi.alipay.com");
alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->");
alipayConfig.setPrivateKey("<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->");
alipayConfig.setAlipayPublicKey("<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->");
defaultClient.setAlipayConfig(alipayConfig);
AlipaySystemOauthApi api = new AlipaySystemOauthApi();
AlipaySystemOauthTokenModel data = new AlipaySystemOauthTokenModel();
data.setCode("4b203fe6c11548bcabd8da5bb087a83b");
data.setGrantType("authorization_code");
data.setRefreshToken("201208134b203fe6c11548bcabd8da5bb087a83b");
try {
AlipaySystemOauthTokenResponseModel response = api.token(data);
} catch (ApiException e) {
AlipaySystemOauthTokenDefaultResponse errorObject = (AlipaySystemOauthTokenDefaultResponse) e.getErrorObject();
System.out.println("调用失败:" + errorObject);
}
}
}
入参说明
参数 | 描述 |
---|---|
grant_type | 值为 authorization_code 时,代表用 code 换取;值为 refresh_token 时,代表用 refresh_token 换取。 |
code | 授权码,用户授权后由客户端 SDK 返回。 |
出参说明
参数 | 描述 |
---|---|
user_id | 支付宝用户的唯一 userId。 |
access_token | 访问令牌。通过该令牌调用需要用户信息授权的接口,如 alipay.user.info.share。 |
用户信息共享
package com.java.sdk.demo;
import com.alipay.v3.ApiException;
import com.alipay.v3.ApiClient;
import com.alipay.v3.util.model.AlipayConfig;
import com.alipay.v3.Configuration;
import com.alipay.v3.api.AlipayUserInfoApi;
import com.alipay.v3.model.*;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AlipayUserInfoApiShare {
public static void main(String[] args) throws ApiException {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// 初始化alipay参数(全局设置一次)
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.setServerUrl("https://openapi.alipay.com");
alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->");
alipayConfig.setPrivateKey("<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->");
alipayConfig.setAlipayPublicKey("<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->");
defaultClient.setAlipayConfig(alipayConfig);
AlipayUserInfoApi api = new AlipayUserInfoApi();
String authToken = null;
try {
AlipayUserInfoShareResponseModel response = api.share(authToken);
} catch (ApiException e) {
AlipayUserInfoShareDefaultResponse errorObject = (AlipayUserInfoShareDefaultResponse) e.getErrorObject();
System.out.println("调用失败:" + errorObject);
}
}
}
入参说明
参数 | 描述 |
---|---|
access_token | 对于需要用户授权的接口,获取用户相关数据时,用于标识用户授权关系。 |
出参说明
参数 | 描述 |
---|---|
user_id | 用户的 userId。 |
接口调用结果码说明
同步返回结果码 | 描述 |
---|---|
10000 | 业务处理成功。 |
40001~40006 | 业务处理失败。具体失败原因请参考 公共错误码。其他请参考 API 文档。 |
20000 | 业务出现未知错误或者系统异常。 |