diff --git a/Application/Sdk/Controller/PayH5Controller.class.php b/Application/Sdk/Controller/PayH5Controller.class.php index d6e52166..78fe4d88 100644 --- a/Application/Sdk/Controller/PayH5Controller.class.php +++ b/Application/Sdk/Controller/PayH5Controller.class.php @@ -294,7 +294,8 @@ class PayH5Controller extends BaseController{ $pay_url=$this->pay($request); $request['pay_url'] = $pay_url['url']; $orderno = $pay_url['out_trade_no']; -// echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>$pay_url['url'],'wap'=>1]]);exit; +// pp($request['pay_url']); todo: 又问提 死循环。。。 + //echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>$pay_url['url'],'wap'=>1]]);exit; } else {/* app */ $game_set_data = get_game_set_info($request['game_id']); $request['apitype'] = "alipay"; @@ -302,19 +303,20 @@ class PayH5Controller extends BaseController{ $request['signtype'] = "MD5"; $request['server'] = "mobile.securitypay.pay"; $request['payway'] = 1; - file_put_contents(dirname(__FILE__) .'/alipay.txt',json_encode($request)); +// file_put_contents(dirname(__FILE__) .'/alipay.txt',json_encode($request)); $data = $this->alipay_app_pay($request); $md5_sign = $this->encrypt_md5(base64_encode($data['arg']), $game_set_data["access_key"]); $data = array("orderInfo" => base64_encode($data['arg']), "out_trade_no" => $data['out_trade_no'], "order_sign" => $data['sign'], "md5_sign" => $md5_sign); $request['pay_url'] = json_encode($data); $orderno = $data['out_trade_no']; -// echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>json_encode($data),'wap'=>0]]);exit; + + //echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>json_encode($data),'wap'=>0]]);exit; } // 存入pay_url 继续支付 M("spend", "tab_")->where([ 'extend' => $request['extend'], 'game_id' => $request['game_id'], - 'pay_order_number' => $pay_url['out_trade_no'] + 'pay_order_number' => $orderno ])->save([ 'pay_url' => $request['pay_url'] ]); @@ -402,14 +404,22 @@ class PayH5Controller extends BaseController{ echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>$pay_url['msg'],'wap'=>1]]);exit; } } - - redirect(U('spend/paycallback', array( - 'sdk_version' => $request['sdk_version'], + /* $url = U('spend/paycallback', array( + 'sdk_version' => $request['sdk_version'], 'paytype' => 'alipay', 'orderno' => $orderno, 'game_id' => $game_id, 'gopay' => 1 // 立即支付 - ))); + )); + redirect($url); */ + echo json_encode(['code' => 200, 'url' => U('spend/paycallback', array( + 'sdk_version' => $request['sdk_version'], + 'paytype' => 'alipay', + 'orderno' => $orderno, + 'game_id' => $game_id, + 'gopay' => 1 // 立即支付 + ))]); + exit; } private function alipay_app_pay($param = array()) diff --git a/Application/Sdk/Controller/SpendController.class.php b/Application/Sdk/Controller/SpendController.class.php index 8ea51023..5401122b 100644 --- a/Application/Sdk/Controller/SpendController.class.php +++ b/Application/Sdk/Controller/SpendController.class.php @@ -221,7 +221,7 @@ class SpendController extends Controller { $result = M ( 'Spend', 'tab_' )->field ( "pay_status" )->where ( $map )->find (); $this->assign ( 'paystatus', $result ['pay_status'] ); - $this->display ( 'pay_success' ); + $this->display ( 'pay_success3' ); } public function pay_error() { $Scheme = file_get_contents ( "./Application/Sdk/Scheme/" . $_GET ['game_id'] . ".txt" ); @@ -297,7 +297,7 @@ ADD COLUMN `pay_url` varchar(255) NOT NULL DEFAULT '' AFTER `check_sign`; $this->assign("orderno", $orderno); $this->assign("paytype", $paytype); $this->assign ('pay_url', $result['pay_url']); - $this->assign("device", $result['sdk_version']?:0); + $this->assign("sdk_version", $result['sdk_version']?:0); $this->assign ('Scheme', $Scheme); $this->assign ('gopay', $gopay); diff --git a/Application/Sdk/View/default/Spend/pay_success.html b/Application/Sdk/View/default/Spend/pay_success.html index 2e07525b..11a905fc 100644 --- a/Application/Sdk/View/default/Spend/pay_success.html +++ b/Application/Sdk/View/default/Spend/pay_success.html @@ -99,7 +99,7 @@ var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 try{ if(isAndroid){ - window.mengchuang.getPayResult('fail'); + window.txyxsdk.getPayResult('fail'); }else{ window.webkit.messageHandlers.exchangeResult.postMessage(0); } diff --git a/Application/Sdk/View/default/Spend/pay_success3.html b/Application/Sdk/View/default/Spend/pay_success3.html new file mode 100644 index 00000000..99d74ab6 --- /dev/null +++ b/Application/Sdk/View/default/Spend/pay_success3.html @@ -0,0 +1,195 @@ + + + + + + +充值 + + + + + + +
+ + +




+ + + +
+ + +

支付成功

+ + + + + + + + + + + +

支付失败{$paystatus}

+ + + + + +
+ + + + +
+ + +
+ + + + + + diff --git a/Application/Sdk/View/default/Spend/pay_way.html b/Application/Sdk/View/default/Spend/pay_way.html index 249966f8..6060fc46 100644 --- a/Application/Sdk/View/default/Spend/pay_way.html +++ b/Application/Sdk/View/default/Spend/pay_way.html @@ -271,15 +271,27 @@ $(function() { }) $("#platform_pay").click(function() { - var url = "{:U('Apple/platform_coin_deduction',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token')))}"; + var url = "{:U('PayH5/platform_coin_deduction',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token')))}"; window.location.href = url; }); $('#alipaybtn').on('click',function() { if (flag) return ; flag = true; + var url = $(this).data('url'); - window.location.href = $(this).data('url'); + $.ajax({ + type:'post', + dataType:'json', + data:{}, + url:url, + success:function(result) { + if(result.code==200) { + window.location.href = result.url; + } + } + }); + return false; }); diff --git a/Application/Sdk/View/default/Spend/paycallback.html b/Application/Sdk/View/default/Spend/paycallback.html index 319ceb27..9db19359 100644 --- a/Application/Sdk/View/default/Spend/paycallback.html +++ b/Application/Sdk/View/default/Spend/paycallback.html @@ -12,9 +12,9 @@
- + - + @@ -40,7 +40,7 @@ - + 继续支付 @@ -71,7 +71,7 @@ $(function() { window.location.href = $(".gopay_url").val(); } - } + } }); $("#payed").click(function() {