diff --git a/Application/Sdk/Controller/ExchangeController.class.php b/Application/Sdk/Controller/ExchangeController.class.php index df891f10..502392d4 100644 --- a/Application/Sdk/Controller/ExchangeController.class.php +++ b/Application/Sdk/Controller/ExchangeController.class.php @@ -81,9 +81,11 @@ class ExchangeController extends BaseController{ $request['spend_ip'] = get_client_ip(); - $url = C('PAY_DOMAIN') . '/sdk.php?s=/Spend/'.$payPage.'&user_id='.$request['user_id'].'&game_id='.$request['game_id'].'&type=1'.'&user_token='.$userToken.'&action=pay'; + // $url = C('PAY_DOMAIN') . '/sdk.php?s=/Spend/'.$payPage.'&user_id='.$request['user_id'].'&game_id='.$request['game_id'].'&type=1'.'&user_token='.$userToken.'&action=pay'; 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'=>$url)));exit; + $url = C('PAY_DOMAIN') . '/sdk.php?s=/userH/platform_pay/account/'.$request['account'].'&user_token='.$userToken.'&game_id='.$request['game_id'].'&money='.$request['price'].'&action=pay1&api_ver=1'; + echo base64_encode(json_encode(array('status'=>200,'out_trade_no'=>$out_trade_no,'img'=>$url))); + exit; } else { $extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find(); diff --git a/Application/Sdk/Controller/PayH5Controller.class.php b/Application/Sdk/Controller/PayH5Controller.class.php index eeb8e5e9..a35b7af8 100644 --- a/Application/Sdk/Controller/PayH5Controller.class.php +++ b/Application/Sdk/Controller/PayH5Controller.class.php @@ -623,6 +623,10 @@ ADD COLUMN `pay_url` text NULL AFTER `check_sign`; $request['pay_url'] = $json_data['url']; $this->add_deposit($request, 1); // .(is_ssl()?'https%3A%2F%2F':'http%3A%2F%2F'). $_SERVER ['HTTP_HOST'] . "%2Fsdk.php%2FSpend%2Fpay_success%2Forderno%2F".$request['pay_order_number'].'%2Fgame_id%2F'.$request['game_id'] ; + if (I('request.api_ver') == 1) { + $json_data['url'] = $is_pay['mweb_url'].'&redirect_url='.(is_ssl()?'https%3A%2F%2F':'http%3A%2F%2F'). $_SERVER ['HTTP_HOST'] . "%2Fsdk.php%2FSpend%2Fpay_success%2Forderno%2F".$request['pay_order_number'].'%2Fgame_id%2F'.$request['game_id'] ; + redirect($json_data['url']); + } }else{ redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'msg'=>'支付失败', 'user_token' => $this->userToken)));exit; } diff --git a/Application/Sdk/Controller/UserHController.class.php b/Application/Sdk/Controller/UserHController.class.php index edb2bbc5..c7be846a 100644 --- a/Application/Sdk/Controller/UserHController.class.php +++ b/Application/Sdk/Controller/UserHController.class.php @@ -70,12 +70,15 @@ class UserHController extends BaseController { $u = M('user', 'tab_')->where(['id' => $this->userId])->find(); $money = I('money', 0); + $api_ver = I('api_ver', 0); + if(!$money) { $this->error('金额不能为空'); } // if(!is_int($post['money'])) { // $this->error('金额不能小于1'); // } + $this->assign('api_ver', $api_ver); $this->assign("account", $u['account']); $this->assign('money', $money); $this->assign('game_id', I('game_id', 0)); diff --git a/Application/Sdk/View/default/Spend/paycallback.html b/Application/Sdk/View/default/Spend/paycallback.html index 1943818b..a63607fb 100644 --- a/Application/Sdk/View/default/Spend/paycallback.html +++ b/Application/Sdk/View/default/Spend/paycallback.html @@ -101,6 +101,9 @@ $(function() { 'user_token' : user_token, }, success: function(r) { + var u = navigator.userAgent; + var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 + if (r.payStatus == '1') { if (r.type == "deposit") { confirm("支付成功"); @@ -109,12 +112,19 @@ $(function() { } if (r.type == "deposit") { + if (!isAndroid) { + try { + window.webkit.messageHandlers.exchangeResult.postMessage(1); + } catch(err) { + window.location.href = Scheme+"://1&back"; + } + return ; + } + window.location.href = r.url; } if (r.type == "spend") { - var u = navigator.userAgent; - var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 if (r.payStatus == '1') { if (isAndroid) { window.txyxsdk.getPayResult('succeed'); diff --git a/Application/Sdk/View/default/UserH/platform_pay.html b/Application/Sdk/View/default/UserH/platform_pay.html index 55907ecf..66780915 100644 --- a/Application/Sdk/View/default/UserH/platform_pay.html +++ b/Application/Sdk/View/default/UserH/platform_pay.html @@ -33,7 +33,7 @@