官方文档
下载支付宝sdk后解压放到extend目录下
在public/index.php中定义常量
参考文档

define('ALI_PATH',__DIR__.'/../extend/alipay/aop/');

创建控制器并写入代码

require ALI_PATH.'AopClient.php';
require ALI_PATH.'request/AlipayFundAuthOrderAppFreezeRequest.php';class Ali extends Controller{public static $appid = ''; //appidpublic static $pub_key = ''; //应用公钥public static $prikey = ''; //应用私钥public static $alipubkey = '';//支付宝公钥public function shouquan(){$aop = new \AopClient ();$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$aop->appId = self::$appid;$aop->rsaPrivateKey = self::$prikey;$aop->alipayrsaPublicKey=self::$alipubkey;$aop->apiVersion = '1.0';$aop->signType = 'RSA2';$aop->postCharset='UTF-8';$aop->format='json';$request = new \AlipayFundAuthOrderAppFreezeRequest ();$order_no = time().rand(1111,9999).'orderid';$l = time().rand(1111111,9999999).'liushui';DB::name('ali_demo')->insert(['order_no'=>$order_no,'l'=>$l]); //将生成的订单号和流水号存储在数据库,查订单,撤销订单时需要用到$request->setBizContent("{" ."\"out_order_no\":\"".$order_no."\"," . //商户订单号"\"out_request_no\":\"".$l."\"," .       //商户流水号"\"order_title\":\"测试预授权冻结\"," .    //描述"\"amount\":0.01," .                      //金额"\"product_code\":\"PRE_AUTH_ONLINE\"," .  //销售产品码 固定值PRE_AUTH_ONLINE"\"payee_logon_id\":\"alidemo@163.com\"," . //收款方支付宝账号 邮箱或手机号"\"payee_user_id\":2088***********," . //支付宝用户id 与上方参数任选其一"\"pay_timeout\":\"90m\"," . //最晚付款时间 90m表示90分钟后      "\"scene_code\":\"ONLINE_AUTH_COMMON_SCENE\"," . //业务场景"\"trans_currency\":\"CNY\",". //标价币种 CNY表示人民币"\"settle_currency\":\"CNY\",". //结算币种"\"enable_pay_channels\":\"[{\\\"payChannelType\\\":\\\"PCREDIT_PAY\\\"},{\\\"payChannelType\\\":\\\"MONEY_FUND\\\"}]\"" . //指定支付渠道 花呗 余额宝"  }");$request->setNotifyUrl(''); //请求成功后的回调地址$result = $aop->sdkexecute ( $request);return json_encode($result);}
}

上面的方法返回一个字符串,将字符串传到前端,前端用这个字符串来唤起支付页面,在支付宝app执行资金冻结
小程序前端官方文档
小程序代码

