PHP接入支付宝有密批量转款接口

大愚Talk

payment 项目2.0版本

这个接口蛮有用的,不过现阶段支付宝已经停止审核啦!微信的转账功能还可以继续使用。企业可以转账到其他支付宝账户。对于企业活动非常有帮助,比如:购买返现呀!

虽然现在已经不接收新的审核,但是我还是将该功能进行了集成,因为指不定什么时候又开放了,毕竟微信都有这个功能,支付宝不搞出来,实在说不过去。

SDK调用

// 支付宝配置信息
$aliconfig = [
    'partner'   => '2088xxxxx',
    'md5_key'   => 'xxxxxxxxxxxx',
    'rsa_private_key'   => dirname(__FILE__) . '/rsa_private_key.pem',
    "notify_url"    => 'http://test.helei.com/pay-notify.html',
    "return_url"    => 'http://test.helei.com/return-url.html',
    "time_expire"    => '14',
    
    // 转款接口,必须配置以下两项
    'account'   => 'xxxxxxx@126.com',
    'account_name' => 'xxxxxxxxxxxx',
];

//  生成转款单号 便于测试
function createPayid()
{
    return date('Ymdhis', time()).substr(floor(microtime()*1000),0,1).rand(0,9);
}

// 转款数据
$transData = [
    'trans_no' => createPayid(),
    'trans_data'   => [
        [
            'serial_no' => createPayid(),
            'user_account' => 'dayugog@gmail.com',
            'user_name' => '愚不可及',
            'trans_fee' => '0.01',
            'desc'  => '测试批量转款',
        ]
    ],
];

$refund = new TransferContext();
try {
    $refund->initTransfer(Config::ALI, $aliconfig);
    $ret = $refund->transfer($transData);
} catch (PayException $e) {
    echo $e->errorMessage();exit;
}

// 跳转支付宝
header("Location:{$ret}");

这个接口也是需要管理员输入支付密码,才能够完成,完成后也会回调。回调过程请参考 支付的回调统一处理 已经说明。

请求参数

参数 参数名 参数说明 是否必须
trans_no 转款单号 由商家自定义生成,可由字母、数字组成
trans_data 转款数据 详细内容见后表,它是一个数组

trans_data数据组成

参数 参数名 参数说明 是否必须
serial_no 流水号 由商家自定义生成,可由字母、数字组成
user_account 收款方账号 收款方的支付宝账号,支持邮箱和手机号2种格式。
user_name 收款账号姓名 收款方的支付宝账户名。
trans_fee 付款金额 向该账号转入多少金额,单位元
desc 备注说明 可以是转款理由等,如:8月工资2W

这个地方SDK总做了很多工作,简化了相当多的参数,大家可以去对照原接口查看一下。支付宝原接口地址

阅读 4.1k

大愚Talk
记录自己技术生涯的所学、所思、所用的一切技术。

Life is short, code more!

3.1k 声望
864 粉丝
0 条评论

Life is short, code more!

3.1k 声望
864 粉丝
宣传栏