alipay.fund.trans.toaccount.transfer(单笔转账到支付宝账户接口)
单笔转账到支付宝账户接口是基于支付宝的资金处理能力,为了满足支付宝商家向其他支付宝账户转账的需求,针对有部分开发能力的商家,提供通过 API 接口完成支付宝账户间的转账的功能。 该接口适用行业较广,比如商家间的货款结算,商家给个人用户发放佣金等。
注意事项:
1.目前仅支持账户余额渠道付款。
2.转账额度
1)单日转出累计额度为 100 万元。
2)转账给个人支付宝账户,单笔最高5 万元;转账给企业支付宝账户,单笔最高 10 万元。
特殊逻辑注意点:
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 作为后续处理的判断依据。
参数解读:
1.amount 转账金额,只支持 2 位小数,小数点前最大支持13 位,金额必须大于等于 0.1 元。
2.payer_show_name 付款方姓名(最长支持 100 个英文/ 50 个汉字)。显示在收款方的账单详情页。如果该字段不传则默认显示付款方的支付宝认证姓名或单位名称。
3.payee_real_name 收款方真实姓名(最长支持 100 个英文 / 50 个汉字),如果本参数不为空,则会校验该账户在支付宝登记的实名是否与收款方真实姓名一致。
4.remark 转账备注(支持 200 个英文 / 100 个汉字)。当付款方为企业账户,且转账金额达到(大于等于)50000元,remark 不能为空。收款方可见,会展示在收款用户的收支详情中。
下载服务端SDKhttps://docs./54/103419/
注:适用于 php 5.5 以上的开发环境
请求地址正式环境:/gateway.do
单笔转账到支付宝账户接口文档https://docs./api_28/alipay.fund.trans.toaccount.transfer/
公共请求参数
请求参数
请求示例<?php
require_once"aop/AopClient.php";
require_once"aop/request/AlipayFundTransToaccountTransferRequest.php";
$aop=newAopClient();
$aop->gatewayUrl='/gateway.do';
$aop->appId='yourapp_id';
$aop->rsaPrivateKey='请填写开发者私钥去头去尾去回车,一行字符串';
//转帐的是使用支付宝公钥的验签,默认使用的是初始化客户端时候的公钥,需要把初始化客户端的公钥修改为支付宝的公钥。应用公钥实际没有用处。
//$aop->alipayrsaPublicKey='请填写支付宝公钥,一行字符串';
$aop->apiVersion='1.0';
$aop->signType='RSA2';
$aop->postCharset='UTF-8';
$aop->format='json';
$request=newAlipayFundTransToaccountTransferRequest();
$request->setBizContent("{".
"\"out_biz_no\":\"3142321423259\",".
"\"payee_type\":\"ALIPAY_LOGONID\",".
"\"payee_account\":\"[emailprotected]\",".
"\"payee_real_name\":\"小张\",".
"\"amount\":\"0.2\",".
"\"remark\":\"单笔转账测试\"".
"}");
$result=$aop->execute($request);
$responseNode=str_replace(".","_",$request->getApiMethodName())."_response";
$resultCode=$result->$responseNode->code;
if(!empty($resultCode)&&$resultCode==10000){
echo"转账成功!";
}else{
echo"转账失败!";
}
响应示例{
"alipay_fund_trans_toaccount_transfer_response":{
"code":"10000",
"msg":"Success",
"out_biz_no":"3142321423259",
"order_id":"0427110070001502210085187233",
"pay_date":"-01-0108:08:08"
},
"sign":"N5DHM+s6dWL9ys3d***********erFaTbIe4w=="
}
Fatal error: Uncaught exception 'Exception' with message 'check sign Fail!
转帐的是使用支付宝公钥的验签,默认使用的是初始化客户端时候的公钥,需要把初始化客户端的公钥修改为支付宝的公钥。应用公钥实际没有用处。注释掉// $aop->alipayrsaPublicKey='请填写支付宝公钥,一行字符串';//$aop->alipayrsaPublicKey='请填写支付宝公钥,一行字符串';