php支付宝单笔转账到支付宝账户,用户提现业务
php支付宝单笔转账到支付宝账户
下载官方sdk:
https://opendocs.alipay.com/open/54/106370
接口文档地址:
https://opendocs.alipay.com/open/309
官方接口地址:https://opendocs.alipay.com/apis/api_28/alipay.fund.trans.uni.transfer/
编写支付宝类
1、将sdk下载集成到项目中,thinkphp5为例:
2、在 Alipay.php 中编写方法
<?php
/*** 支付宝类* Created by PhpStorm.* User: smt*/namespace Alipay;
require_once 'alipay-sdk-PHP-3.4.2/AopSdk.php';class Alipay
{// 商户配置信息public static function getAlipayAppConfig(){return \config('alipay_app');}/*** 单笔转账接口* @param $order_number 订单号* @param $pay_user_id 收款方user_id* @param $amount 转账金额,单位为元,精确到小数点后两位* @param $remark 备注*/public static function alipayTransfer($order_number, $pay_user_id, $amount, $remark = '提现'){// 我这里打印结果:项目根目录/public/cert/$isdir = getCertRootPath();//证书位置;绝对路径$alipay_conf = self::getAlipayAppConfig();$aop = new \AopCertClient();$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$aop->appId = $alipay_conf['app_id'];$aop->rsaPrivateKey = $alipay_conf['rsa_private_key']; // 开发者私钥$aop->alipayrsaPublicKey = $aop->getPublicKey($isdir . 'alipayCertPublicKey_RSA2.crt');//调用getPublicKey从支付宝公钥证书中提取公钥$aop->apiVersion = '1.0';$aop->signType = 'RSA2';$aop->postCharset = 'utf-8';$aop->format = 'json';$aop->isCheckAlipayPublicCert = true;//是否校验自动下载的支付宝公钥证书,如果开启校验要保证支付宝根证书在有效期内$aop->appCertSN = $aop->getCertSN($isdir . 'alipayappCertPublicKey_2021001153673295.crt');//调用getCertSN获取证书序列号$aop->alipayRootCertSN = $aop->getRootCertSN($isdir . 'alipayRootCert.crt');//调用getRootCertSN获取支付宝根证书序列号$request = new \AlipayFundTransToaccountTransferRequest ();$request->setBizContent("{" ."\"out_biz_no\":\"" . $order_number . "\"," ."\"payee_type\":\"ALIPAY_USERID\"," ."\"trade_no\":\"" . $order_number . "\"," ."\"payee_account\":\"" . $pay_user_id . "\"," ."\"payee_real_name\":\"\"," ."\"amount\":\"" . $amount . "\"," ."\"remark\":\"" . $remark . "\"" ."}");$result = $aop->execute($request);$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";$resultCode = $result->$responseNode->code;if (!empty($resultCode) && $resultCode == 10000) {// 成功,返回业务需要的信息$data = ['code' => $result->$responseNode->code,'msg' => $result->$responseNode->msg,// 支付宝转账订单号'order_id' => $result->$responseNode->order_id,// 商户订单号'out_biz_no' => $result->$responseNode->out_biz_no,// 支付时间'pay_date' => $result->$responseNode->pay_date];return $data;} else {// 失败记录错误查日志logs($result, 'alipay_transfer_error');return false;}}}
3、公共方法:
/*** 获取证书根路径*/
function getCertRootPath() {return ROOT_PATH.'public/cert/';
}/*** 写日志* @param $data : 数据* @param $fileName : 写入哪个日志*/
function logs($data = null, $fileName = null)
{if (is_null($data) || is_null($fileName)) {$out_arr['code'] = '400004';return $out_arr;}$path = RUNTIME_PATH . 'log/' . $fileName;if (!is_dir($path)) {$mkdir_re = mkdir($path, 0777, TRUE);if (!$mkdir_re) {$this->logs($data, $fileName);}}$filePath = $path . "/" . date("Y-m-d", time());$time = date("Y-m-d H:i:s", time());$re = file_put_contents($filePath, $time . " " . var_export($data, TRUE) . "\r\n\r\n", FILE_APPEND);if (!$re) {$this->logs($data, $fileName);} else {$out_arr['code'] = '000000';return $out_arr;}
}
4、证书位置:
5、调用方式:
// 支付宝提现
$result = Alipay::alipayTransfer('12345678901234567890', '7564347564', 0.1, '提现');
if ($result) {// 提现成功,处理业务逻辑} else {// 失败,处理业务逻辑}
end
php支付宝单笔转账到支付宝账户,用户提现业务相关推荐
- 支付宝单笔转账到支付宝账户(用于分成或者退款)
超快速接入 支付宝官方文档 直接上代码 SDK AlipayUtils 支付宝官方文档 转账到支付宝用户快速接入 单笔转账到支付宝账户接入助手 直接上代码 SDK <!-- https://mv ...
- 支付宝 单笔转账到支付宝账户接口 - 提现
实现用户提现 资金自动到账 前期的支付宝配置 可以参考文章 支付宝配置 (新版) 当前开发环境: Windows phpstudy ThinkPHP5 支付宝接口新版 1.0 实现提现的步骤 1 开发 ...
- php 个人账户转账,支付宝单笔转账到支付宝个人账户接口 ( PHP 版 )
alipay.fund.trans.toaccount.transfer(单笔转账到支付宝账户接口) 单笔转账到支付宝账户接口是基于支付宝的资金处理能力,为了满足支付宝商家向其他支付宝账户转账的需求, ...
- 支付宝支付之“单笔转账到支付宝账户接口”的调用(生成签名、上传应用公钥、下载SDK、接口调用、报错自动排查、查看错误码)
支付宝接口调用 "单笔转账到支付宝账户"的接口调用,一般涉及到下面几个知识点 1.生成签名 在使用支付宝接口的时候,需要使用支付宝的签名,这里需要使用支付宝的RSA生成工具. 关于 ...
- 平台资金提现解决方案之实现单笔转账到支付宝账户功能
大家好,我是小悟 使用场景 不管是做APP.电脑网站.手机网站还是小程序,为了推广基本上都离不开用户分佣的场景. 换句话说就是在其平台内为每个用户设置"电子钱包"功能,而电子钱包在 ...
- 平台资金提现解决方案之实现支付宝单笔转账到银行卡功能
大家好,我是小悟 使用场景 不管是做APP.电脑网站.手机网站还是小程序,为了推广基本上都离不开用户分佣的场景. 换句话说就是在其平台内为每个用户设置"电子钱包"功能,而电子钱包在 ...
- Java 支付宝支付,退款,单笔转账到支付宝账户(单笔转账到支付宝账户)
上次分享了支付宝订单退款的代码,今天分享一下支付宝转账的操作. 现在是有一个余额提现的功能,本来是打算做提现到银行卡的,但是客户嫌麻烦不想注册银联的开放平台账户,就说先提现到支付宝就行,二期再做银行 ...
- java 支付宝转账_Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝订单退款)...
上一篇写到支付宝的支付,这代码copy下来就能直接用了, 我写学习文档时会经常贴 官方参数文档的案例地址, 因为我觉得 请求参数,响应参数说明 官方文档整理的很好,毕竟官方不会误导大家. 我学一个 ...
- java支付宝提现功能,单笔转账到支付宝账户(公钥证书方式)
最近在开发商户分润系统(给商户分红),涉及到给商户账号提现功能,我们使用的是支付宝转账,通过公钥证书方式实现的. 在支付宝开放平台里找了好久的开发文档,但是介绍更多的是普通公钥的方式,这个方式比较简单 ...
- php 单笔转账到支付宝账户,支付宝公钥证书实现版本
支付宝某些业务只能使用公钥证书方式来验签 如:即使转账 红包等 笔者就要实现这样一个功能,[单笔转账到支付宝账户],采用支付宝公钥证书签名来实现. 话不多说,流程先走起 第一步:下载支付宝秘钥生成器 ...
最新文章
- 神器-unity插件-Odin
- boost::proto模块实现构建算术表达式的简单示例 带有占位符的评估器的测试程序
- 数据库中的DML,DCL,DDL分别是那些操作?
- WCF面向服务应用程序系列之十:绑定-标准绑定(HTTP/TCP)
- cdh搭建hadoop集群_Hadoop宿醉:使用Apache Whirr启动hadoop集群CDH4
- 攻城掠地sdk服务器没有响应,攻城掠地没落的原因及对策
- 误差反向传播法(二)【神经网络以层的方式实现】
- php 编辑器格式输出_高效PHP开发人员的十大PHP开发工具
- linux远程执行命令
- Rayman的绝顶之路——Leetcode每日一题打卡6
- 日期:将格林尼治时间(GMT)转化为北京时间
- 沙龙干货 Vol.1|如何让游戏广告收益不再艰难?演讲 PPT 免费领取!
- Github官网无法访问问题
- 手机黑屏,但是按开机键有震动,能进系统,usb也能识别fastboot和rec(bl已解)
- 【C语言】打印出一箭穿心图案(简单版)----gotoxy函数
- 云原生监控报警可视化
- 【测绘程序设计】——附合导线近似平差
- Java递归函数实例
- 在iPad利用UTM安装Ubuntu20.04的完整过程+远程操控
- c语言中if条件怎么约束多条,if语句中的表达式不限于逻辑表达式,可以是任意的数值类型...