要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在管理中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。
开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台管理中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境》。
开发语言 | 资源下载 | 环境要求 |
---|---|---|
JAVA版资源 | SDK1.5 | 适用于Java语言、jdk版本1.5及以上的开发环境 |
SDK1.4 | 适用于Java语言、jdk版本1.4及以下的开发环境 | |
.NET版资源 | SDK | 适用于Visual studio 2010及以上版本、Framework3.5及以上版本的开发环境 |
PHP版资源 | SDK | 适用于php全系列开发环境 |
各语言版本服务端SDK详细使用说明,请参考《服务端SDK使用说明》
在SDK调用前需要进行初始化,代码如下:
AlipayClient alipayClient = new DefaultAlipayClient(https://openapi.alipay.com/gateway.do,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,APP_PUBLIC_KEY);
配置参数 | 示例值解释 | 获取方式/示例值 |
---|---|---|
URL | 支付宝网关(固定) | https://openapi.alipay.com/gateway.do |
APPID | APPID 即创建应用后生成 | 获取见上面创建应用 |
FORMAT | 参数返回格式,只支持json | json(固定) |
APP_PRIVATE_KEY | 开发者私钥,由开发者自己生成 | 获取详见上面配置密钥 |
CHARSET | 编码集,支持GBK/UTF-8 | 开发者根据实际工程编码配置 |
ALIPAY_PUBLIC_KEY | 支付宝公钥,由支付宝生成 | 获取详见上面配置密钥 |
普通代码SDKConstants配置示例:
public class SDKConstants { public static final String serverUrl = "//openapi.stable.alipay.net/gateway.do"; public static final String APP_ID = "2015092100806321"; public static final String PRIVATE_KEY = "详见密钥生成"; public static final String APP_AUTH_TOKEN = "201607BBaa9d6eadd2da4e51a41d427ab3413X91"; }
AlipayClient是SDK公共请求方法类,AlipayClientFactory是AlipayClient的静态工厂类:
public class AlipayClientFactory { // SDK 公共请求类,包含公共请求参数,以及封装了签名与验签,开发者无需关注签名与验签 private static final AlipayClient client = new DefaultAlipayClient(SDKConstants.serverUrl, SDKConstants.APP_ID, SDKConstants.PRIVATE_KEY); public static AlipayClient getAlipayClientInstance() { return client; }
接口调用大致分为3步:
alipay.credit.creditrisk.data.put接口代码调用示例:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key"); AlipayCreditCreditriskDataPutRequest request = new AlipayCreditCreditriskDataPutRequest(); request.setBizContent("{" + " \"entityname\":\"asdfgh\"," + " \"entitycode\":\"2088101026578910\"," + " \"entitytype\":\"ALIPAY\"," + " \"dataprovider\":\"CAINIAO\"," + " \"dataorgid\":\"226630000000019649\"," + " \"category\":\"CHANGE_INFO\"," + " \"objectcontent\":\"{\\\"currency\\\":\\\"156\\\",\\\"payAccount\\\":\\\"2088101026578910\\\",\\\"payAmt\\\":10,\\\"payDate\\\":\\\"2016-08-02 10:51:57\\\",\\\"policyCode\\\":\\\"BC\\\",\\\"serialNo\\\":\\\"1\\\"}\"" + " }"); AlipayCreditCreditriskDataPutResponse response = alipayClient.execute(request);