thinkphp5调用支付宝商户号提现给用户
$out_biz_no = Tools::buildOrderNo();
$res = $this->userWithDraw($cash_id,$approve_status,$out_biz_no,$payee_account,$amount); private function userWithDraw($cash_id,$approve_status,$out_biz_no,$payee_account,$amount)
{
$ret = false;
include(EXTEND_PATH.'/alipay/AopSdk.php');
$payer_show_name = '付款人姓名';
$remark = "您在XXX商城申请提现受理成功,商户订单号【".$out_biz_no."】,提现金额为".$amount."元,请在支付宝余额进行查看";
$aop = new \AopClient();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';//支付宝网关 https://openapi.alipay.com/gateway.do这个是不变的
$aop->appId = Config::get('custom.alipay.appId');//商户appid 在支付宝控制台找
$aop->rsaPrivateKey = Config::get('custom.alipay.rsaPrivateKey');//私钥 工具生成的
$aop->alipayrsaPublicKey = Config::get('custom.alipay.alipayrsaPublicKey');//支付宝公钥 上传应用公钥后 支付宝生成的支付宝公钥
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='utf-8';
$aop->format='json';
$request = new \AlipayFundTransToaccountTransferRequest();
$request->setBizContent("{" .
"\"out_biz_no\":\"$out_biz_no\"," .
"\"payee_type\":\"ALIPAY_LOGONID\"," .
"\"payee_account\":\"$payee_account\"," .
"\"amount\":\"$amount\"," .
"\"payer_show_name\":\"$payer_show_name\"," .
"\"remark\":\"$remark\"" .
"}"); $result = $aop->execute($request); $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code; if(!empty($resultCode)&&$resultCode == 10000){
//提现成功以后 更新表状态
//并且记录 流水等等
$cash_status = 1;
F_PC::approveStatus($cash_id, $approve_status);
$res = F_PC::cashStatus($cash_id, $cash_status);
if (!$res) {
//提现成功,状态修改失败
$this->code = RetCode::FAILED;
$this->mesg = '提现成功,状态修改失败';
goto ret;
}
goto ret;
ret:
$res = $ret ? true : false;
return $res;
} else {
//$result->$responseNode->sub_msg 这个参数 是返回的错误信息
// $errorCode=json_decode(json_encode($result->$responseNode),TRUE);
//提现失败 写入修改状态提现失败
$cash_status = 2;
$res = F_PC::cashStatus($cash_id, $cash_status);
if (!$res) {
//状态修改失败
$this->code = RetCode::FAILED;
$this->mesg = '状态修改失败';
goto ret;
}
goto ret; $res = $ret ? true : false;
return $res;
}
}

thinkphp5调用支付宝商户号提现给用户的更多相关文章
- thinkphp5.0 微信公众号接入支付宝支付
---恢复内容开始--- 真是无力吐槽这个需求了,想骂客户,好端端的非要在微信公众号接入支付宝,都知道微信公众号是拒绝支付宝的,屏蔽了支付宝,所以在微信公众号接入支付宝的话就必须手动复制链接跳出微信内 ...
- 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付
前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...
- 调用支付宝第三方接口(沙箱环境) SpringMVC+Maven
一.蚂蚁金服开放平台的操作 网址:https://open.alipay.com/platform/home.htm 支付宝扫码登陆
- 微信公众号JSAPI支付-多公众号向同一商户号支付的问题解决
一.背景 项目提供公众号商城集成,在公众号里进行商品的购买,并与多家公众号合作增加渠道流量. . 二.实现 有关微信公众号.商户号的开通与支付绑定不细说 从背景里可知,我们需要实现多个公众号购买向同一 ...
- Django 调用支付宝接口
目录 一 支付宝接口 二 视图函数 支付宝支付 正式环境:用营业执照,申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appD ...
- 调用支付宝接口的简单demo
依赖: <!-- alipay-sdk-java 注意一下版本--> <dependency> <groupId>com.alipay.sdk</groupI ...
- 支付宝alipay使用小结 调用支付宝程序被杀死说明
一. 准备阶段 如果没有蚂蚁金服开放平台的注册账号,则需要实现注册一个,这里多说一点,就是当我们以公司名义注册账号时,需要预备公司的营业执照等物品(需要上传照片等信息审核).账号申请成功之后,我们需要 ...
- android应用程序如何调用支付宝接口
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...
- android应用程序如何调用支付宝接口(转)
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...
随机推荐
- python xlwt模块生成excel文件并写入数据 xlrd读取数据
python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...
- Python——Twisted框架(网络通信)
一.简介 twisted是一个封装好的网络通信的库,可以帮助我们快速进行网络编程.注意,python3中,字符串必须转码成utf8的格式,否则无法发送.比如str("test"). ...
- python之装饰器初识
一.@abstractmethod 1.抽象类的作用:规范编程模式 多人开发.复杂的需求.后期的扩展 是一种用来帮助我们完成规范化的手段 2.如何定义抽象类 1,from abc import ABC ...
- Django_rbac_demo 权限控制组件框架模型
rbac 权限控制组件 基于角色的权限控制 本质每个权限即为一个 URL 项目组件结构 表结构 Role (title, permission) -(ManyToManyField)- User ...
- 【JVM】类加载机制
原文:[深入Java虚拟机]之四:类加载机制 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.它们开始的顺序如下图所示: 类加 ...
- sublime text 批量删除空白行
CTRL+H打开replace功能,勾选上左侧的regular expression,并填写 find what栏 : \s+$ (正则表达式)replace with栏 : (这行留空) 接着点r ...
- Mycat的分库分表
其他方法: 雪花算法或者redis来实现id不重复的问题. 数据库分库分表: 垂直拆分的优缺点: 水平拆分: 分片枚举:即根据枚举(定义的常量)进行分类存储.
- 爬虫保存cookies时重要的两个参数(ignore_discard和ignore_expires)的作用
两个参数的作用: 官方的解释: ignore_discard: save even cookies set to be discarded. ignore_expires: save even coo ...
- 《JavaScript.DOM》读书笔记
- JN_0005:PS改变图片指定内容颜色
1,打开图片. 2,选择选区,抽取出独立图存 选中选区,按ctrl + alt + j ,抽取图层. 3,选中图层,再按住 ctrl,点击图层图标 的白色选区处,即可选中图层中的内容. 4,选中图层内 ...