您现在的位置是:首页 > 技术教程 正文

php之支付宝转账或发红包到指定账户(提现功能)

admin 阅读: 2024-03-18
后台-插件-广告管理-内容页头部广告(手机)

require_once '../AopCertClient.php';

require_once '../request/AlipayFundTransUniTransferRequest.php';

/**

 * 证书类型AopCertClient功能方法使用测试,特别注意支付宝根证书预计2037年会过期,请在适当时间下载更新支付更证书

 * 1、execute 证书模式调用示例

 * 2、sdkExecute 证书模式调用示例

 * 3、pageExecute 证书模式调用示例

 */

//1、execute 使用

$aop = new AopCertClient ();

$appCertPath = "应用证书路径(要确保证书文件可读),例如:/home/admin/cert/appCertPublicKey.crt";

$alipayCertPath = "支付宝公钥证书路径(要确保证书文件可读),例如:/home/admin/cert/alipayCertPublicKey_RSA2.crt";

$rootCertPath = "支付宝根证书路径(要确保证书文件可读),例如:/home/admin/cert/alipayRootCert.crt";

$aop->gatewayUrl = '支付宝 - 网上支付 安全快速!';

$aop->appId = '你的appid';

$aop->rsaPrivateKey = '你的应用私钥';

$aop->alipayrsaPublicKey = $aop->getPublicKey($alipayCertPath);//调用getPublicKey从支付宝公钥证书中提取公钥

$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获取支付宝根证书序列号

$request = new AlipayFundTransUniTransferRequest();

$arrData = [

    'out_biz_no' => 'Test'.time().rand(10000,99999), // 商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。

    // 单笔无密转账到支付宝账户固定

    // TRANS_ACCOUNT_NO_PWD 产品取值范围[0.1,100000000]

    // STD_RED_PACKET [0.01,100000000]

    'trans_amount' => 0.1, // 订单总金额,单位为元,精确到小数点后两位,

    'product_code' => 'TRANS_ACCOUNT_NO_PWD',

    'biz_scene' => 'DIRECT_TRANSFER', // B2C现金红包、单笔无密转账到支付宝/银行卡

    'order_title' => '测试提现', // 转账业务的标题,用于在支付宝用户的账单里显示

    'payee_info' => [

        'identity' => 'xxxxx',// 参与方的唯一标识

        'identity_type' => 'ALIPAY_LOGON_ID', // 支付宝登录号,支持邮箱和手机号格式

        'name' => 'xxxxx', // 参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。

    ],

    'remark' => '测试提现'

];

$request->setBizContent(json_encode($arrData,JSON_UNESCAPED_UNICODE));

$result = $aop->execute($request);

$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";

$resultCode = $result->$responseNode->code;

if(!empty($resultCode)&&$resultCode == 10000){

    echo "成功";

} else {

    echo "失败";

}

print_r($result);

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