aliget() {my.request({url: '', //请求资金预授权接口 返回一个长字符串data:{id:9},method: 'GET',success: function (res) {   my.tradePay({// 调用资金冻结接口(alipay.fund.auth.order.app.freeze),获取资金授权参数orderStr: res.data,success: (res) => {my.request({url: '', //我是在这里做的回调 官方的回调不知道为什么一直没有执行data:{data:res.result}, //将支付宝返回的数据传到后台type:"post",success:function(res){//授权成功}})console.log(res); },fail: (res) => {my.alert({content: JSON.stringify(res),});} })},// 调用失败的回调函数 fail: function (res) {my.alert({ content: 'fail' });}, });},

在回调中保存支付宝授权号,流水号等,别的接口能用到
后台回调代码

public function ordercreate(){$res = json_decode(input('data'));$order = AliOrder::where('order_no',$res->alipay_fund_auth_order_app_freeze_response->out_order_no)->find();$order->auth_no = $res->alipay_fund_auth_order_app_freeze_response->auth_no;$order->user_id = $res->alipay_fund_auth_order_app_freeze_response->payer_user_id;$order->ali_liushui = $res->alipay_fund_auth_order_app_freeze_response->operation_id;$order->status = 1;$order->save();}

tp5框架中调用支付宝线上资金预授权alipay.fund.auth.order.app.freeze接口相关推荐

  1. jwt php tp5,TP5框架中使用JWT的方法示例

    本文实例讲述了TP5框架中使用JWT的方法.共享给大家供大家参考,详细如下: 可以直接去github上下载,也可以使用composer 使用composer的话要保证你的电脑上安装了composer, ...

  2. 11.9支付宝线上支付接口使用

    2018-11-9 14:07:40 支付宝线上支付接口使用 放上github连接: https://github.com/TrueNewBee/pythonDemo/blob/master/Alip ...

  3. 基于SSM框架的个性化眼镜线上销售系统+论文第三稿+已降重+包安装配置

    项目名称 基于SSM框架的个性化眼镜线上销售系统 视频效果 基于SSM框架的个性化眼镜线上销售系统 项目地址: https://download.csdn.net/download/m0_721809 ...

  4. vue支付宝html,vue 解决在微信内置浏览器中调用支付宝支付的情况

    我的思路大概是这样的 1. 验证是否是在微信内置浏览器中调用支付宝 2.给支付页面的url加上调用接口所需的参数(因为在微信里是不能直接调用支付宝的需要调用外部浏览器) 3.在外部浏览器中完成支付跳转 ...

  5. 深入理解MySQL8中死锁及线上故障解决

    深入理解MySQL8中死锁及线上故障解决 一.什么是死锁 死锁是指两个或两个以上的事务在执行过程中,因争夺锁资源而造成的一种互相等待的现象. 若无外力作用,事务都将无法推进下去. 解决死锁问题最简单的 ...

  6. 韩国国际文化交流振兴院将于2月公开发布中韩文化线上旅游视频;意大利国家旅游局官方小程序正式上线 | 全球旅报...

    北京华尔道夫酒店紫金阁中餐厅两度摘得<北京米其林指南>一星殊荣.拥有全球美食界权威标杆之称的<米其林指南>公布2022年北京米其林指南星级餐厅名单,北京华尔道夫酒店备受赞誉的紫 ...

  7. 在线教育、精品课程、直播课、课程交流、历史观看、订单、收藏、余额、推荐、关注、购买课程、充值、产品设计、线上教育、视频课程、教育app、在线课堂、网络教学、远程教育、教学辅导、学习平台、K12教育

    在线教育.精品课程.直播课.课程交流.历史观看.订单.收藏.余额.推荐.关注.购买课程.充值.产品设计.线上教育.视频课程.教育app.在线课堂.网络教学.远程教育.教学辅导.学习平台.K12教育 A ...

  8. webbrowser 打开支付宝网页提示无权打开_在押人员生活缴费更便利:支付宝线上“智慧监所”...

    作为在押人员的家属,以往只能通过邮政汇款或者看守所现场缴费的方式接济嫌疑人,目前上海部分看守所已开通支付宝"智慧监所"线上缴费服务.足不出户便可完成"生活缴费" ...

  9. 如何在spring boot+maven项目中调用支付宝第三方接口(沙箱环境)

    一 首先第一步需要去支付宝的开放平台做一些操作,输入下面的网址:网址 (需要登陆,扫码或者用户密码登陆)登陆网站以后 具体操作如下面视图: 开发者中心->研发服务(沙箱) -----这里需要开通 ...

最新文章

  1. 因为爱情,才有了思科
  2. Redhat Linux RHEL6配置本地YUM源及错误处理
  3. C#3.0入门系列(五)-之Where操作
  4. 测试socket udp 单次传输数据上限(sendto()函数data不能超过65507字节。udp头占8字节,ip头占20字节,加起来正好65535字节)
  5. wine的sys文件具体位置
  6. Silverlight智能表单(3)之XML存储
  7. html字体代码大全_HTML基础笔记(一)
  8. Eclipse插件安装出现Duplicate location错误
  9. Android Studio + TensorFlow lite 0.1.7
  10. ubuntu18.04窗口截图和选区截图快捷键
  11. android 长时间 build,Gradle(Android Studio)构build时间非常长
  12. 壳的机制以及脱壳技术
  13. android界面设计开发总结
  14. win10系统还原点怎么设置
  15. SQL注入漏洞攻守之道
  16. 利用阿里云搭建NFS服务器
  17. js json操作,qk-json
  18. MP3 推荐/ MP3压缩
  19. 恢复模糊的图像 SmartDeblur
  20. 二进制好看的深浅色系颜色大全

热门文章

  1. fx5u模拟量如何读取_三菱fx5u模拟量输入接线
  2. Java 线程池及参数动态调节详解
  3. APUE编程:83---信号处理(SIGABRT信号与abort函数)
  4. python下对bin文件的处理
  5. 云音乐小程序开发知识小记(上)
  6. JavaScript(js)基础
  7. [电路笔记]非线性电路
  8. 蓝牙初学者要知道的几件事
  9. python re 中文_python处理中文编码
  10. iphoneipad图标尺寸