浏览代码

二合一支付sdk

15954078560 1 年之前
父节点
当前提交
a52bf2097e
共有 1 个文件被更改,包括 292 次插入0 次删除
  1. 292 0
      application/api/controller/Pay.php

+ 292 - 0
application/api/controller/Pay.php

@@ -308,6 +308,298 @@ class Pay extends Api
 
         $this->success('链接', $rs['data']);
     }
+
+    //SDK二合一支付
+    public function paysdk() {
+        $user_token = input('user_token', '', 'trim');
+        $diversionfst = input('diversionfst', '', 'trim'); //位置等导流标识
+        $diversioncsk = input('diversioncsk', '', 'trim'); //内容等导流标识
+        $trace_id = input('trace_id', '', 'trim'); //大数据推荐内容有trace_id
+        $contentid = input('contentid', '', 'trim'); //订购媒资的媒资movie_id
+
+        if (!$user_token) {
+            $this->error('参数缺失');
+        }
+
+        //生成支付订单记录
+        $rechar_order['user_id'] = $this->auth->id;
+        $rechar_order['order_no'] = date('YmdHis', time()) . $this->auth->id . rand(10000000, 99999999); //微信订单编号
+        $rechar_order['money'] = 49;
+        $rechar_order['purpose'] = 3; //充值用途:1=支付订单,2=充值,3=开通会员
+        $rechar_order['pay_type'] = 'zhuowang';
+        $rechar_order['relation_id'] = 1;
+        $rechar_order['createtime'] = time();
+
+        //开始事务
+        $result = Db::name('rechar_order')->insertGetId($rechar_order);
+        if (!$result) {
+            $this->error('网络延迟,请稍后再试');
+        }
+
+        $url = 'http://' . config('pay_ip') . '/HDC/3.0/hop/svc/pay/toPay.ajax';
+        $data = [
+            'transId' => $rechar_order['order_no'],
+            'orderNo' => $rechar_order['order_no'],
+            'userToken' => $user_token,
+            'notifyUrl' => config('img_url') . '/api/pay/notify',
+            'backUrl' => config('back_url'),
+            'deskCode' => config('desk_code'),
+            'products' => [
+                [
+                    'productCode' => config('product_code'),
+                    'productPrice' => '29',
+                    'productUnit' => '个',
+                    'productCount' => 1
+                ],
+                /*[
+                    'productCode' => '005912cp0028',
+                    'productPrice' => '0',
+                    'productUnit' => '7天体验',
+                    'productCount' => 1
+                ],*/
+                [
+                    'productCode' => '005912cp0004',
+                    'productPrice' => '0',
+                    'productUnit' => '30天体验',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '0002112cp0030',
+                    'productPrice' => '0',
+                    'productUnit' => '90天体验',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005911cp0022',
+                    'productPrice' => '199',
+                    'productUnit' => '年度特惠',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0051',
+                    'productPrice' => '119',
+                    'productUnit' => '半年特惠',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0052',
+                    'productPrice' => '59',
+                    'productUnit' => '季度特惠',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0044',
+                    'productPrice' => '20',
+                    'productUnit' => '咪咕叠加包',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0047',
+                    'productPrice' => '30',
+                    'productUnit' => '咪咕叠加包',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '0002112cp0031',
+                    'productPrice' => '39',
+                    'productUnit' => '畅享会员',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0035',
+                    'productPrice' => '20',
+                    'productUnit' => '两年特惠',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0043',
+                    'productPrice' => '20',
+                    'productUnit' => '两年折扣',
+                    'productCount' => 1
+                ],
+                /*[
+                    'productCode' => '005912cp0034',
+                    'productPrice' => '468',
+                    'productUnit' => '两年特惠',
+                    'productCount' => 1
+                ],*/
+                [
+                    'productCode' => '005912cp0046',
+                    'productPrice' => '49',
+                    'productUnit' => '连续包月',
+                    'productCount' => 1
+                ],
+                /*[
+                    'productCode' => '005912cp0039',
+                    'productPrice' => '12',
+                    'productUnit' => '一日会员',
+                    'productCount' => 1
+                ],*/
+                [
+                    'productCode' => '0002112cp0031T1',
+                    'productPrice' => '1',
+                    'productUnit' => '畅享折扣',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '0002112cp0031T9',
+                    'productPrice' => '9',
+                    'productUnit' => '畅享折扣',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '0002112cp0031T19',
+                    'productPrice' => '19',
+                    'productUnit' => '畅享折扣',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '0002112cp0029',
+                    'productPrice' => '29',
+                    'productUnit' => '限时特惠',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0002',
+                    'productPrice' => '35',
+                    'productUnit' => '畅享特惠',
+                    'productCount' => 1
+                ],
+                /*[
+                    'productCode' => '0002112cp0031Z39',
+                    'productPrice' => '39',
+                    'productUnit' => '畅享会员',
+                    'productCount' => 1
+                ],*/
+                /*[
+                    'productCode' => '005912cp0040',
+                    'productPrice' => '39',
+                    'productUnit' => '月包会员',
+                    'productCount' => 1
+                ],*/
+                [
+                    'productCode' => '005912cp0036',
+                    'productPrice' => '105',
+                    'productUnit' => '连续包季',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0021',
+                    'productPrice' => '299',
+                    'productUnit' => '连续包年',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0012',
+                    'productPrice' => '365',
+                    'productUnit' => '连续包年',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0037',
+                    'productPrice' => '59',
+                    'productUnit' => '30天会员',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005911cp0001',
+                    'productPrice' => '111',
+                    'productUnit' => '季度会员',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005911cp0005',
+                    'productPrice' => '209',
+                    'productUnit' => '半年会员',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005911cp0002',
+                    'productPrice' => '399',
+                    'productUnit' => '年度会员',
+                    'productCount' => 1
+                ],
+                /*[
+                    'productCode' => '008888cp0004',
+                    'productPrice' => '399',
+                    'productUnit' => '线下年包',
+                    'productCount' => 1
+                ],*/
+                /*[
+                    'productCode' => '2400000560_YRHY',
+                    'productPrice' => '5',
+                    'productUnit' => '一日会员',
+                    'productCount' => 1
+                ],*/
+                /*[
+                    'productCode' => '005912cp0017',
+                    'productPrice' => '39',
+                    'productUnit' => '手柄',
+                    'productCount' => 1
+                ],*/
+                /*[
+                    'productCode' => '2000012947_ZY',
+                    'productPrice' => '39',
+                    'productUnit' => '手柄',
+                    'productCount' => 1
+                ],*/
+                /*[
+                    'productCode' => '005912cp0066',
+                    'productPrice' => '499',
+                    'productUnit' => '年度会员',
+                    'productCount' => 1
+                ],
+                [
+                    'productCode' => '005912cp0067',
+                    'productPrice' => '998',
+                    'productUnit' => '两年会员',
+                    'productCount' => 1
+                ],*/
+            ],
+            'diversionCode' => config('product_code')
+        ];
+        if ($diversionfst) {
+            $data['diversionFST'] = 'SC::' . $diversionfst;
+        }
+        if ($diversioncsk) {
+            $data['diversionCSK'] = '::' . $diversioncsk;
+        }
+        if ($trace_id) {
+            $data['trace_id'] = $trace_id;
+        }
+        if ($contentid) {
+            $data['contentid'] = $contentid;
+        }
+
+        $data = json_encode($data, 320);
+        //获取鉴权token
+        $sign_bytes = '/3.0/hop/svc/pay/toPay.ajax' . $this->base16_encode(md5($data));
+        $hdc_token = hash_hmac('sha256', $sign_bytes, base64_decode(config('pay_appkey')), false);
+        $header = [
+            'Host:' . config('pay_ip'),
+            'HDC-Service:2',
+            'HDC-APPID:' . config('pay_appid'),
+            'HDC-Token:' . $hdc_token,
+            'Content-Type:application/json'
+        ];
+
+        $return_data['url'] = $url;
+        $return_data['data'] = $data;
+        $return_data['host'] = config('pay_ip');
+        $return_data['appid'] = config('pay_appid');
+        $return_data['token'] = $hdc_token;
+
+        /*$rs = httpRequest($url, 'POST', $data, $header);
+        if (!$rs) {
+            $this->error('您的网络开小差了~');
+        }
+        $rs = json_decode($rs, true);
+        if ($rs['resultCode'] != 0) {
+            $this->error('您的网络开小差了~');
+        }*/
+
+        $this->success('参数', $return_data);
+    }
     
     //支付回调
     public function notify() {