您的位置 首页 php

PHP利用单笔转账接口实现提现到帐功能

我的一个项目需要 要用到支付宝单笔转账接口实现一个站点的提现功能,顺便记录一下整个过程中的要点,可以避免大家操作的时候踩坑。

整体过程如下:

1.在开放平台添加能力,选择【资金】->【转账到支付宝账户】,等待审核,这个审核会很快

2.密钥管理,在对应应用上设置【接口加签方式】,注意资金支出类接口 必须采用公钥证书 的方式。获得证书具体手册上已经非常清楚,去支付宝开放平台查看手册生成密钥部分,按照手册中【公钥证书方式】操作获得相关密钥、证书

(1)注意首先是在本地电脑安装【支付宝开放平台开发助手】,利用密钥工具最终获得如下内容:

(2)其次在开放平台上设置【接口加签方式】内选择【公钥证书】,上传上一步生成的.csr证书文件,获得如下证书:

3.实现功能

我采用的是PHP,利用支付宝SDK实现代码如下:

 
vendor("alipay/AopCertClient");
$aop = new \AopCertClient();

$certPath = '/TP/Library/Vendor/alipay/cert/'; //证书文件夹绝对路径
//应用证书路径
$appCertPath = $certPath . "appCertPublicKey_2021002124652170.crt";
$alipayCertPath = $certPath . "alipayCertPublicKey_RSA2.crt";
$rootCertPath = $certPath . "alipayRootCert.crt";

$aop->gatewayUrl          = "#34;;
$aop->appId                = "应用对应的APPID";
//应用私钥
$aop->rsaPrivateKey        = "上面2-(1)利用密钥工具获得的应用私钥字串,注意不是文件路径";

$aop->alipayrsaPublicKey = $aop->getPublicKey($alipayCertPath);
$aop->apiVersion           = '1.0';
$aop->signType             = 'RSA2';
$aop->postCharset          = 'utf-8';
$aop->format                = 'json';
$aop->isCheckAlipayPublicCert = true;
$aop->appCertSN = $aop->getCertSN($appCertPath);//调用getCertSN获取证书序列号
$aop->alipayRootCertSN = $aop->getRootCertSN($rootCertPath);//调用getRootCertSN获取支付宝根证书序列号

vendor("alipay/request/AlipayFundTransUniTransferRequest");
$request = new \AlipayFundTransUniTransferRequest();

/// 单笔转账
$biz_content = array(
"out_biz_no" => time(),
"trans_amount" => 0.1,
"product_code" => "TRANS_ACCOUNT_NO_PWD",//无密转账;红包为:STD_RED_PACKET
"biz_scene" => "DIRECT_TRANSFER",//
"order_title" => "提现成功到帐!",//转账标题
"payee_info" => array(
"identity" => "XXXXXXXXXX",//支付宝帐号
"identity_type" => "ALIPAY_LOGON_ID",//支付宝的会员ID;支付宝登录号为:ALIPAY_LOGON_ID
"name" => "王五",//帐号对应实名
),
"remark" => "积分提现已完成",//备注

);
$request->setBizContent(json_encode($biz_content));

$result = $aop->execute($request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code;

header("Content-type: text/html; charset=utf-8");
if(!empty($resultCode)&&$resultCode == 10000){
echo "转账{$amount}元成功!";exit;
} else {
var_dump($result);
echo "操作异常,拒绝访问!";exit;
}
  

4.其他

(1)单笔最小转账金额为0.1元

(2)支付宝官方的PHP-SDK中test目录有测试代码可以参考哦!

文章来源:智云一二三科技

文章标题:PHP利用单笔转账接口实现提现到帐功能

文章地址:https://www.zhihuclub.com/152430.shtml

关于作者: 智云科技

热门文章

网站地图