说明:
本帖是利用支付宝沙箱测试电脑网站支付接口
测试环境:Apache2.4.23 +php 5.6.25
沙箱环境测试正式环境请修改网关为下方值
正式环境网关:[url]https://openapi.alipay.com/gateway.do[/url]
注意事项:
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不能为空。收款方可见,会展示在收款用户的收支详情中。
测试流程(声明:demo仅做参考使用):
1.下载官方【服务端sdk】放到项目中,注意:官方sdk php环境要求php5.5以上
2.看下方代码
1)收款方账户类型为:ALIPAY_LOGONID
2)收款方账户类型为:ALIPAY_USERID
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不能为空。收款方可见,会展示在收款用户的收支详情中。
测试流程(声明:demo仅做参考使用):
1.下载官方【服务端sdk】放到项目中,注意:官方sdk php环境要求php5.5以上
2.看下方代码
1)收款方账户类型为:ALIPAY_LOGONID
<?php require_once 'AopSdk.php'; $aop = new AopClient (); $aop->appId = '填写您的沙箱appid'; $aop->rsaPrivateKey = '填写您的私钥'; $aop->alipayrsaPublicKey='填写您的支付宝公钥'; $aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do'; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset='utf-8'; $aop->format='json'; $date=date("YmdHis"); $arr=range(1000,9999); shuffle($arr); $request = new AlipayFundTransToaccountTransferRequest (); //收款方账户类型为:ALIPAY_LOGONID:支付宝登录号,支持邮箱和手机号格式。 $request->setBizContent("{" . ""out_biz_no":"".$date.$arr[0].""," . ""payee_type":"ALIPAY_LOGONID"," . ""payee_account":"请填写您转账的账号"," . ""amount":"0.1"," . ""remark":"单笔转账测试"" . "}"); $result = $aop->execute ($request); var_dump($result);
2)收款方账户类型为:ALIPAY_USERID
<?php require_once 'AopSdk.php'; $aop = new AopClient (); $aop->appId = '填写您的appid'; $aop->rsaPrivateKey = '填写您的私钥'; $aop->alipayrsaPublicKey='填写您的支付宝公钥'; $aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do'; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset='utf-8'; $aop->format='json'; $date=date("YmdHis"); $arr=range(1000,9999); shuffle($arr); $request = new AlipayFundTransToaccountTransferRequest (); // 收款方账户类型为:ALIPAY_USERID:支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。 $request->setBizContent("{" . ""out_biz_no":"".$date.$arr[0].""," . ""payee_type":"ALIPAY_USERID"," . ""payee_account":"填写您要转账的2088"," . ""amount":"0.1"," . ""remark":"单笔转账测试"" . "}"); $result = $aop->execute ($request);