###发起支付

   public function _initialize(){Vendor('Alipay.wappay.service.AlipayTradeService');Vendor('Alipay.wappay.buildermodel.AlipayTradeWapPayContentBuilder');}//商城public function pay(){$config = config('Alipay');$order_id = intval(input("param.order_id/d",0));if(empty($order_id)){$this->error("订单有误");}$order = Db::name('order')->where(array('id'=>$order_id))->find();if(empty($order)){$this->error("订单有误");}//商户订单号,商户网站订单系统中唯一订单号,必填$out_trade_no = $order['order_sn'];//订单名称,必填// $subject = rtrim($order['good_name'],'/');//商品名称过长导致无法跳转支付宝$subject = "商城购物";//付款金额,必填$total_amount =  $order['total_price'];// $total_amount = 0.01;$body = "";//构造参数$payRequestBuilder = new \AlipayTradeWapPayContentBuilder();$payRequestBuilder->setBody($body);$payRequestBuilder->setSubject($subject);$payRequestBuilder->setTotalAmount($total_amount);$payRequestBuilder->setOutTradeNo($out_trade_no);$config['notify_url'] = "http://www.kjdwlsc.com/index/Alipay/xiaofei_notify_url";$aop = new \AlipayTradeService($config);$response = $aop->wapPay($payRequestBuilder,$config['return_url'],$config['notify_url']);}

###回调处理,异步跳转

    public function xiaofei_notify_url(){$config = config('Alipay');$config['notify_url'] = "http://www.kjdwlsc.com/index/Alipay/xiaofei_notify_url";$arr=$_POST;$alipaySevice = new \AlipayTradeService($config);$alipaySevice->writeLog(var_export($_POST,true));$result = $alipaySevice->check($arr);/* 实际验证过程建议商户添加以下校验。1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号,2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额)*/if($result) {//验证成功//请在这里加上商户的业务逻辑程序代//获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表//商户订单号$arr = input('post.');$map['out_trade_no'] = $arr['out_trade_no'];//支付宝交易号$map['transaction_id'] = trim($arr['trade_no']);//交易状态$trade_status = $arr['trade_status'];if($arr['trade_status'] == 'TRADE_FINISHED'|| $trade_status == 'TRADE_SUCCESS') {//判断该笔订单是否在商户网站中已经做过处理//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序//请务必判断请求时的total_amount与通知时获取的total_fee为一致的//如果有做过处理,不执行商户的业务程序$list = Db::name("order")->where(array("order_sn"=>$map['out_trade_no']))->update(array("pay_time"=>time(),"status"=>10));if($list){echo "success"; //请不要修改或删除}}}else {//验证失败echo "fail";}}


如有不足,欢迎评论指导,转载请注明来源!

手机端调起支付宝支付相关推荐

  1. 抖音小程序调起支付宝支付php微擎代码和HTML代码

              抖音小程序调起支付宝支付php微擎代码和HTML代码 内部订单号生成后,下一步调支付宝支付.内部订单号没有成功的看https://blog.csdn.net/weixin_3761 ...

  2. PHP 支付PC端扫码支付、APP接口调起支付宝支付、微信公众号接入支付宝支付

    第一:第三方支付原理 第二:支付接口申请流程 地址:https://docs.open.alipay.com/270/105899/ : 参考地址:https://blog.csdn.net/nove ...

  3. 手机网站调起支付宝支付

    手机网站调起支付宝支付 由于前几天公司要求我来做支付模块,于是我在总结了各路大佬的代码之后加上了自己的需求,现在把代码和步骤给大家分享出来,希望可以帮到大家. 1.进入支付宝开放平台>开发者中心 ...

  4. 通过支付宝二维码链接直接调起支付宝支付

    项目里面遇到要通过支付宝二维码调起支付宝应用支付的功能,做完之后在此记录一下: Intent intent = new Intent(Intent.ACTION_VIEW); Uri uri = nu ...

  5. 支付宝支付开发实践总结-Java-支付宝当面付-支付宝小程序-二维码生成-支付宝退款-APP调起支付宝支付

    虽然目前相对较火的支付方式是微信支付,但是本人更喜欢支付宝支付,有积分拿,还可以部分提现免手续费,每月还有信用卡还款免手续费额度,捐步数,蚂蚁森林等等,扯远了,总之,对我来说,微信用于沟通,支付宝是支 ...

  6. 【uniapp】省市区 三级联动 手机端 picker,支付宝小程序省市区

    效果图 1. 支付宝小程序 不兼容 此方法 template <picker class="pickerList" mode="multiSelector" ...

  7. php 支付宝手机端_PHP 手机支付宝接口

    /*配置信息*/ function config(){ $alipay_config = array( 'partner' => '2088210265284197',       //PID ...

  8. APP支付之支付宝支付

    #java版支付宝app支付流程及原理分析 本实例是基于springmvc框架编写springboot架构 一. 流程步骤 官方文档链接:https://docs.open.alipay.com. 1 ...

  9. 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

    前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...

最新文章

  1. windows10配置jenkins
  2. python list numpy array 互转
  3. 王洪超:WPF催熟整个软件生态链
  4. localdate转date时区问题_时间戳和LocalDateTime和Date互转和格式化
  5. 面向对象编程基础 (一)
  6. linux怎么编译并安装busybox,linux下安装busybox
  7. 恢复VMware vSphere已孤立的虚拟机
  8. python开发个人博客_手把手教你用 Python + Flask 搭建个人博客
  9. 停止linux下正在执行的ping命令
  10. 畅享网助力打造IT界的文化人
  11. iOS: 环信的推送
  12. 【BZOJ】1013: [JSOI2008]球形空间产生器sphere(高斯消元)
  13. 【蓝桥杯单片机】独立按键和矩阵按键
  14. Maven的Pom文件 ( Eclipse中创建Maven工程, 使用注意点,DevOps相关)
  15. Win10 桌面图标出现空文件夹的删除及桌面图标排列问题
  16. 妮可妮可妮 [Hash]
  17. CSDN积分不够了怎么办?快速获得积分看这里
  18. 15ubuntu20.04离线安装openssh8.9.p1
  19. keystore生成自签名证书
  20. git-bash的alias别名设置

热门文章

  1. 在千峰“逆战”学习的第18天
  2. react 全局改变滚动条样式
  3. transition: background-color 0.5s ease-in 0s
  4. 字符串连接(c语言实现)
  5. 多频外差法(三频四相)理论及代码
  6. IntelliJ IDEA 14 注册码
  7. wps教鞭功能_(完整)《初识wps演示》教学设计及反思
  8. PADS VX2.4在WIN10系统中菜单显示不全的解决方法
  9. keil 5与proteus8.9仿真实现四路抢答计分器
  10. JavaGUI:多功能计算器(三)--AWT多语言定制(完整源码)