企业支付宝单笔转账到支付宝账户快速接入

原创 摩尔天下  2019-05-19 09:27 
独家推荐

第一步:创建应用并获取APPID

要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在开发者中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。

第二步:配置密钥

开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台开发者中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详细步骤请参考《配置应用环境》。

第三步:搭建和配置开发环境

1. 下载服务端SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。

2. 接口调用配置

各语言版本服务端SDK详细使用说明,请参考《服务端SDK使用说明》

SDK调用前需要进行初始化,代码示例如下:

AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);

关键参数说明:

配置参数 示例值解释 获取方式/示例值
URL 支付宝网关(固定) https://openapi.alipay.com/gateway.do
APP_ID APPID即创建应用后生成 获取见上面创建应用并获取APPID
APP_PRIVATE_KEY 开发者应用私钥,由开发者自己生成 获取见上面配置密钥
FORMAT 参数返回格式,只支持json json(固定)
CHARSET 请求和签名使用的字符编码格式,支持GBK和UTF-8 开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY 支付宝公钥,由支付宝生成 获取详见上面配置密钥
SIGN_TYPE 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2

接口调用

调用流程

说明:

  1. 如果商户重复请求转账,支付宝会幂等返回成功结果,商户必须对重复转账的业务做好幂等处理;如果不判断,存在潜在的风险,商户自行承担因此而产生的所有损失。
  2. 如果调用alipay.fund.trans.toaccount.transfer掉单时,或返回结果code=20000时,或返回结果code=40004,sub_code= SYSTEM_ERROR时,请调用alipay.fund.trans.order.query发起查询,如果未查询到结果,请保持原请求不变再次请求alipay.fund.trans.toaccount.transfer接口。
  3. 商户处理转账结果时,对于错误码的处理,只能使用sub_code作为后续处理的判断依据,不可使用sub_msg作为后续处理的判断依据。

SDK调用

1.alipay.fund.trans.toaccount.transfer接口调用示例:

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest();
request.setBizContent("{" +
"    \"out_biz_no\":\"3142321423432\"," +
"    \"payee_type\":\"ALIPAY_LOGONID\"," +
"    \"payee_account\":\"abc@sina.com\"," +
"    \"amount\":\"12.23\"," +
"    \"payer_show_name\":\"上海交通卡退款\"," +
"    \"payee_real_name\":\"张三\"," +
"    \"remark\":\"转账备注\"," +
"  }");
AlipayFundTransToaccountTransferResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}

2.alipay.fund.trans.order.query接口调用示例

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayFundTransOrderQueryRequest request = new AlipayFundTransOrderQueryRequest();
request.setBizContent("{" +
"    \"out_biz_no\":\"3142321423432\"," +
"    \"order_id\":\"20160627110070001502260006780837\"" +
"  }");
AlipayFundTransOrderQueryResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}

关于沙箱

如何接入沙箱

沙箱环境是开放平台提供给开发者调试接口的环境,具体操作步骤见沙箱接入指南。

单笔转账到支付宝账户沙箱接入注意点

  1. 单笔转账到支付宝账户支持沙箱接入:在沙箱调通接口后,必须在线上进行测试与验收,所有返回码及业务逻辑以线上为准;
  2. 单笔转账到支付宝账户请使用单笔转账到支付宝产品沙箱账号进行测试:点击开发者中心-沙箱环境-沙箱账号。
本文地址:https://www.miaigo.com/322.html
关注我们:请关注一下我们的微信公众号:扫描二维码摩尔天下的公众号,公众号:aiboke112
版权声明:本文为原创文章,版权归 摩尔天下 所有,欢迎分享本文,转载请保留出处!

发表评论


表情