如何使用沙箱测试单笔转账到支付宝账号(php版) https://openclub.alipay.com/read.php?tid=1770&fid=28...

说明:
  本帖是利用支付宝沙箱测试电脑网站支付接口
  测试环境:Apache2.4.23 +php 5.6.25
  沙箱环境测试正式环境请修改网关为下方值
  
复制代码

1
正式环境网关:https: //openapi.alipay.com/gateway.do


注意事项:
  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
  
复制代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require_once 'AopSdk.php' ;
$aop = new AopClient ();
$aop ->appId = '填写您的沙箱appid' ;
$aop ->rsaPrivateKey = '填写您的私钥' ;
$aop ->alipayrsaPublicKey= '填写您的支付宝公钥' ;
$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
    
复制代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require_once 'AopSdk.php' ;
$aop = new AopClient ();
$aop ->appId = '填写您的appid' ;
$aop ->rsaPrivateKey = '填写您的私钥' ;
$aop ->alipayrsaPublicKey= '填写您的支付宝公钥' ;
$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 );
var_dump( $result );


    3)alipay.fund.trans.order.query(查询转账订单接口)
    说明:商户可通过该接口查询转账订单的状态、支付时间等相关信息,主要应用于B2C转账订单查询的场景
    
复制代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
/**
  * 2017-08-01
  * by 我是个导演
  * 欢迎访问支付宝论坛:https://openclub.alipay.com/index.php
  */
require_once 'AopSdk.php' ;
$aop = new AopClient ();
$aop ->appId = '填写您的appid' ;
$aop ->rsaPrivateKey = '填写您的私钥' ;
$aop ->alipayrsaPublicKey= '填写您的支付宝公钥' ;
$aop ->apiVersion = '1.0' ;
$aop ->signType = 'RSA2' ;
$aop ->postCharset= 'utf-8' ;
$aop ->format= 'json' ;
$request = new AlipayFundTransOrderQueryRequest ();
//商户转账唯一订单号: 和支付宝转账单据号不能同时为空。当和支付宝转账单据号同时提供时,将用支付宝转账单据号进行查询,忽略本参数。
$request ->setBizContent( "{" .
"\"out_biz_no\":\"填写商户转账唯一订单号\"," .
"\"order_id\":\"填写支付宝转账单据号\"" .
"}" );
$result = $aop ->execute ( $request );
var_dump( $result );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值