签到送积分,分享赚积分,用积分免费下载全站资源

本文由 资源共享网 – ziyuan 发布,转载请注明出处,如有问题请联系我们!最简单易懂的支付宝支付php源码(一个业务一个文件)

  • 资源分类:php
  • 最后更新:2022-09-22
  • 下载积分:10【升级会员送积分】
  • 积分说明:【上传资源赚积分】
  • 资源语言: 中文
    提示:资源共享网(www.08i8.com)PHP资源《最简单易懂的支付宝支付php源码(一个业务一个文件)》仅供研究学习请勿商用!


    网上的很多PHP支付宝支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的(代码只有200行左右),每个文件独立运行,不依赖和引入其他文件。希望可以给各位想接入支付宝的带来些许帮助和借鉴意义。


    # 环境依赖

    PHP5.0以上,且需要开启Curl服务、SSL服务。

    # 文件对应说明

    pc.php   电脑网站支付

    wap.php   手机网站支付

    qrcode.php   当面付(扫码支付)

    barcode.php   当面付(条码支付)

    jsAPI.php   js原生支付(支付宝扫码打开网页,在网页中调起支付宝原生支付)

    transfers.php 单笔转账到支付宝账户

    settle.php   交易结算(分账、分润)

    authorize.php  网页授权获取用户信息

    close.php 交易关闭接口

    refund.php 退款

    return.php   同步回调通知

    notify.php   异步回调通知


    # 注意事项

    1.需要用到支付宝哪一种支付方式,就只下载对应的单个文件即可。

    2.文件开头的配置信息必须完善


    ===========================================================

    正常用上面的文件就可以了,还有的同学用的是别人的框别架,习惯控制器,下面提供三个

    1:支付宝支付控制器。

      <?php
     namespace APP\mobile\controller;
      use app\mobile\model\Goods;
      use app\mobile\model\OrderGoods;
      use think\Controller;
      
      class Pay extends Controller
     {
          public function pay_order()
         {
             $res = new OrderGoods();
             //获取订单号
             $where['id'] = input('post.order_sn');
             $reoderSn = input('post.order_sn');
            //查询订单信息
             $order_info = $res->where($where)->find();
             //获取支付方式
            $pay_type = input('post.pay_type');//微信支付 或者支付宝支付
             //获取支付金额
             $money = input('post.totle_sum');
             //判断支付方式
             switch ($pay_type) {
                 case 'ali';//如果支付方式为支付宝支付
     
                     //更新支付方式为支付宝
                    $type['pay_type'] = 'ali';
                     $res->where($where)->update($type);
    
                     //实例化alipay类
                    $ali = new Alipay(); 
    
                     //异步回调地址
                     $url = 'XXXXXXXXXXXXXXXXXX/Callback/aliPayBack';
                  
                     $array = $ali->alipay('商品名称', $money,$reoderSn,  $url);
                     
                    if ($array) {
                        return $array;
                     } else {
                         echo JSON_encode(array('status' => 0, 'msg' => '对不起请检查相关参数!@'));
                     }
                     break;
                 case 'wx';
                   
                   break;
           }
        }
     }


    2:支付宝支付配置参数控制器。

    class AliPay extends Controller
    {
    
        protected $appId = '';//支付宝AppId
        protected $rsaPrivateKey = '';//支付宝私钥
        protected $aliPayRsaPublicKey = '';//支付宝公钥
        private $seller = '';
    
        /*
         * 支付宝支付
         */
        public function aliPay($body, $total_amount, $product_code, $notify_url)
        {
            /**
             * 调用支付宝接口。
             */
            /*import('.Alipay.aop.AopClient', '', '.php');
            import('.Alipay.aop.request.AlipayTradeAppPayRequest', '', '.php');*/
            Loader::import('Alipay\aop\AopClient', EXTEND_PATH);
            Loader::import('Alipay\aop\request\AlipayTradeAppPayRequest', EXTEND_PATH);
    
            $aop = new \AopClient();
    
            $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
            $aop->appId = $this->appId;
            $aop->rsaPrivateKey = $this->rsaPrivateKey;
            $aop->format = "json";
            $aop->charset = "UTF-8";
            $aop->signType = "RSA2";
            $aop->alipayrsaPublicKey = $this->aliPayRsaPublicKey;
            $request = new \AlipayTradeAppPayRequest();
            $arr['body'] = $body;
            $arr['subject'] = $body;
            $arr['out_trade_no'] = $product_code;
            $arr['timeout_express'] = '30m';
            $arr['total_amount'] = floatval($total_amount);
            $arr['product_code'] = 'QUICK_MSECURITY_PAY';
            
            $json = json_encode($arr);
            $request->setNotifyUrl($notify_url);
            $request->setBizContent($json);
    
            $response = $aop->SDKexecute($request);
            return $response;
    
        }
    
    
        function createLinkstring($para)
        {
            $arg = "";
            while (list ($key, $val) = each($para)) {
                $arg .= $key . "=" . $val . "&";
            }
            //去掉最后一个&字符
            $arg = substr($arg, 0, count($arg) - 2);
    
            //如果存在转义字符,那么去掉转义
            if (get_magic_quotes_gpc()) {
                $arg = stripslashes($arg);
            }
    
            return $arg;
        }
    
    
        function argSort($para)
        {
            ksort($para);
            reset($para);
            return $para;
        }
    }


    3:支付宝回调地址控制器。

      <?php
      namespace app\mobile\controller;
      use app\mobile\model\OrderGoods;
      use app\mobile\model\IntegralRecord;
      use app\admin\model\SystemSettings;
      use app\mobile\model\Members;
      use think\Controller;
      use think\Request;
      use think\Db;
     
     class Callback extends Controller
     {
         /*
          * 支付宝支付回调修改订单状态
          */
         public function aliPayBack()
         {
     
             if ($_POST['trade_status'] == 'TRADE_SUCCESS') {//如果支付成功
                 //===============修改订单状态===========================//
                 $order = new OrderGoods();//实例化
                 $orderSn = $_POST['out_trade_no'];//获取订单号
                     $where['order_sn'] = $orderSn;
                     $data1['type'] = 2;
                 $order->where($where)->update($data1);//修改订单状态
                 echo 'success';
                 exit;
             }
         }
     }






    本页网址:https://www.08i8.com/ttkfzy/detail83194.html


    相关函数类库


  • 一个函数搞定微信支付(一个业务一个函数简单清楚)

    一个函数搞定微信支付(一个业务一个函数简单清楚)

    每个文件独立运行,不依赖和引入其他文件,希望可以给各位想接入微信支付的带来些许帮助和借鉴意义。# 环境依赖PHP5.0以上,且需要开启CURL服务、SSL服务。# 文件对应说明native.php 原生支付(扫码支付)barcode.php 刷卡支付(商户扫描用户收款码)jsapi.php 公众号支付H5.php H5支付redpack.php 现金红包transfers....

    10 1737  0



  • 一个函数搞定微信支付(一个业务一个函数简单清楚)

    一个函数搞定微信支付(一个业务一个函数简单清楚)

    每个文件独立运行,不依赖和引入其他文件,希望可以给各位想接入微信支付的带来些许帮助和借鉴意义。# 环境依赖PHP5.0以上,且需要开启CURL服务、SSL服务。# 文件对应说明native.php 原生支付(扫码支付)barcode.php 刷卡支付(商户扫描用户收款码)jsapi.php 公众号支付H5.php H5支付redpack.php 现金红包transfers....

    10 1737  0

  • ziyuan

    ziyuan Rank: 16

    0

    0

    0

    ( 此人很懒并没有留下什么~~ )
    img

    最简单易懂的支付宝支付php源码(一个业务一个文件)

    下载积分 钻石会员
    10 免费
    请您 登录后 下载 !
    说明

    您下载所消耗的积分将转交上传作者。上传资源,免费获取积分!


    首页

    栏目

    搜索

    会员