diff --git a/Application/Sdk/Controller/Ipa365Controller.class.php b/Application/Sdk/Controller/Ipa365Controller.class.php index 5776089c9..44e8e02a6 100644 --- a/Application/Sdk/Controller/Ipa365Controller.class.php +++ b/Application/Sdk/Controller/Ipa365Controller.class.php @@ -7,127 +7,255 @@ use Mobile\Controller\SsgController; // a8eeac3335cef5ee117d357738598f691932513b class Ipa365Controller extends BaseController{ - const signprice = 10; // 超级签价格 - public $userinfo; - - public function __construct() { - $this->userinfo = $_SESSION['onethink_home']['user_auth']; - parent::__construct(); - } - + const signprice = 10; // 超级签价格 + public $userinfo; + + public function __construct() { + $this->userinfo = $_SESSION['onethink_home']['user_auth']; + parent::__construct(); + } + public function test(){ - $user = $this->userinfo; - pp($user); - die(); - $ipa365 = new Ipa365Controller(); - $result = $ipa365->pay_notify(array( - 'trade_id' => "2222", - 'order_id' => "SS_20190924170241aEYL" - )); - - pp($result); - - die(); - $userId = 1; - $gameId = 1; - - $param['price'] = 0.01; - - $param['spend_ip'] = get_client_ip(); - $param['sdk_version'] = '2'; - $param['user_id'] = $userId; - $param['game_id'] = $gameId; - $param['order_id'] = $orderId; - $param['apitype'] = "alipay"; - $param['config'] = "alipay"; - $param['signtype']= "MD5"; - $param['server'] = "alipay.wap.create.direct.pay.by.user"; - $param['payway'] = 1; - $param['title'] = $price; - $param['body'] = $price; - $param['callback'] = "http://www.baidu.com"; - $param['notifyurl'] = "https://api.wmtxkj.com/callback.php/Notify/sq_callback"; - $ret = $this->alipay($param); - redirect($ret['url']); - die; - - /* $ipa365 = new Ipa365(); - $list = $ipa365->ticketList(array( - 'token' => 'Ido9idMgbZlJHMQxjSgTHWZMB00PFEus', - 'limit' => 1, - )); - - pp($list['data']['list'][0]); */ - // 授予udid下载权限并获取下载地址 - $ret = $ipa365->udidRequest(array( - 'token' => 'Ido9idMgbZlJHMQxjSgTHWZMB00PFEus', - 'udid' => 'a8eeac3335cef5ee117d357738598f691932513b', - )); - pp($ret); - $ret = $ipa365->getinfo(array( - 'token' => 'Ido9idMgbZlJHMQxjSgTHWZMB00PFEus', - 'udid' => 'a8eeac3335cef5ee117d357738598f691932513b', - )); - pp($ret); + $user = $this->userinfo; + pp($user); + die(); + $ipa365 = new Ipa365Controller(); + $result = $ipa365->pay_notify(array( + 'trade_id' => "2222", + 'order_id' => "SS_20190924170241aEYL" + )); + + pp($result); + + die(); + $userId = 1; + $gameId = 1; + + $param['price'] = 0.01; + + $param['spend_ip'] = get_client_ip(); + $param['sdk_version'] = '2'; + $param['user_id'] = $userId; + $param['game_id'] = $gameId; + $param['order_id'] = $orderId; + $param['apitype'] = "alipay"; + $param['config'] = "alipay"; + $param['signtype']= "MD5"; + $param['server'] = "alipay.wap.create.direct.pay.by.user"; + $param['payway'] = 1; + $param['title'] = $price; + $param['body'] = $price; + $param['callback'] = "http://www.baidu.com"; + $param['notifyurl'] = "https://api.wmtxkj.com/callback.php/Notify/sq_callback"; + $ret = $this->alipay($param); + redirect($ret['url']); + die; + + /* $ipa365 = new Ipa365(); + $list = $ipa365->ticketList(array( + 'token' => 'Ido9idMgbZlJHMQxjSgTHWZMB00PFEus', + 'limit' => 1, + )); + + pp($list['data']['list'][0]); */ + // 授予udid下载权限并获取下载地址 + $ret = $ipa365->udidRequest(array( + 'token' => 'Ido9idMgbZlJHMQxjSgTHWZMB00PFEus', + 'udid' => 'a8eeac3335cef5ee117d357738598f691932513b', + )); + pp($ret); + $ret = $ipa365->getinfo(array( + 'token' => 'Ido9idMgbZlJHMQxjSgTHWZMB00PFEus', + 'udid' => 'a8eeac3335cef5ee117d357738598f691932513b', + )); + pp($ret); } - + public function pay_notify_test() { - die(); - $this->pay_notify(array( - 'order_id' => 'SS_20190924102317T2jO', - 'game_id' => 1, - )); + die(); + $this->pay_notify(array( + 'order_id' => 'SS_20190924102317T2jO', + 'game_id' => 1, + )); } - + /** * 订单检查 */ public function pay_order_check() { - - $orderId = I('order_id'); - $order = M('game_supersign', 'tab_')->where(array( - 'order_id' => $orderId - ))->find(); - if (!$order) { - echo "订单不存在!"; - } - if ($order['pay_status'] == 1) { - redirect(U("Ipa365/install_show", [ - 'game_id' => $order['game_id'], - 'order_id' => $order['order_id'] - ])); - } - echo "订单正在处理中.请稍后再试!"; - exit(); + + $orderId = I('order_id'); + $order = M('game_supersign', 'tab_')->where(array( + 'order_id' => $orderId + ))->find(); + if (!$order) { + echo "订单不存在!"; + } + if ($order['pay_status'] == 1) { + redirect(U("Ipa365/install_show", [ + 'game_id' => $order['game_id'], + 'order_id' => $order['order_id'] + ])); + } + echo "订单正在处理中.请稍后再试!"; + exit(); + } + + + /** + *支付中心 + */ + public function pay(){ + $userId = $this->userinfo['user_id']; + $gameId = I("game_id", 0); + //$price = self::signprice; + if (!$userId ) { + redirect("/mobile.php/ssg/login"); + // $this->error("请登入", "/mobile.php/ssg/login"); + } + + $gameInfo = M('game', 'tab_')->field('game_name,supersign_token')->where(array( + 'id' => $gameId, + ))->find(); + + $this->assign("price", self::signprice); + //$this->assign("order_id", $orderId); + $this->assign("game_id",$gameId); + $this->assign("game_name",$gameInfo['game_name']); + $this->display('pay'); } + + + + /* + * 发起支付 + */ + public function dopay() { + $userId = $this->userinfo['user_id']; + if (!$userId ) { + redirect("/mobile.php/ssg/login"); + } + $gameId = I("game_id", 0); + $paytype = I("pay_type", 'ali'); + $price = self::signprice; + + if (!$userId || !$gameId) { + $this->error("参数有误!"); + } + + $payLog = M('game_supersign', 'tab_')->where(array( + 'user_id' => $userId, + 'game_id' => $gameId + ))->find(); + + $gameInfo = M('game', 'tab_')->field('game_name,supersign_token')->where(array( + 'id' => $gameId, + ))->find(); + + if ($payLog && $payLog['pay_status']==0) { + $orderId = $payLog['order_id']; + }elseif ($payLog && $payLog['pay_status']==1){ + $orderId = $payLog['order_id']; + if(stripos($_SERVER['HTTP_HOST'], '.wmtxkj.cn') || $_SERVER['HTTP_HOST']=='127.0.0.1' || stripos($_SERVER['HTTP_HOST'], '.free.idcfengye.com')){ + redirect("http://".$_SERVER['HTTP_HOST']."/sdk.php/Ipa365/install_show/user_id/$userId/game_id/$gameId/order_id/$orderId"); + }else{ + redirect("https://".$_SERVER['HTTP_HOST']."/sdk.php/Ipa365/install_show/user_id/$userId/game_id/$gameId/order_id/$orderId"); + } + $this->error("亲~您已购买过了~请到【订单查询】查看订单信息哟~"); + } else { + $orderId = "SS_" . date('Ymd') . date('His') . sp_random_string(4); // 超级签 + if (!$gameInfo['supersign_token']) { + $this->error("超级签token未填写!"); + } + + $r = M('game_supersign', 'tab_')->add(array( + 'udid' => '', + 'user_id' => $userId, + 'game_id' => $gameId, + 'order_id' => $orderId, + 'pay_price' => $price, + 'pay_status' => 0, + 'ticket' => '', // 调用安装的时候分配 + 'token' => $gameInfo['supersign_token'], + 'create_time' => time() + )); + if (!$r) return -1; + } + if($paytype=='ali'){ + $param['price'] = $price; + $param['sdk_version'] = '2'; + $param['user_id'] = $userId; + $param['game_id'] = $gameId; + $param['order_id'] = $orderId; + $param['apitype'] = "alipay"; + $param['config'] = "alipay"; + $param['signtype']= "MD5"; + $param['server'] = "alipay.wap.create.direct.pay.by.user"; + $param['payway'] = 1; + $param['title'] = $price; + $param['body'] = $price; + //$param['callback'] = "https://m.wmtxkj.com/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; + //$param['notifyurl'] = "https://m.wmtxkj.com/callback.php/Notify/notify/apitype/alipay"; + if(stripos($_SERVER['HTTP_HOST'], '.wmtxkj.cn') || $_SERVER['HTTP_HOST']=='127.0.0.1' || stripos($_SERVER['HTTP_HOST'], '.free.idcfengye.com')){ + $param['callback'] = "http://".$_SERVER['HTTP_HOST']."/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; + $param['notifyurl'] = "http://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay"; + }else{ + $param['callback'] = "https://".$_SERVER['HTTP_HOST']."/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; + $param['notifyurl'] = "https://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay"; + } + + $ali_pay = $this->alipay($param); + redirect($ali_pay); + //var_dump($ali_pay); + }else{ + $weixn = new Weixin(); + $wx_pay = json_decode($weixn->weixin_pay('超级签消费', $orderId, $price, 'MWEB', 4), true); + if($wx_pay['status']==1){ + redirect($wx_pay['mweb_url']); + } + //var_dump($wx_pay); + //$this->assign("wxurl", $wx_pay['mweb_url']); + } + + //$this->assign("url", $ret['url']); + + + + //$this->assign("price", self::signprice); + //$this->assign("order_id", $orderId); + //$this->assign("game_name",$gameInfo['game_name']); + //$this->assign("callback",$param['callback']); + //$this->display(); + } + + /* * 发起支付 */ - public function pay() { - $userId = $this->userinfo['user_id']; - if (!$userId ) { - $this->error("请登入", "/mobile.php/ssg/login"); - } - - $gameId = I("game_id", 0); - $price = self::signprice; - - if (!$userId || !$gameId) { - $this->error("参数有误!"); - } - - $payLog = M('game_supersign', 'tab_')->where(array( - 'user_id' => $userId, - 'game_id' => $gameId - ))->find(); + public function pay1() { + $userId = $this->userinfo['user_id']; + if (!$userId ) { + $this->error("请登入", "/mobile.php/ssg/login"); + } + $gameId = I("game_id", 0); + $price = self::signprice; + + if (!$userId || !$gameId) { + $this->error("参数有误!"); + } + + $payLog = M('game_supersign', 'tab_')->where(array( + 'user_id' => $userId, + 'game_id' => $gameId + ))->find(); $gameInfo = M('game', 'tab_')->field('game_name,supersign_token')->where(array( 'id' => $gameId, ))->find(); - if ($payLog && $payLog['pay_status']==0) { - $orderId = $payLog['order_id']; - }elseif ($payLog && $payLog['pay_status']==1){ + if ($payLog && $payLog['pay_status']==0) { + $orderId = $payLog['order_id']; + }elseif ($payLog && $payLog['pay_status']==1){ $orderId = $payLog['order_id']; if(stripos($_SERVER['HTTP_HOST'], '.wmtxkj.cn') || $_SERVER['HTTP_HOST']=='127.0.0.1' || stripos($_SERVER['HTTP_HOST'], '.free.idcfengye.com')){ redirect("http://".$_SERVER['HTTP_HOST']."/sdk.php/Ipa365/install_show/user_id/$userId/game_id/$gameId/order_id/$orderId"); @@ -136,39 +264,39 @@ class Ipa365Controller extends BaseController{ } $this->error("亲~您已购买过了~请到【订单查询】查看订单信息哟~"); } else { - $orderId = "SS_" . date('Ymd') . date('His') . sp_random_string(4); // 超级签 - if (!$gameInfo['supersign_token']) { - $this->error("超级签token未填写!"); - } - - $r = M('game_supersign', 'tab_')->add(array( - 'udid' => '', - 'user_id' => $userId, - 'game_id' => $gameId, - 'order_id' => $orderId, - 'pay_price' => $price, - 'pay_status' => 0, - 'ticket' => '', // 调用安装的时候分配 - 'token' => $gameInfo['supersign_token'], - 'create_time' => time() - )); - if (!$r) return -1; - } - - $param['price'] = $price; - $param['sdk_version'] = '2'; - $param['user_id'] = $userId; - $param['game_id'] = $gameId; - $param['order_id'] = $orderId; - $param['apitype'] = "alipay"; - $param['config'] = "alipay"; - $param['signtype']= "MD5"; - $param['server'] = "alipay.wap.create.direct.pay.by.user"; - $param['payway'] = 1; - $param['title'] = $price; - $param['body'] = $price; - //$param['callback'] = "https://m.wmtxkj.com/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; - //$param['notifyurl'] = "https://m.wmtxkj.com/callback.php/Notify/notify/apitype/alipay"; + $orderId = "SS_" . date('Ymd') . date('His') . sp_random_string(4); // 超级签 + if (!$gameInfo['supersign_token']) { + $this->error("超级签token未填写!"); + } + + $r = M('game_supersign', 'tab_')->add(array( + 'udid' => '', + 'user_id' => $userId, + 'game_id' => $gameId, + 'order_id' => $orderId, + 'pay_price' => $price, + 'pay_status' => 0, + 'ticket' => '', // 调用安装的时候分配 + 'token' => $gameInfo['supersign_token'], + 'create_time' => time() + )); + if (!$r) return -1; + } + + $param['price'] = $price; + $param['sdk_version'] = '2'; + $param['user_id'] = $userId; + $param['game_id'] = $gameId; + $param['order_id'] = $orderId; + $param['apitype'] = "alipay"; + $param['config'] = "alipay"; + $param['signtype']= "MD5"; + $param['server'] = "alipay.wap.create.direct.pay.by.user"; + $param['payway'] = 1; + $param['title'] = $price; + $param['body'] = $price; + //$param['callback'] = "https://m.wmtxkj.com/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; + //$param['notifyurl'] = "https://m.wmtxkj.com/callback.php/Notify/notify/apitype/alipay"; if(stripos($_SERVER['HTTP_HOST'], '.wmtxkj.cn') || $_SERVER['HTTP_HOST']=='127.0.0.1' || stripos($_SERVER['HTTP_HOST'], '.free.idcfengye.com')){ $param['callback'] = "http://".$_SERVER['HTTP_HOST']."/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; $param['notifyurl'] = "http://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay"; @@ -177,65 +305,65 @@ class Ipa365Controller extends BaseController{ $param['notifyurl'] = "https://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay"; } - $ret = $this->alipay($param); + $ret = $this->alipay($param); $this->assign("url", $ret['url']); $weixn = new Weixin(); $wx_pay = json_decode($weixn->weixin_pay('超级签消费', $orderId, $price, 'MWEB', 4), true); $this->assign("wxurl", $wx_pay['mweb_url']); - $this->assign("price", self::signprice); - $this->assign("order_id", $orderId); - $this->assign("game_name",$gameInfo['game_name']); - $this->assign("callback",$param['callback']); + $this->assign("price", self::signprice); + //$this->assign("order_id", $orderId); + $this->assign("game_name",$gameInfo['game_name']); + $this->assign("callback",$param['callback']); - $this->display(); + $this->display(); } - - - // 微信分享页面 + + + // 微信分享页面 public function paytip(){ - $userId = $this->userinfo['user_id']; - if (!$userId ) { - $this->error("请登入", "/mobile.php/ssg/login"); - } - - $orderId = I('order_id'); - - $payLog = M('game_supersign', 'tab_')->where(array( - 'order_id' => $orderId, - ))->find(); - - $this->assign('url', U('Ipa365/install', array( - 'order_id' => $payLog['order_id'], - 'user_id' => $payLog['user_id'], - 'game_id' => $payLog['game_id'], - ))); - - $price = $payLog['pay_price']; - $userId = $payLog['user_id']; - $gameId = $payLog['game_id']; - - $param['price'] = $price; - $param['sdk_version'] = '2'; - $param['user_id'] = $userId; - $param['game_id'] = $gameId; - $param['order_id'] = $orderId; - $param['apitype'] = "alipay"; - $param['config'] = "alipay"; - $param['signtype']= "MD5"; - $param['server'] = "alipay.wap.create.direct.pay.by.user"; - $param['payway'] = 1; - $param['title'] = $price; - $param['body'] = $price; - //$param['callback'] = "https://m.wmtxkj.com/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; - //$param['notifyurl'] = "https://m.wmtxkj.com/callback.php/Notify/notify/apitype/alipay"; + $userId = $this->userinfo['user_id']; + if (!$userId ) { + $this->error("请登入", "/mobile.php/ssg/login"); + } + + $orderId = I('order_id'); + + $payLog = M('game_supersign', 'tab_')->where(array( + 'order_id' => $orderId, + ))->find(); + + $this->assign('url', U('Ipa365/install', array( + 'order_id' => $payLog['order_id'], + 'user_id' => $payLog['user_id'], + 'game_id' => $payLog['game_id'], + ))); + + $price = $payLog['pay_price']; + $userId = $payLog['user_id']; + $gameId = $payLog['game_id']; + + $param['price'] = $price; + $param['sdk_version'] = '2'; + $param['user_id'] = $userId; + $param['game_id'] = $gameId; + $param['order_id'] = $orderId; + $param['apitype'] = "alipay"; + $param['config'] = "alipay"; + $param['signtype']= "MD5"; + $param['server'] = "alipay.wap.create.direct.pay.by.user"; + $param['payway'] = 1; + $param['title'] = $price; + $param['body'] = $price; + //$param['callback'] = "https://m.wmtxkj.com/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; + //$param['notifyurl'] = "https://m.wmtxkj.com/callback.php/Notify/notify/apitype/alipay"; $param['callback'] = "https://".$_SERVER['HTTP_HOST']."/sdk.php/Ipa365/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}"; $param['notifyurl'] = "https://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay"; - - $ret = $this->alipay($param); - $this->assign("url", $ret['url']); + + $ret = $this->alipay($param); + $this->assign("url", $ret['url']); $weixn = new Weixin(); $wx_pay = json_decode($weixn->weixin_pay('超级签消费', $orderId, $price, 'MWEB', 4), true); @@ -252,200 +380,200 @@ class Ipa365Controller extends BaseController{ * 下载页面 判断订单是否支付成功 */ public function install_show() { - $orderId = I('order_id', 0); - $gameId = I('game_id', 0); - /* $userId = I('user_id', 0); - - $user = M('user', 'tab_')->where(array( - 'id' => $userId - ))->find(); */ - $userId = $this->userinfo['user_id']; - if (!$userId ) { - $this->error("请登入", "/mobile.php/ssg/login"); - } - + $orderId = I('order_id', 0); + $gameId = I('game_id', 0); + /* $userId = I('user_id', 0); + + $user = M('user', 'tab_')->where(array( + 'id' => $userId + ))->find(); */ + $userId = $this->userinfo['user_id']; + if (!$userId ) { + $this->error("请登入", "/mobile.php/ssg/login"); + } + // $userId = $_SESSION['user_id']; - if (!$userId ) { - $this->error("请登入", "/mobile.php/ssg/login"); - } - if (!$orderId || !$gameId || !$userId) { - $this->error("参数校验失败,请重试"); - } - - $supersign = M('game_supersign', 'tab_')->where(array('order_id' => $orderId,"game_id"=>$gameId))->find(); - if (!$supersign) { - $this->error("订单不存在"); - } - if ($supersign['pay_status'] != 1) { - $this->error("订单未支付"); - } - $game = M('game', 'tab_')->where(array('id' => $gameId))->find(); - - $this->assign('game', $game); - $this->assign('url', U('Ipa365/install', array( - 'order_id' => $orderId, - 'user_id' => $userId, - 'game_id' => $gameId - ))); - //获取礼包码 - $giftbag = M('giftbag', 'tab_')->field("*")->where(array("game_id"=>$gameId,"giftbag_version"=>3))->find(); - if(empty($giftbag)){ - $giftbag = false; - }else{ - $desribe = $giftbag['desribe']; - $mygif = $this->checkAccountGiftExist($userId,$giftbag['id']); - if(!empty($mygif)){ - //已经领取 - $giftbag =$mygif; - }else{ - if($giftbag['novice_num']>0){ - //领取 - $giftbag = $this->getNovice($userId,$this->userinfo['account'],$giftbag['id']); - } - } - $giftbag['desribe'] = $desribe; - - } - //验证是否领取 - $this->assign('giftbag', $giftbag); - $this->display(); + if (!$userId ) { + $this->error("请登入", "/mobile.php/ssg/login"); + } + if (!$orderId || !$gameId || !$userId) { + $this->error("参数校验失败,请重试"); + } + + $supersign = M('game_supersign', 'tab_')->where(array('order_id' => $orderId,"game_id"=>$gameId))->find(); + if (!$supersign) { + $this->error("订单不存在"); + } + if ($supersign['pay_status'] != 1) { + $this->error("订单未支付"); + } + $game = M('game', 'tab_')->where(array('id' => $gameId))->find(); + + $this->assign('game', $game); + $this->assign('url', U('Ipa365/install', array( + 'order_id' => $orderId, + 'user_id' => $userId, + 'game_id' => $gameId + ))); + //获取礼包码 + $giftbag = M('giftbag', 'tab_')->field("*")->where(array("game_id"=>$gameId,"giftbag_version"=>3))->find(); + if(empty($giftbag)){ + $giftbag = false; + }else{ + $desribe = $giftbag['desribe']; + $mygif = $this->checkAccountGiftExist($userId,$giftbag['id']); + if(!empty($mygif)){ + //已经领取 + $giftbag =$mygif; + }else{ + if($giftbag['novice_num']>0){ + //领取 + $giftbag = $this->getNovice($userId,$this->userinfo['account'],$giftbag['id']); + } + } + $giftbag['desribe'] = $desribe; + + } + //验证是否领取 + $this->assign('giftbag', $giftbag); + $this->display(); } /** * 获取用户安装历史url */ public function get_install_list() { - /* $gameId = I('game_id', 0); - $where = array( - 'pay_status' => 1, - 'ticket' => array('neq', '') - ); - if ($id) $where['game_id'] = $gameId; - - $list = M('game_supersign', 'tab_')->where($where)->select(); + /* $gameId = I('game_id', 0); + $where = array( + 'pay_status' => 1, + 'ticket' => array('neq', '') + ); + if ($id) $where['game_id'] = $gameId; + + $list = M('game_supersign', 'tab_')->where($where)->select(); // pp($list); - $url = $game['supersign_url']."?code={$code}"; - pp($url); - redirect($url); */ + $url = $game['supersign_url']."?code={$code}"; + pp($url); + redirect($url); */ } - + /** * 用户点击安装 */ public function install() { - $userId = $this->userinfo['user_id']; - if (!$userId ) { - $this->error("请登入", "/mobile.php/ssg/login"); - } - - $gameId = I('game_id', 0); - $orderId = I('order_id', 0); - if (!$userId || !$gameId || !$orderId) { - $this->error("参数有误!"); - } - M()->startTrans(); - // 获取支付记录 - $gamesign = M('game_supersign', 'tab_')->where(array( - 'order_id' => $orderId, - 'user_id' => $userId, - 'game_id' => $gameId, - 'pay_status' => 1, - ))->find(); - if (!$gamesign) { - // pp(M('game_supersign', 'tab_')->_sql()); - $this->error("支付记录不存在"); - } - if ($gamesign['url']) { - redirect($gamesign['url']); - } - - $token = $gamesign['token']; - $ipa365 = new Ipa365(); - - $i = 1; - while (1) { - // 获取授权码 - $list = $ipa365->ticketList(array( - 'token' => $token, - 'limit' => $i, - )); // @todo: 并发授权码已分配的情况 - $code = $list['data']['list'][$i-1]['code']; - $codeExists = M('game_supersign', 'tab_')->field('id')->where(array( - 'ticket' => $code, - ))->find(); - if (!$codeExists) { - break; - } - - $i ++; - } - - $game = M('game', 'tab_')->where(array( - 'id' => $gameId, - ))->find(); - $url = $game['supersign_url']."?code={$code}"; - $r = M('game_supersign', 'tab_')->where(array( - 'user_id' => $userId, - 'game_id' => $gameId, - 'pay_status' => 1 - ))->save(array( - 'ticket' => $code, // 调用安装的时候分配 - 'url' => $url, - )); - if (!$r) { - pp(M('game_supersign', 'tab_')->_sql()); - M()->rollback(); - return -1; - } - M()->commit(); - // 调用第三方连接 + $userId = $this->userinfo['user_id']; + if (!$userId ) { + $this->error("请登入", "/mobile.php/ssg/login"); + } + + $gameId = I('game_id', 0); + $orderId = I('order_id', 0); + if (!$userId || !$gameId || !$orderId) { + $this->error("参数有误!"); + } + M()->startTrans(); + // 获取支付记录 + $gamesign = M('game_supersign', 'tab_')->where(array( + 'order_id' => $orderId, + 'user_id' => $userId, + 'game_id' => $gameId, + 'pay_status' => 1, + ))->find(); + if (!$gamesign) { + // pp(M('game_supersign', 'tab_')->_sql()); + $this->error("支付记录不存在"); + } + if ($gamesign['url']) { + redirect($gamesign['url']); + } + + $token = $gamesign['token']; + $ipa365 = new Ipa365(); + + $i = 1; + while (1) { + // 获取授权码 + $list = $ipa365->ticketList(array( + 'token' => $token, + 'limit' => $i, + )); // @todo: 并发授权码已分配的情况 + $code = $list['data']['list'][$i-1]['code']; + $codeExists = M('game_supersign', 'tab_')->field('id')->where(array( + 'ticket' => $code, + ))->find(); + if (!$codeExists) { + break; + } + + $i ++; + } + + $game = M('game', 'tab_')->where(array( + 'id' => $gameId, + ))->find(); + $url = $game['supersign_url']."?code={$code}"; + $r = M('game_supersign', 'tab_')->where(array( + 'user_id' => $userId, + 'game_id' => $gameId, + 'pay_status' => 1 + ))->save(array( + 'ticket' => $code, // 调用安装的时候分配 + 'url' => $url, + )); + if (!$r) { + pp(M('game_supersign', 'tab_')->_sql()); + M()->rollback(); + return -1; + } + M()->commit(); + // 调用第三方连接 // pp($url); - redirect($url); + redirect($url); } - + /* * 打包列表 */ - public function pay_list() { - $userId = $this->userinfo['user_id']; - if (!$userId ) { - $this->error("请登入", "/mobile.php/ssg/login"); - } - - $list = M('game_supersion', 'tab_')->where(array( - 'user_id' => $userId, - ))->select(); - - $this->assign("list", $list); - $this->display(); - } - - // alipay - public function alipay($param) { - $pay = new \Think\Pay($param['apitype'],C($param['config'])); - $vo = new \Think\Pay\PayVo(); - $vo->setBody("超级签消费") - ->setFee($param['price'])//支付金额 - ->setTitle($param['title']) - ->setOrderNo($param['order_id']) - ->setService($param['server']) - ->setSignType($param['signtype']) - ->setPayMethod("wap") - ->setTable("supersign") - ->setPayWay($param['payway']) - ->setCallback($param['callback']) - ->setNotifyUrl($param['notifyurl']) - ->setGameName(get_game_name($param['game_id'])) - ->setServerId(0) - ->setUserId($param['user_id']) - ->setSdkVersion($param['sdk_version']); - $pay_['url']= $pay->buildRequestForm($vo); - //$pay_['out_trade_no']= $out_trade_no; - return $pay_; - - } - //领取礼包码 - public function getNovice($user_id,$account,$gift_id){ + public function pay_list() { + $userId = $this->userinfo['user_id']; + if (!$userId ) { + $this->error("请登入", "/mobile.php/ssg/login"); + } + + $list = M('game_supersion', 'tab_')->where(array( + 'user_id' => $userId, + ))->select(); + + $this->assign("list", $list); + $this->display(); + } + + // alipay + public function alipay($param) { + $pay = new \Think\Pay($param['apitype'],C($param['config'])); + $vo = new \Think\Pay\PayVo(); + $vo->setBody("超级签消费") + ->setFee($param['price'])//支付金额 + ->setTitle($param['title']) + ->setOrderNo($param['order_id']) + ->setService($param['server']) + ->setSignType($param['signtype']) + ->setPayMethod("wap") + ->setTable("supersign") + ->setPayWay($param['payway']) + ->setCallback($param['callback']) + ->setNotifyUrl($param['notifyurl']) + ->setGameName(get_game_name($param['game_id'])) + ->setServerId(0) + ->setUserId($param['user_id']) + ->setSdkVersion($param['sdk_version']); + //$pay_['url']= $pay->buildRequestForm($vo); + //$pay_['out_trade_no']= $out_trade_no; + return $pay->buildRequestForm($vo); + + } + //领取礼包码 + public function getNovice($user_id,$account,$gift_id){ $data =M("giftbag",'tab_')->find($gift_id); $novice_str = $data['novice']; $novice_arr = str2arr($novice_str,","); @@ -483,8 +611,8 @@ class Ipa365Controller extends BaseController{ M("giftbag",'tab_')->commit(); return $record; } - } - public function checkAccountGiftExist($user_id,$gift_id){ + } + public function checkAccountGiftExist($user_id,$gift_id){ $map['user_id'] = $user_id; $map['gift_id'] = $gift_id; return M("gift_record",'tab_')->field('*')->where($map)->find(); diff --git a/Application/Sdk/View/default/Ipa365/pay.html b/Application/Sdk/View/default/Ipa365/pay.html index a3e84800e..6fc512018 100644 --- a/Application/Sdk/View/default/Ipa365/pay.html +++ b/Application/Sdk/View/default/Ipa365/pay.html @@ -108,7 +108,7 @@ body{ {$price} @@ -118,9 +118,8 @@ body{ 推荐支付宝用户使用 - @@ -130,7 +129,6 @@ body{ 推荐微信用户使用 -