public function wycz(){//我要充值
if(session('uid') ==NULL || session('uid') == "" || session('uid') == false){//没有登录 跳转到登录页
$this->redirect('/Login/login');exit;
}else{//接受参数
if($_POST){$Total_fee = trim(I("post.fotal_fee"));if(!empty($Total_fee)){if($Total_fee<=0){//提示输入正整数金额
$arr['code'] = "301";$arr['msg'] = "输入正整数";echo json_encode($arr);exit();
}else{
session("total_fee",$Total_fee);$arr['code'] = "200";$arr['msg'] = "确认充值吗?";echo json_encode($arr);exit();
}
}else{//提示输入正整数金额
$arr['code'] = "302";$arr['msg'] = "输入充值金额";echo json_encode($arr);exit();
}
}$this->display();
}
}//充值确认页面
public functionconfirmPay(){if(session('uid') ==NULL || session('uid') == "" || session('uid') == false){//没有登录 跳转到登录页
$this->redirect('/Login/login');exit;
}else{$result = $this->wapPay();$this->assign('jsApiParameters',$result['jsApiParameters']);$this->assign('editAddress', $result['editAddress']);$this->display();
}
}//操作充值
public function wapPAy($Total_fee)
{/**
*
* example目录下为简单的支付样例,仅能用于搭建快速体验微信支付使用
* 样例的作用仅限于指导如何使用sdk,在安全上面仅做了简单处理, 复制使用样例代码时请慎重
* 请勿直接直接使用样例对外提供服务
*
**/Vendor('Wxpaysdk.lib.WxPay#Api');
Vendor('Wxpaysdk.example.WxPay#JsApiPay');//Vendor('Wxpaysdk.example.WxPay#Config');
//①、获取用户openid
$tools = new\JsApiPay();$openId = $tools->GetOpenid();$Total_fee = session("total_fee")*100;//$Total_fee = session("total_fee");
//②、统一下单
$input = new\WxPayUnifiedOrder();$input->SetBody("vip充值");$input->SetAttach("vip充值");$input->SetOut_trade_no("klkq".date("YmdHis"));$input->SetTotal_fee($Total_fee);$input->SetTime_start(date("YmdHis"));$input->SetTime_expire(date("YmdHis", time() + 600));$input->SetGoods_tag("vip充值");//$input->SetNotify_url("http://paysdk.weixin.qq.com/notify.php");
$input->SetNotify_url("http://wap.yuming.com/Member/notify");$input->SetTrade_type("JSAPI");$input->SetOpenid($openId);$config = new\WxPayConfig();$order = \WxPayApi::unifiedOrder($config, $input);//echo '统一下单支付单信息
';
//printf_info($order);
$jsApiParameters = $tools->GetJsApiParameters($order);//获取共享收货地址js函数参数
$editAddress = $tools->GetEditAddressParameters();$data['jsApiParameters'] = $jsApiParameters;$data['editAddress'] = $editAddress;//写入订单表对应数据
$arr = array('w_mId'=>session('uid'),
'w_openid'=>$openId,
'w_title'=>'vip充值',
'w_time_create'=>date("YmdHis"),
'w_times_create'=>date("Y-m-d H:i:s"),
'w_out_trade_no'=>"klkq".date("YmdHis"),);
M('wxpay_order')->add($arr);return $data;
}//处理微信支付回调
public functionnotify(){$testxml = file_get_contents("php://input");$jsonxml = json_encode(simplexml_load_string($testxml,'SimpleXMLElement',LIBXML_NOCDATA));$result = json_decode($jsonxml,true);if($result){$out_trade_no = $result['out_trade_no'];if($result['return_code'] == 'SUCCESS' && $result['result_code'] =='SUCCESS'){//先判断订单状态是否已经改变
$orderData = M("wxpay_order")->where("w_out_trade_no='".$result['out_trade_no']."' and w_status=1")->find();if(!empty($orderData)){//支付成功改变支付状态
$arr = array('w_id'=>$orderData['w_id'],
'w_openid'=>$result['openid'],
'w_transaction_id'=>$result['transaction_id'],
'w_time_end'=>$result['time_end'],
'w_times_end'=>$result['time_end'],
'w_total_fee'=>$result['total_fee']/100,
'w_status'=>2,//支付成功 1 待支付 2支付成功 3 支付失败
);
M('wxpay_order')->save($arr);//操作积分
$uid = $orderData['w_mId'];//对该人增加$result['total_fee']积分
$zz_grade = M('grade');$g_Integral = $zz_grade->where("g_mId=".$uid)->getField('g_Integral');$zz_grade->g_Integral = $g_Integral + intval($result['total_fee']/100);//更新积分
$giddd = $zz_grade->where("g_mId=".$uid)->save();//操作积分日志表
$zz_grade_log = M('grade_log');$zz_grade_log->g_gContent = '充值'.intval($result['total_fee']/100).'积分';$zz_grade_log->g_mId = $uid;//邀请者会员id
$zz_grade_log->g_gNum = intval($result['total_fee']/100);//充值积分
$zz_grade_log->g_gDate = date('Y-m-d');//注册日期
$zz_grade_log->g_gTime = date('Y-m-d H:i:s');//注册时间
//写入数据库
$liddd = $zz_grade_log->add();
}
}
}
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态