Merge branch 'dev' of 47.111.118.107:/srv/git/sdk into dev

master
chenzhi 5 years ago
commit 0929a920cf

@ -238,7 +238,7 @@ class PayH5Controller extends BaseController{
/** /**
*支付宝移动支付 *支付宝移动支付
*/ */
public function apple_alipay_pay($user_id,$game_id){ public function ali_pay($user_id,$game_id){
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组 #获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
//echo json_encode(['code'=>0,'msg'=> $user_id."game:".$game_id]);exit; //echo json_encode(['code'=>0,'msg'=> $user_id."game:".$game_id]);exit;
$file=file_get_contents("./Application/Sdk/OrderNo/".$user_id."-".$game_id.".txt"); $file=file_get_contents("./Application/Sdk/OrderNo/".$user_id."-".$game_id.".txt");
@ -290,10 +290,11 @@ class PayH5Controller extends BaseController{
$request['body']=$request['price']; $request['body']=$request['price'];
//$request['callback'] = 'http://'.$_SERVER['HTTP_HOST']. "/sdk.php/Spend/pay_success/orderno/".$request['pay_order_number'].'/game_id/'.$request['game_id']; //$request['callback'] = 'http://'.$_SERVER['HTTP_HOST']. "/sdk.php/Spend/pay_success/orderno/".$request['pay_order_number'].'/game_id/'.$request['game_id'];
//$request['notifyurl'] = 'http://'.$_SERVER['HTTP_HOST']. "/callback.php/Notify/notify/apitype/alipay/method/notify"; //$request['notifyurl'] = 'http://'.$_SERVER['HTTP_HOST']. "/callback.php/Notify/notify/apitype/alipay/method/notify";
$pay_url=$this->pay($request); $pay_url=$this->pay($request);
//echo $pay_url['url'];die; $request['pay_url'] = $pay_url['url'];
//redirect($pay_url['url']); $orderno = $pay_url['out_trade_no'];
echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>$pay_url['url'],'wap'=>1]]);exit; // echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>$pay_url['url'],'wap'=>1]]);exit;
} else {/* app */ } else {/* app */
$game_set_data = get_game_set_info($request['game_id']); $game_set_data = get_game_set_info($request['game_id']);
$request['apitype'] = "alipay"; $request['apitype'] = "alipay";
@ -305,9 +306,18 @@ class PayH5Controller extends BaseController{
$data = $this->alipay_app_pay($request); $data = $this->alipay_app_pay($request);
$md5_sign = $this->encrypt_md5(base64_encode($data['arg']), $game_set_data["access_key"]); $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); $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);
echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>json_encode($data),'wap'=>0]]);exit; $orderno = $data['out_trade_no'];
// 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']
])->save([
'pay_url' => $request['pay_url']
]);
}elseif(get_zfb_type() == 2) { // 双乾 }elseif(get_zfb_type() == 2) { // 双乾
@ -392,6 +402,14 @@ class PayH5Controller extends BaseController{
echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>$pay_url['msg'],'wap'=>1]]);exit; echo json_encode(['code'=>200,'msg'=>'','data'=>['url'=>$pay_url['msg'],'wap'=>1]]);exit;
} }
} }
redirect(U('spend/paycallback', array(
'sdk_version' => $request['sdk_version'],
'paytype' => 'alipay',
'orderno' => $orderno,
'game_id' => $game_id,
'gopay' => 1 // 立即支付
)));
} }
private function alipay_app_pay($param = array()) private function alipay_app_pay($param = array())
@ -411,6 +429,8 @@ class PayH5Controller extends BaseController{
} }
$discount = $this->get_discount($param['game_id'], $user['promote_id'], $param['user_id']); $discount = $this->get_discount($param['game_id'], $user['promote_id'], $param['user_id']);
$discount = $discount['discount']; $discount = $discount['discount'];
$param['callback'] = C('PAY_DOMAIN')."/sdk.php/Spend/paycallback/orderno/".$out_trade_no.'/game_id/'.$param['game_id']."/paytype/alipay";
// if(!is_check_apply_promote($param['game_id'],$user['promote_id'])){ // if(!is_check_apply_promote($param['game_id'],$user['promote_id'])){
// $user['promote_id']=0; // $user['promote_id']=0;
// $user['promote_account']="自然注册"; // $user['promote_account']="自然注册";
@ -463,6 +483,8 @@ class PayH5Controller extends BaseController{
} }
$discount = $this->get_discount($param['game_id'],$user['promote_id'],$param['user_id']); $discount = $this->get_discount($param['game_id'],$user['promote_id'],$param['user_id']);
$discount = $discount['discount']; $discount = $discount['discount'];
$param['callback'] = C('PAY_DOMAIN')."/sdk.php/Spend/paycallback/orderno/".$out_trade_no.'/game_id/'.$param['game_id']."/paytype/alipay";
$vo = new \Think\Pay\PayVo(); $vo = new \Think\Pay\PayVo();
$vo->setBody("充值") $vo->setBody("充值")
->setFee($param['price'])//支付金额 ->setFee($param['price'])//支付金额
@ -495,6 +517,7 @@ class PayH5Controller extends BaseController{
if($param['is_uc']==1){ if($param['is_uc']==1){
return $pay->buildRequestForm($vo,1); return $pay->buildRequestForm($vo,1);
}else{ }else{
$pay_['url']= $pay->buildRequestForm($vo, 0, $param); $pay_['url']= $pay->buildRequestForm($vo, 0, $param);
$pay_['out_trade_no']= $out_trade_no; $pay_['out_trade_no']= $out_trade_no;
return $pay_; return $pay_;
@ -1161,7 +1184,7 @@ ADD COLUMN `pay_url` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL AFTER
if($is_pay['status']==1){ if($is_pay['status']==1){
if($request['code']==1){ if($request['code']==1){
$json_data['url'] = $is_pay['mweb_url'].'&redirect_url='.C('PAY_DOMAIN')."sdk.php/Spend/paycallback/orderno/{$request['pay_order_number']}/game_id/{$request['game_id']}"; $json_data['url'] = $is_pay['mweb_url'].'&redirect_url='.urlencode(C('PAY_DOMAIN')."sdk.php/Spend/paycallback/orderno/{$request['pay_order_number']}/game_id/{$request['game_id']}/paytype/weixinpay");
$request['pay_url'] = $json_data['url']; $request['pay_url'] = $json_data['url'];
$this->add_spend($request,1); $this->add_spend($request,1);
@ -1291,6 +1314,7 @@ ADD COLUMN `pay_url` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL AFTER
} }
} }
redirect(U('spend/paycallback', array( redirect(U('spend/paycallback', array(
'sdk_version' => $request['sdk_version'],
'paytype' => 'weixinpay', 'paytype' => 'weixinpay',
'orderno' => $request['pay_order_number'], 'orderno' => $request['pay_order_number'],
'game_id' => $game_id, 'game_id' => $game_id,

@ -6,6 +6,7 @@ use Think\Controller;
use Org\JtpaySDK\Jtpay; use Org\JtpaySDK\Jtpay;
use Org\SqpaySDK\Sqpay; use Org\SqpaySDK\Sqpay;
use Think\Log; use Think\Log;
use Qiniu\json_decode;
class SpendController extends Controller { class SpendController extends Controller {
@ -286,8 +287,13 @@ ADD COLUMN `pay_url` varchar(255) NOT NULL DEFAULT '' AFTER `check_sign`;
// if ($result['pay_way'] == C('PAY_WAY.ALIPAY') || $result['pay_way'] == C('PAY_WAY.SQ_ALIPAY')) // if ($result['pay_way'] == C('PAY_WAY.ALIPAY') || $result['pay_way'] == C('PAY_WAY.SQ_ALIPAY'))
// $gopayUrl = "/sdk.php/PayH5/platform_alipay_pay/pay_order_number/{$result['pay_order_number']}/game_id/{$result['game_id']}/user_token/{$userToken}"; // $gopayUrl = "/sdk.php/PayH5/platform_alipay_pay/pay_order_number/{$result['pay_order_number']}/game_id/{$result['game_id']}/user_token/{$userToken}";
} }
// pp($gopayUrl); // 如果是json格式 且是alipay 则 alipay app
if (json_decode($gopayUrl) && $paytype == 'alipay') {
$this->assign("aliapp", 1);
} else {
$this->assign("aliapp", 0);
}
// pp($orderno);
$this->assign("orderno", $orderno); $this->assign("orderno", $orderno);
$this->assign("paytype", $paytype); $this->assign("paytype", $paytype);
$this->assign ('pay_url', $result['pay_url']); $this->assign ('pay_url', $result['pay_url']);

@ -927,7 +927,7 @@ class UserController extends BaseController
} }
if(strlen($nickname_len) > 16){ if(strlen($nickname_len) > 16){
$this -> set_message(1027, "fail", "昵称过长"); $this -> new_set_message(1027, "昵称过长");
} }
$nk = M('User', 'tab_') -> field('id,account,nickname') -> where(['nickname' => $user['nickname']]) -> find(); $nk = M('User', 'tab_') -> field('id,account,nickname') -> where(['nickname' => $user['nickname']]) -> find();
if (!empty($nk) && is_array($nk) && $user['user_id'] != $nk['id']) { if (!empty($nk) && is_array($nk) && $user['user_id'] != $nk['id']) {
@ -937,7 +937,7 @@ class UserController extends BaseController
break; break;
case 'pwd': case 'pwd':
if(!preg_match('/^(?![^a-zA-Z]+$)(?!\D+$).{6,15}$/', $user['password'])){ if(!preg_match('/^(?![^a-zA-Z]+$)(?!\D+$).{6,15}$/', $user['password'])){
$this -> set_message(1027, "fail", "密码必须6-15位字母和数字组合"); $this -> new_set_message(1027, "密码必须6-15位字母和数字组合");
} }
if ($user['old_password'] == $user['password']) { if ($user['old_password'] == $user['password']) {

@ -169,7 +169,7 @@
<div class="border-half-line" style="position: absolute;"></div> <div class="border-half-line" style="position: absolute;"></div>
<div class="paylist-box"> <div class="paylist-box">
<if condition="C('alipay.status') eq 1 or (C('goldpig.status') eq 1 and C('goldpig.zfb') eq 1) or (C('sqpay.status') eq 1 and C('sqpay.zfb') eq 1)"> <if condition="C('alipay.status') eq 1 or (C('goldpig.status') eq 1 and C('goldpig.zfb') eq 1) or (C('sqpay.status') eq 1 and C('sqpay.zfb') eq 1)">
<a id="alipaybtn" class="weui-cell" href="javascript:;" data-url="/sdk.php?s=/Apple/apple_alipay_pay&user_id={:I('user_id')}&game_id={:I('game_id')}&user_token={:I('user_token')}" id="alipaybtn" class="recharge_way_btn recharge_way_btn_alipay"> <a id="alipaybtn" class="weui-cell" href="javascript:;" data-url="{:U('PayH5/ali_pay',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token')))}" id="alipaybtn" class="recharge_way_btn recharge_way_btn_alipay">
<div class="weui-cell__hd"><img src="__IMG__/alipay.png"></div> <div class="weui-cell__hd"><img src="__IMG__/alipay.png"></div>
<div class="weui-cell__bd"> <div class="weui-cell__bd">
@ -279,43 +279,8 @@ $(function() {
if (flag) return ; if (flag) return ;
flag = true; flag = true;
var that = $(this),url = $.trim(that.attr('data-url')); window.location.href = $(this).data('url');
if(that.hasClass('disabledbtn')){return false;}
that.addClass('disabled');
$.ajax({
type:'post',
dataType:'json',
data:{},
url:url,
success:function(result) {
if(result.code==200) {
var data = result.data;
if(data.wap==1) {
location.href = data.url;
} else if (data.wap==1) {
window.webkit.messageHandlers.noticeAppResult.postMessage(data.url);
}
else {
if ($('#sdk_version').val() == 1)
window.txyxsdk.getZFBPay(data.url);
else
window.webkit.messageHandlers.noticeAppResult.postMessage(data.url);
}
} else {
layer.open({
content: result.msg
,skin: 'msg'
,time: 2 //2秒后自动关闭
});
}
},error:function() {
that.removeClass('disabledbtn');
}
});
return false; return false;
}); });

@ -16,6 +16,7 @@
<input type="hidden" name="at_once" class="at_once" value="{$at_once}"> <input type="hidden" name="at_once" class="at_once" value="{$at_once}">
<input type="hidden" name="gopay_url" class="gopay_url" value="{$gopay_url}"> <input type="hidden" name="gopay_url" class="gopay_url" value="{$gopay_url}">
<input type="hidden" name="gopay" class="gopay" value="{$gopay}"> <input type="hidden" name="gopay" class="gopay" value="{$gopay}">
<input type="hidden" name="aliapp" class="aliapp" value="{$aliapp}">
<!-- <div class="close" onclick="javascript:history.go(-1);"> <!-- <div class="close" onclick="javascript:history.go(-1);">
@ -33,14 +34,13 @@
</div> </div>
<div class="btn1"> <div class="btn1">
<eq name="paytype" value="weixinpay"> <eq name="paytype" value="weixinpay">
{$gopay_url}
<a href="{$gopay_url}" style="background:url('__IMG__/callback/btn1.png') no-repeat center center/100% 100%;"> <a href="{$gopay_url}" style="background:url('__IMG__/callback/btn1.png') no-repeat center center/100% 100%;">
继续支付</a> 继续支付</a>
</eq> </eq>
<eq name="paytype" value="alipay"> <eq name="paytype" value="alipay">
<a id="alipay" href="{$gopay_url}" style="background:url('__IMG__/callback/btn1.png') no-repeat center center/100% 100%;"> <a id="alipay" data-url="{$gopay_url}" style="background:url('__IMG__/callback/btn1.png') no-repeat center center/100% 100%;">
继续支付 继续支付
</a> </a>
</eq> </eq>
@ -61,7 +61,16 @@
$(function() { $(function() {
$(window).load( function(){ $(window).load( function(){
if ($(".gopay").val() == 1) { if ($(".gopay").val() == 1) {
window.location.hef = $(".gopay_url").val(); if ($(".aliapp").val() == 1) {
if ($('#sdk_version').val() == 1) {
window.txyxsdk.getZFBPay($(".gopay_url").val());
} else {
window.webkit.messageHandlers.noticeAppResult.postMessage($(".gopay_url").val());
}
} else {
window.location.href = $(".gopay_url").val();
}
} }
}); });
@ -122,43 +131,18 @@ $(function() {
$('#alipay').on('click',function() { $('#alipay').on('click',function() {
var that = $(this),url = $.trim(that.attr('data-url')); var that = $(this);
if(that.hasClass('disabledbtn')){return false;} var url = $.trim(that.attr('data-url'));
that.addClass('disabled'); if ($(".aliapp").val() == 1) {
$.ajax({ if ($('#sdk_version').val() == 1) {
type:'post', window.txyxsdk.getZFBPay(url);
dataType:'json', } else {
data:{}, window.webkit.messageHandlers.noticeAppResult.postMessage(url);
url:url,
success:function(result) {
if(result.code==200) {
var data = result.data;
if(data.wap==1) {
location.href = data.url;
} else if (data.wap==1) {
window.webkit.messageHandlers.noticeAppResult.postMessage(data.url);
}
else {
if ($('#sdk_version').val() == 1)
window.txyxsdk.getZFBPay(data.url);
else
window.webkit.messageHandlers.noticeAppResult.postMessage(data.url);
}
} else {
layer.open({
content: result.msg
,skin: 'msg'
,time: 2 //2秒后自动关闭
});
}
},error:function() {
that.removeClass('disabledbtn');
} }
} else {
}); window.location.href = url;
}
return false; return false;
}); });

Loading…
Cancel
Save