【PHP-支付宝单笔转账接口实现】

alipay.fund.trans.uni.transfer(单笔转账接口)

使用SDK 支付宝通用SDK-V2版**

下载地址:https://opendocs.alipay.com/common/02n6z6

代码

<?php
require_once '../aop/AopCertClient.php';
require_once '../aop/request/AlipayFundTransUniTransferRequest.php';

$aop = new AopCertClient();
$appCertPath = "cert/appCertPublicKey_2018110962096589.crt";  // 应用公钥证书路径------必填
$alipayCertPath = "cert/alipayCertPublicKey_RSA2.crt";  // 支付宝公钥证书路径------必填
$rootCertPath = "cert/alipayRootCert.crt";  // 根证书路径------必填


$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$aop->appId = "";//应用ID--------------必填
$aop->rsaPrivateKey = '';//私钥--------------必填
$aop->format = "json";
$aop->charset = "GBK";
$aop->signType = "RSA2";

// 调用getPublicKey从支付宝公钥证书中提取公钥
$aop->alipayrsaPublicKey = $aop->getPublicKey($alipayCertPath);
// 是否校验自动下载的支付宝公钥证书,如果开启校验要保证支付宝根证书在有效期内
$aop->isCheckAlipayPublicCert = true;
// 调用getCertSN获取证书序列号
$aop->appCertSN = $aop->getCertSN($appCertPath);
// 调用getRootCertSN获取支付宝根证书序列号
$aop->alipayRootCertSN = $aop->getRootCertSN($rootCertPath);

$request = new AlipayFundTransUniTransferRequest();
$bizcontent = [
    'out_biz_no' => 'test1111111112', // 订单号------必填
    'trans_amount' => '0.10',   // 提现实际金额------必填
    'product_code' => "TRANS_ACCOUNT_NO_PWD", //转账为:TRANS_ACCOUNT_NO_PWD
    'biz_scene' => 'DIRECT_TRANSFER', //单笔无密转账到支付宝:DIRECT_TRANSFER
    'payee_info' => [
        'identity' => '1550016691@qq.com', // 收款人帐户------必填
        'identity_type' => 'ALIPAY_LOGON_ID', //支付宝登录id:ALIPAY_LOGON_ID------必填
        'name' => '刘桥敏', // 收款人姓名------必填
    ],
    'remark' => "单笔转账到支付宝账户接口测试", // 转帐备注
];
$request->setBizContent(json_encode($bizcontent));
$result = $aop->execute($request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code;

if (!empty($resultCode) && $resultCode == 10000) {
    echo "转账请求成功";
} else {
    echo "转账请求失败";
}

// 打印完整的响应结果
echo json_encode($result);

代码的作用:

这段代码实现了调用支付宝的单笔转账接口功能。让我们逐行解释代码的作用:

  1. 首先,代码引入了必要的文件,其中包括 AopCertClient.phpAlipayFundTransUniTransferRequest.php,这些文件提供了与支付宝接口进行通信所需的类和方法。

  2. 创建了一个 AopCertClient 的实例,用于与支付宝进行通信。

  3. 设置了证书路径和其他参数,包括应用公钥证书路径、支付宝公钥证书路径、根证书路径等。

  4. 设置了支付宝网关 URL、应用 ID、私钥、数据格式、字符集和签名类型等。

  5. 通过调用 getPublicKey 方法从支付宝公钥证书中提取公钥,并将其设置为 alipayrsaPublicKey

  6. 设置是否校验自动下载的支付宝公钥证书,并调用 getCertSNgetRootCertSN 方法获取应用公钥证书和支付宝根证书的序列号。

  7. 创建了一个 AlipayFundTransUniTransferRequest 的实例,用于构建转账请求的参数。

  8. 设置了转账请求的参数,包括订单号、提现金额、转账方式、转账场景、收款人信息和转账备注等。

  9. 调用 setBizContent 方法将转账请求的参数设置到请求对象中。

  10. 调用 execute 方法发送转账请求,并将返回的结果保存到 result 变量中。

  11. 通过解析返回结果,获取响应节点名称和响应码。

  12. 根据响应码判断转账请求是否成功,并输出相应的提示信息。

  13. 最后,使用 json_encode 方法将完整的响应结果以 JSON 格式进行输出。

请注意,在代码中的 rsaPrivateKey 部分需要填写私钥,这是必填项,用于对请求进行签名和加密操作。此外,还需要确保证书路径和其他参数的设置正确,并根据实际情况进行相应的修改。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值