diff --git a/Application/Sdk/Conf/config.php b/Application/Sdk/Conf/config.php index 6ca9ed72..732aa268 100644 --- a/Application/Sdk/Conf/config.php +++ b/Application/Sdk/Conf/config.php @@ -11,7 +11,7 @@ * 前台配置文件 * 所有除开系统级别的前台配置 */ -return array( +$config = array( // 预先加载的标签库 'TAGLIB_PRE_LOAD' => 'OT\\TagLib\\Article,OT\\TagLib\\Think', @@ -94,21 +94,6 @@ return array( 'hash' => true, //是否生成hash编码 'callback' => false, //检测文件是否存在回调函数,如果存在返回文件信息数组 ), //附件上传配置(文件上传类配置) - // 支付方式(-1绑币 0:平台币,1:支付宝,2:微信(扫码)3微信app 4 威富通 5聚宝云 6竣付通 7苹果支付8金猪支付 9双乾支付-支付宝 10双乾支付-银联 15双乾支付-快捷', - 'PAY_WAY' => array( - 'BIND_COIN' => -1, - 'PLATFORM_COIN' => 0, - 'ALIPAY' => 1, - 'WEIXIN' => 2, - 'WEIXIN_APP' => 3, - 'WFT_PAY' => 4, - 'JBY_PAY' => 5, - 'JFT_PAY' => 6, - 'APPLE_PAY' => 7, - 'JZ_PAY' => 8, - 'SQ_ALIPAY' => 9, - 'SQ_UNION' => 10, - 'SQ_SHORTCUT' => 15 - ), - 'WX_PAY_LIMIT' => 3000, // 微信支付限额 ); +$pay = include(APP_PATH . "/Sdk/Conf/pay.php"); +return array_merge($config, $pay); \ No newline at end of file diff --git a/Application/Sdk/Conf/pay.php b/Application/Sdk/Conf/pay.php new file mode 100644 index 00000000..3c771fe1 --- /dev/null +++ b/Application/Sdk/Conf/pay.php @@ -0,0 +1,91 @@ + 'http://192.168.11.15:8088/', + 'alipay' => array ( + 'partner' => '2088631242187552', + 'key' => '2yxhpzhxnkeji5yldvow2wr8xdib6tl8', + 'email' => '65517558@qq.com', + 'appid' => '2019101068191876', + 'way' => '0', + 'status' => '1' + ), + 'alipay_param' => array ( + 'param1' => '', + 'param2' => '', + 'param3' => '', + 'status' => '1' + ), + 'ptb_pay' => array ( + 'status' => '1' + ), + 'bind_pay' => array ( + 'status' => '1' + ), + 'wei_xin' => array ( + 'partner' => '1555280551', + 'email' => 'wx0ba5be5c8bb9f1b7', + 'key' => 'wDst6e8d0nGUh4hcwBgv8caJmDE1Mxql', + 'status' => '1' + ), + 'sms_set' => array ( + 'smtp' => 'MDAwMDAwMDAwMK62sK9_oJixgIunmLG2', + 'smtp_account' => 'MDAwMDAwMDAwMK62zm1_inqufnvO2L25', + 'smtp_password' => '416', + 'limit' => '', + 'status' => '1' + ), + 'epay' => array ( + 'partner' => '', + 'key' => '', + 'zfb' => '1', + 'status' => '1' + ), + 'age' => array ( + 'status' => '0', + 'is_mandatory' => '0', + 'contents_off' => '根据2010年8月1日实施的 《网络游戏管理暂行办法》,网络游戏用户需使用有效身份证件进行实名认证。为保证流畅游戏体验,享受健康游戏生活,请广大平台游戏的玩家尽快完成实名认证!', + 'name' => 'age' + ), + 'age_prevent' => array ( + 'bat' => '0', + 'hours_off_one' => '1', + 'contents_one' => '您游戏账号今日已累计在线1小时,请及时进行实名制认证,避免游戏强制下线!', + 'hours_off_two' => '2', + 'contents_two' => '您游戏账号今日已累计在线2小时,请及时进行实名制认证,否则您将在10分钟后强制下线,并在今日无法再登入游戏!', + 'down_time' => '5', + 'hours_cover' => '', + 'name' => 'age_prevent' + ), + 'sqpay' => array ( + 'partner' => '204121', + 'key' => 'NsyJOE!e', + 'shortcut' => '1', + 'status' => '1' + ), + 'heepay' => array ( + 'partner' => '2083328', + 'key' => '852B4A10455E49F280EEFCB1', + 'wxp' => '1', + 'status' => '0' + ), + + // 支付方式(-1绑币 0:平台币,1:支付宝,2:微信(扫码)3微信app 4 威富通 5聚宝云 6竣付通 7苹果支付8金猪支付 9双乾支付-支付宝 10双乾支付-银联 15双乾支付-快捷', + 'PAY_WAY' => array ( + 'BIND_COIN' => - 1, + 'PLATFORM_COIN' => 0, + 'ALIPAY' => 1, + 'WEIXIN' => 2, + 'WEIXIN_APP' => 3, + 'WFT_PAY' => 4, + 'JBY_PAY' => 5, + 'JFT_PAY' => 6, + 'APPLE_PAY' => 7, + 'JZ_PAY' => 8, + 'SQ_ALIPAY' => 9, + 'SQ_UNION' => 10, + 'SQ_SHORTCUT' => 15 + ), + 'WX_PAY_LIMIT' => 3000 // 微信支付限额 + +); \ No newline at end of file diff --git a/Application/Sdk/Controller/AppleController.class.php b/Application/Sdk/Controller/AppleController.class.php index d9a3a2d9..704915f9 100644 --- a/Application/Sdk/Controller/AppleController.class.php +++ b/Application/Sdk/Controller/AppleController.class.php @@ -18,7 +18,7 @@ class AppleController extends BaseController{ *ios移动支付 */ public function applePay(){ - C(api('Config/lists')); +// C(api('Config/lists')); #获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组 $request = json_decode(base64_decode(file_get_contents("php://input")),true); if(!is_numeric($request['price'])) { @@ -84,7 +84,7 @@ class AppleController extends BaseController{ echo base64_encode(json_encode($data)); } } - /** + /** *支付宝移动支付 */ public function apple_alipay_pay($user_id,$game_id){ @@ -93,7 +93,6 @@ class AppleController extends BaseController{ $file=file_get_contents("./Application/Sdk/OrderNo/".$user_id."-".$game_id.".txt"); $request = json_decode(think_decrypt($file),true); C(api('Config/lists')); - /* $request['user_id'] = 1; $request['game_id'] = 1; @@ -128,7 +127,7 @@ class AppleController extends BaseController{ $this->other_price($request); if(get_zfb_type()==0){ // 支付宝官方 - if(C('alipay.way')==1 || ($request['is_create_ordernumer']==1 && C('alipay.way')==0)){ /* wap */ + if(C('alipay.way')==1/* || ($request['is_create_ordernumer']==1 && C('alipay.way')==0) */){ /* wap */ $game_set_data = get_game_set_info($request['game_id']); $request['apitype'] = "alipay"; @@ -280,7 +279,8 @@ class AppleController extends BaseController{ ->setGameId($param['game_id']) ->setGameName(get_game_name($param['game_id'])) ->setGameAppid($param['game_appid']) - ->setServerId(0) + ->setServerId($param['server_id']) + ->setGameplayerId($param['game_player_id']) ->setGameplayerName($param['game_player_name']) ->setServerName($param['server_name']) ->setUserId($param['user_id']) @@ -290,12 +290,10 @@ class AppleController extends BaseController{ ->setPromoteName($user['promote_account']) ->setExtend($param['extend']) ->setSdkVersion($param['sdk_version']) - ->setSmallId($param['small_user_id']) - ->setSmallAccount(get_user_account_by_id($param['small_user_id'])) + ->setSmallId($param['small_user_id']) + ->setSmallAccount(get_user_account_by_id($param['small_user_id'])) ->setDiscount($discount); return $pay->buildRequestForm($vo); - - } diff --git a/Application/Sdk/Controller/BaseController.class.php b/Application/Sdk/Controller/BaseController.class.php index 40fcad94..dd727342 100644 --- a/Application/Sdk/Controller/BaseController.class.php +++ b/Application/Sdk/Controller/BaseController.class.php @@ -4,32 +4,39 @@ use Think\Controller\RestController; use Org\XiguSDK\Xigu; class BaseController extends RestController{ + // 不需要验证游戏签名的接口 A.B A==> 控制器 B==》方法 + protected $noNeedGame = [ + 'Apple.apple_alipay_pay','Apple.apple_weixin_pay','User.get_alipay_zmxy_return', + 'Apple.apple_platform_pay','Spend.notice','Apple.apple_union_pay','WapPay.wap_shortcut_pay', + 'WapPay.shortcut_pay','WapPay.android_shortcut_pay','WapPay.wap_shortcut_pay','WapPay.wap_shortcut_pay', + 'Apple.apple_weixin_pay','Ipa365','User.user_login','platform_coin_deduction','test', + ]; + // 不需要验证TOKEN的接口 + protected $noNeedToken = [ + 'Changyan', 'Exchange', 'FengHuoApi', 'File', 'Game', 'GameGift', 'GameNotify', 'Info', 'ios-wap-Pay', + 'Jpush', 'LoginNotify', 'Notice', 'OA', 'OTP', 'OTPServer', 'Pay', 'Payios', 'PointShop', 'Spend', + 'User', 'WapPay', 'Wechat', 'XinJiApi' + ]; + protected function _initialize(){ - C(api('Config/lists')); + C(api('Config/lists')); - if( - !preg_match("/apple_alipay_pay/",GetCurUrl()) - &&!preg_match("/apple_weixin_pay/",GetCurUrl()) - &&!preg_match("/get_alipay_zmxy_return/",GetCurUrl()) - &&!preg_match("/apple_platform_pay/",GetCurUrl()) - &&!preg_match("/notice/",GetCurUrl()) - &&!preg_match("/apple_union_pay/",GetCurUrl()) - &&!preg_match("/test/",GetCurUrl()) - &&!preg_match("/wap_shortcut_pay/",GetCurUrl()) - &&!preg_match("/shortcut_pay/",GetCurUrl()) - &&!preg_match("/android_shortcut_pay/",GetCurUrl()) - &&!preg_match("/wap_shortcut_pay/",GetCurUrl()) - &&!preg_match("/apple_weixin_pay/",GetCurUrl()) - &&!preg_match("/Ipa365/",GetCurUrl()) - &&!preg_match("/user_login/",GetCurUrl()) - &&!preg_match("/platform_coin_deduction/",GetCurUrl()) - ){ - $data = json_decode(base64_decode(file_get_contents("php://input")),true); - - // #判断数据是否为空 - if(empty($data) || empty($data['game_id'])){ - echo base64_encode(json_encode(array("status"=>10,"return_msg"=>"操作数据或游戏ID不能为空")));exit(); - } + $c = CONTROLLER_NAME; + $a = ACTION_NAME; + + if (!(in_array($c, $this->noNeedGame) || in_array($a, $this->noNeedGame) || in_array($c.".".$a, $this->noNeedGame))) { + /* + * if( !preg_match("/apple_alipay_pay/",GetCurUrl()) &&!preg_match("/apple_weixin_pay/",GetCurUrl()) &&!preg_match("/get_alipay_zmxy_return/",GetCurUrl()) &&!preg_match("/apple_platform_pay/",GetCurUrl()) &&!preg_match("/notice/",GetCurUrl()) &&!preg_match("/apple_union_pay/",GetCurUrl()) &&!preg_match("/test/",GetCurUrl()) &&!preg_match("/wap_shortcut_pay/",GetCurUrl()) &&!preg_match("/shortcut_pay/",GetCurUrl()) &&!preg_match("/android_shortcut_pay/",GetCurUrl()) &&!preg_match("/wap_shortcut_pay/",GetCurUrl()) &&!preg_match("/apple_weixin_pay/",GetCurUrl()) &&!preg_match("/Ipa365/",GetCurUrl()) &&!preg_match("/user_login/",GetCurUrl()) &&!preg_match("/platform_coin_deduction/",GetCurUrl()) ){ + */ + $data = json_decode ( base64_decode ( file_get_contents ( "php://input" ) ), true ); + // #判断数据是否为空 + if (empty ( $data ) || empty ( $data ['game_id'] )) { + echo base64_encode ( json_encode ( array ( + "status" => 10, + "return_msg" => "操作数据或游戏ID不能为空" + ) ) ); + exit (); + } $md5Sign = $data['md5_sign']; unset($data['md5_sign']); @@ -696,7 +703,7 @@ class BaseController extends RestController{ * $request $discountAmount 折扣价格 */ public function other_price(&$request, $discountAmount=0) { - // return $request; + return $request; // 优先扣除绑定币平台币 if ($request['code'] == '0') return $request; // 平台币充值 不做判断 $deductionAmount = 0; diff --git a/Application/Sdk/Controller/ExchangeController.class.php b/Application/Sdk/Controller/ExchangeController.class.php index 924fc6a2..0d41b451 100644 --- a/Application/Sdk/Controller/ExchangeController.class.php +++ b/Application/Sdk/Controller/ExchangeController.class.php @@ -30,6 +30,13 @@ class ExchangeController extends BaseController{ $request = json_decode(base64_decode(file_get_contents("php://input")),true); $request = SafeFilter($request); + /* if (!isset($request['api_ver'])) { + $payPage = "pay_way_v1"; + } else { + $payPage = "pay_way_v".$request['api_ver']; + } */ + $payPage = "pay_way"; + if(!is_numeric($request['price'])) { $this->set_message(0,"fail","金额必须是数字"); } @@ -37,23 +44,19 @@ class ExchangeController extends BaseController{ $this->set_message(0,"fail","金额不正确"); } $request['price'] = abs($request['price']); - $request['is_create_ordernumer'] = $request['is_create_ordernumer']?:1;//1:苹果内购 2:第三方app支付 - if(C('UC_SET')==1){ - - if(!is_array(find_uc_account($request['account']))){ - - $this->set_message(0,"fail","Uc用户暂不支持"); - - } - - } + $request['is_create_ordernumer'] = $request['is_create_ordernumer']?:1; // 1:苹果内购 2:第三方app支付 + if (C ( 'UC_SET' ) == 1) { + if (! is_array ( find_uc_account ( $request ['account'] ) )) { + $this->set_message ( 0, "fail", "Uc用户暂不支持" ); + } + } //添加禁用处理 - if($request['code'] == 1){ - $user = get_user_entity($request['user_id']); - if($user['lock_status'] == 0 || $user['check_status'] == 0){ - $this->set_message(0,"fail","账号被禁用,无法充值,请联系客服!"); - } - $game = M('Game','tab_')->where(['id'=>$request['game_id']])->field('pay_status')->find(); + if($request['code'] == 1){ + $user = get_user_entity($request['user_id']); + if($user['lock_status'] == 0 || $user['check_status'] == 0){ + $this->set_message(0,"fail","账号被禁用,无法充值,请联系客服!"); + } + $game = M('Game','tab_')->where(['id'=>$request['game_id']])->field('pay_status')->find(); if($game['pay_status'] == 0){ $this->set_message(0,"fail","该游戏暂时无法充值,请联系客服!"); } @@ -74,79 +77,51 @@ class ExchangeController extends BaseController{ $request['spend_ip'] = get_client_ip(); file_put_contents("./Application/Sdk/OrderNo/".$request['user_id']."-".$request['game_id'].".txt",think_encrypt(json_encode($request))); - echo base64_encode(json_encode(array('status'=>200,'out_trade_no'=>$out_trade_no,'img'=>'http://' . $_SERVER ['HTTP_HOST'].'/sdk.php?s=/Spend/pay_way&user_id='.$request['user_id'].'&game_id='.$request['game_id'].'&type=1')));exit; + echo base64_encode(json_encode(array('status'=>200,'out_trade_no'=>$out_trade_no,'img'=>'http://' . $_SERVER ['HTTP_HOST'].'/sdk.php?s=/Spend/'.$payPage.'&user_id='.$request['user_id'].'&game_id='.$request['game_id'].'&type=1')));exit; } else { - - $extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find(); + $extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find(); if($extend_data){ - $this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付"); + $this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付"); } file_put_contents("./Application/Sdk/Scheme/".$request['game_id'].".txt",$request['scheme']); if(get_game_appstatus2($request['game_id'])){ /* 第三方支付 */ + $prefix = $request['code'] == 1 ? "SP_" : "PF_"; // SP + $out_trade_no = $prefix.date('Ymd').date('His').sp_random_string(4); + $request['pay_order_number'] = $out_trade_no; + $request['pay_status'] = 0; + $request['pay_way'] = 7; + $request['spend_ip'] = get_client_ip(); +// pp($request); + file_put_contents("./Application/Sdk/OrderNo/".$request['user_id']."-".$request['game_id'].".txt",think_encrypt(json_encode($request))); + echo base64_encode(json_encode(array('status'=>200,'out_trade_no'=>$out_trade_no,'img'=>'http://' . $_SERVER ['HTTP_HOST'].'/sdk.php?s=/Spend/'.$payPage.'&user_id='.$request['user_id'].'&game_id='.$request['game_id'].'&type=1')));exit; + // 只走第三方支付 不走苹果支付 + }elseif(!get_game_appstatus2($request['game_id'])&&$request['is_create_ordernumer']==1){ /* 废弃 苹果支付 */ + #获取订单信息 + $prefix = $request['code'] == 1 ? "SP_" : "PF_"; + $out_trade_no = $prefix.date('Ymd').date('His').sp_random_string(4); + $data = array("status"=>200,"out_trade_no"=>$out_trade_no,'is_third_app_pay'=>0); + $request['pay_order_number'] = $out_trade_no; + $request['pay_status'] = 0; + $request['pay_way'] = 7; + $request['title'] = $request['productId']; + $request['spend_ip'] = get_client_ip(); + if($request['code'] == 1 ){ + #TODO添加消费记录 + $this->add_spend($request); + }else{ + #TODO添加平台币充值记录 + $this->add_deposit($request); + } - - $prefix = $request['code'] == 1 ? "SP_" : "PF_"; // SP - - $out_trade_no = $prefix.date('Ymd').date('His').sp_random_string(4); - - $request['pay_order_number'] = $out_trade_no; - - $request['pay_status'] = 0; - - $request['pay_way'] = 7; - - $request['spend_ip'] = get_client_ip(); - - - - file_put_contents("./Application/Sdk/OrderNo/".$request['user_id']."-".$request['game_id'].".txt",think_encrypt(json_encode($request))); - echo base64_encode(json_encode(array('status'=>200,'out_trade_no'=>$out_trade_no,'img'=>'http://' . $_SERVER ['HTTP_HOST'].'/sdk.php?s=/Spend/pay_way&user_id='.$request['user_id'].'&game_id='.$request['game_id'].'&type=1')));exit; - - }elseif(!get_game_appstatus2($request['game_id'])&&$request['is_create_ordernumer']==1){ /* 苹果支付 */ - - #获取订单信息 - - $prefix = $request['code'] == 1 ? "SP_" : "PF_"; - - $out_trade_no = $prefix.date('Ymd').date('His').sp_random_string(4); - - $data = array("status"=>200,"out_trade_no"=>$out_trade_no,'is_third_app_pay'=>0); - - $request['pay_order_number'] = $out_trade_no; - - $request['pay_status'] = 0; - - $request['pay_way'] = 7; - - $request['title'] = $request['productId']; - - $request['spend_ip'] = get_client_ip(); - - if($request['code'] == 1 ){ - - #TODO添加消费记录 - - $this->add_spend($request); - - }else{ - - #TODO添加平台币充值记录 - - $this->add_deposit($request); - - } - - echo base64_encode(json_encode($data)); - + echo base64_encode(json_encode($data)); }elseif(!get_game_appstatus2($request['game_id'])&&$request['is_create_ordernumer']==2){ - $data = array("status"=>200,"is_third_app_pay"=>1); - echo base64_encode(json_encode($data)); - } - - } + $data = array("status"=>200,"is_third_app_pay"=>1); + echo base64_encode(json_encode($data)); + } + } } diff --git a/Application/Sdk/Controller/GameController.class.php b/Application/Sdk/Controller/GameController.class.php index f8f45b06..417d6b40 100644 --- a/Application/Sdk/Controller/GameController.class.php +++ b/Application/Sdk/Controller/GameController.class.php @@ -40,26 +40,51 @@ class GameController extends BaseController{ * 小纯洁 */ public function get_suspend(){ - - $base = M('site_base','tab_')->field('sites_ball_logo,ball_status')->where(['promote_id'=>$request['promote_id']])->find(); + #获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组 + $request = json_decode(base64_decode(file_get_contents("php://input")),true); + if($request['promote_id']!=0){ + $res=M('site_base','tab_')->field('sites_ball_logo,ball_status')->where(['promote_id'=>$request['promote_id']])->find(); + if($res){ + /* + 适配oss路径 + */ + if($res['sites_ball_logo']==0){ + $res['sites_ball_logo']=C(WAP_SUSPEND_ICON); + } + $cover1 = get_cover($res['sites_ball_logo'] ,'path'); + if(strpos($cover1, 'http')!==false){ + $cover1 = $cover1; + }else{ + $cover1 = 'http://'.$_SERVER['HTTP_HOST'].$cover1; + } + if($res['ball_status'] == '') { + $res['ball_status'] = 1; + } + $data = array( + "status"=>200, + "sites_ball_logo"=>$cover1, + "ball_status"=>$res['ball_status'], + ); + echo base64_encode(json_encode($data));die; + } + + } - $sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->find(); - $menus = json_decode($sdkMenus['config'],true); - foreach($menus as $k => $v) - { - $menus[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['SERVER_NAME'] . $v['icon']; + /* + 适配oss路径 + */ + $cover2 = get_cover( C(WAP_SUSPEND_ICON) ,'path'); + if(strpos($cover2, 'http')!==false){ + $cover2 = $cover2; + }else{ + $cover2 = 'http://'.$_SERVER['HTTP_HOST'].$cover2; } - array_multisort(array_column($menus,'sort'),SORT_ASC,$menus); - $data = [ - 'code' => 200, - 'msg' => '获取成功', - 'data' => [ - 'sites_ball_logo' => $base['sites_ball_logo'], - 'ball_status' => $base['ball_status'], - 'menus' => $menus, - ] - ]; + $data = array( + "status"=>200, + "sites_ball_logo"=>$cover2, + "ball_status"=>C(WAP_SUSPEND_SHWO_STATUS)==2?0:1, + ); echo base64_encode(json_encode($data));die; } //获取游戏域名 diff --git a/Application/Sdk/Controller/PayController.class.php b/Application/Sdk/Controller/PayController.class.php index aba7d485..67ecf8b1 100644 --- a/Application/Sdk/Controller/PayController.class.php +++ b/Application/Sdk/Controller/PayController.class.php @@ -46,7 +46,8 @@ class PayController extends BaseController ->setGameId($param['game_id']) ->setGameName(get_game_name($param['game_id'])) ->setGameAppid($param['game_appid']) - ->setServerId(0) + ->setServerId($param['server_id']) + ->setGameplayerId($param['game_player_id']) ->setGameplayerName($param['game_player_name']) ->setServerName($param['server_name']) ->setUserId($param['user_id']) @@ -56,8 +57,8 @@ class PayController extends BaseController ->setPromoteName($user['promote_account']) ->setExtend($param['extend']) ->setSdkVersion($param['sdk_version']) - ->setSmallId($param['small_user_id']) - ->setSmallAccount(get_user_account_by_id($param['small_user_id'])) + ->setSmallId($param['small_user_id']) + ->setSmallAccount(get_user_account_by_id($param['small_user_id'])) ->setDiscount($discount); return $pay->buildRequestForm($vo); diff --git a/Application/Sdk/Controller/SpendController.class.php b/Application/Sdk/Controller/SpendController.class.php index 3ab04ae1..6300e10a 100644 --- a/Application/Sdk/Controller/SpendController.class.php +++ b/Application/Sdk/Controller/SpendController.class.php @@ -74,11 +74,61 @@ class SpendController extends Controller { $payPrice = $data['price'] - $balance - $bind_balance; $this->assign ('pay_price', $payPrice ? $payPrice : 0); } + $this->assign ('pay_price', $data['price']); /* $this->assign ( 'alipayurl', $ret[0]['payURL']); header("Access-Control-Allow-Origin: *"); */ - $this->display (); + + $this->assign ('sdk_version', $request['sdk_version']); + $this->display(); } + + /** + * 支付页面 + * + * @return [type] [description] + */ + /* public function pay_way_v2() { + $user_id = I ('user_id'); + $game_id = I ('game_id'); + + $file = file_get_contents ( "./Application/Sdk/OrderNo/" . $user_id . "-" . $game_id . ".txt" ); + $request = json_decode ( think_decrypt ( $file ), true ); + + $data = array( + 'coin' => $request ['body'], + 'price' => $request ['price'], + 'game_name' => $request ['game_name'], + 'code' => $request ['code'] + ); + $balance = M ( 'user', 'tab_' )->where ( array ( + 'id' => $user_id + ) )->getField ( 'balance' ); + $bind_balance = M ( 'user_play', 'tab_' )->where ( array ( + 'user_id' => $user_id, + 'game_id' => $game_id + ) )->getField ( 'bind_balance' ); + // $data['price'] = 1; + + $this->assign ( 'balance', $balance ); + $this->assign ( 'bind_balance', $bind_balance ); + $this->assign ( 'data', $data ); + $this->assign ( 'btncolor', $request ['btncolor'] ); + if ($balance + $bind_balance > $data['price']) { + $this->assign ('pay_price', 0); // 是否第三方支付 + } else { + $payPrice = $data['price'] - $balance - $bind_balance; + $this->assign ('pay_price', $payPrice ? $payPrice : 0); + } + $this->assign ('pay_price', $data['price']); + +// $this->assign ( 'alipayurl', $ret[0]['payURL']); +// header("Access-Control-Allow-Origin: *"); + + $this->assign ('sdk_version', $request['sdk_version']); + $this->display(); + } */ + public function pay_success() { $orderno = $_GET ['orderno'] == "" ? $_GET ['out_trade_no'] : $_GET ['orderno']; diff --git a/Application/Sdk/Controller/WapPayController.class.php b/Application/Sdk/Controller/WapPayController.class.php index 65408a71..8a4196ba 100644 --- a/Application/Sdk/Controller/WapPayController.class.php +++ b/Application/Sdk/Controller/WapPayController.class.php @@ -368,6 +368,8 @@ class WapPayController extends BaseController{ * 测试 */ public function test() { + var_dump(C('sqpay')); + die('aaa'); $sqpay = new Sqpay(); $r = $sqpay->contract_status(array( 'merNo' => 204121, @@ -530,7 +532,7 @@ class WapPayController extends BaseController{ 'user_id' => $request['user_id'], 'game_id' => $request['game_id'], 'order_id' => $request['pay_order_number'], - 'price' => $request['actual_amount'], + 'price' => $request['actual_amount']?:$request['price'], 'type' => 'sq_shortcut', 'info' => json_encode($request), 'status' => 'normal', diff --git a/Application/Sdk/View/default/Spend/pay_way.html b/Application/Sdk/View/default/Spend/pay_way.html index a810aed6..da7f4c66 100644 --- a/Application/Sdk/View/default/Spend/pay_way.html +++ b/Application/Sdk/View/default/Spend/pay_way.html @@ -131,6 +131,7 @@
+