|
|
|
|
<?php
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | OneThink [ WE CAN DO IT JUST THINK ]
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | Author: liu21st <liu21st@gmail.com>
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
namespace Common\Api;
|
|
|
|
|
class PayApi {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*支付宝等其他执法
|
|
|
|
|
*/
|
|
|
|
|
public function other_pay($data=array(),$config=array())
|
|
|
|
|
{
|
|
|
|
|
switch ($data['options']) {
|
|
|
|
|
case 'spend':
|
|
|
|
|
$this->add_spend($data);
|
|
|
|
|
break;
|
|
|
|
|
case 'deposit':
|
|
|
|
|
$this->add_deposit($data);
|
|
|
|
|
break;
|
|
|
|
|
case 'agent':
|
|
|
|
|
$this->add_agent($data);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//页面上通过表单选择在线支付类型,支付宝为alipay 财付通为tenpay
|
|
|
|
|
$pay = new \Think\Pay($data['pay_type'],$config);
|
|
|
|
|
$vo = new \Think\Pay\PayVo();
|
|
|
|
|
$vo->setBody("充值记录描述")
|
|
|
|
|
->setFee($data['fee'])//支付金额$pay_amount
|
|
|
|
|
->setOrderNo($data['order_no'])
|
|
|
|
|
->setMoney($data['fee'])//$money
|
|
|
|
|
->setTitle('游戏充值')
|
|
|
|
|
->setCallback("http://".$_SERVER['HTTP_HOST']."/media.php")
|
|
|
|
|
->setParam(array('orderid'=>$data['order_no'],'tag'=>$data['order_no'],'user_login'=>'http://www.baidu.com'));
|
|
|
|
|
echo $pay->buildRequestForm($vo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*微信支付
|
|
|
|
|
*/
|
|
|
|
|
public function weixin_pay($data=array(),$config=array()){
|
|
|
|
|
switch ($data['options']) {
|
|
|
|
|
case 'spend':
|
|
|
|
|
$this->add_spend($data);
|
|
|
|
|
break;
|
|
|
|
|
case 'deposit':
|
|
|
|
|
$this->add_deposit($data);
|
|
|
|
|
break;
|
|
|
|
|
case 'agent':
|
|
|
|
|
$this->add_agent($data);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//页面上通过表单选择在线支付类型,支付宝为alipay 财付通为tenpay
|
|
|
|
|
$pay = new \Think\Pay($data['pay_type'],$config);
|
|
|
|
|
$vo = new \Think\Pay\PayVo();
|
|
|
|
|
$vo->setBody("充值记录描述")
|
|
|
|
|
->setFee($data['fee'])//支付金额$pay_amount
|
|
|
|
|
->setOrderNo($data['order_no'])
|
|
|
|
|
->setMoney($data['fee'])//$money
|
|
|
|
|
->setTitle('游戏充值')
|
|
|
|
|
->setCallback("Pay/index/pay")
|
|
|
|
|
->setService("pay.weixin.native")
|
|
|
|
|
->setNotifyUrl('http://'.$_SERVER['HTTP_HOST'].'/callback.php/Notify/weixi_notify/apitype/swiftpass')
|
|
|
|
|
->setParam(array('orderid'=>$data['order_no'],'tag'=>$data['order_no'],'user_login'=>'http://www.baidu.com'));
|
|
|
|
|
return $pay->buildRequestForm($vo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*消费表添加数据
|
|
|
|
|
*/
|
|
|
|
|
public function add_spend($data){
|
|
|
|
|
$spend = M("spend","tab_");
|
|
|
|
|
$ordercheck = $spend->where(array('pay_order_number'=>$data["order_no"]))->find();
|
|
|
|
|
if($ordercheck)$this->error("订单已经存在,请刷新充值页面重新下单!");
|
|
|
|
|
$spend_data['user_id'] = $data["user_id"];
|
|
|
|
|
$spend_data['user_account'] = $data["user_account"];
|
|
|
|
|
$spend_data['user_nickname'] = $data["user_nickname"];
|
|
|
|
|
$spend_data['game_id'] = $data["game_id"];
|
|
|
|
|
$spend_data['game_appid'] = $data["game_appid"];
|
|
|
|
|
$spend_data['game_name'] = $data["game_name"];
|
|
|
|
|
$spend_data['server_id'] = $data["server_id"];
|
|
|
|
|
$spend_data['server_name'] = $data["server_name"];
|
|
|
|
|
$spend_data['promote_id'] = $data["promote_id"];
|
|
|
|
|
$spend_data['promote_account'] = $data["promote_account"];
|
|
|
|
|
$spend_data['pay_order_number'] = $data["order_no"];
|
|
|
|
|
$spend_data['props_name'] = $data["title"];
|
|
|
|
|
$spend_data['pay_amount'] = $data["fee"];
|
|
|
|
|
$spend_data['pay_way'] = $data["pay_way"];
|
|
|
|
|
$spend_data['spend_ip'] = get_client_ip();
|
|
|
|
|
$spend->add($spend_data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*平台币充值记录
|
|
|
|
|
*/
|
|
|
|
|
public function add_deposit($data){
|
|
|
|
|
$deposit = M("deposit","tab_");
|
|
|
|
|
$ordercheck = $deposit->where(array('pay_order_number'=>$data["order_no"]))->find();
|
|
|
|
|
if($ordercheck)$this->error("订单已经存在,请刷新充值页面重新下单!");
|
|
|
|
|
|
|
|
|
|
$deposit_data['order_number'] = "";
|
|
|
|
|
$deposit_data['pay_order_number'] = $data["order_no"];
|
|
|
|
|
$deposit_data['user_id'] = $data["user_id"];
|
|
|
|
|
$deposit_data['user_account'] = $data["user_account"];
|
|
|
|
|
$deposit_data['user_nickname'] = $data["user_nickname"];
|
|
|
|
|
$deposit_data['promote_id'] = $data["promote_id"];
|
|
|
|
|
$deposit_data['promote_account'] = $data["promote_account"];
|
|
|
|
|
$deposit_data['pay_amount'] = $data["fee"];
|
|
|
|
|
$deposit_data['reality_amount'] = 0;
|
|
|
|
|
$deposit_data['pay_status'] = 0;
|
|
|
|
|
$deposit_data['pay_way'] = $data['pay_way'];
|
|
|
|
|
$deposit_data['pay_source'] = $data["pay_source"];
|
|
|
|
|
$deposit_data['pay_ip'] = get_client_ip();
|
|
|
|
|
$deposit_data['pay_source'] = $data['pay_source'];
|
|
|
|
|
$deposit_data['create_time'] = NOW_TIME;
|
|
|
|
|
|
|
|
|
|
$deposit->add($deposit_data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*添加代充记录
|
|
|
|
|
*/
|
|
|
|
|
public function add_agent($data){
|
|
|
|
|
$agent = M("agent","tab_");
|
|
|
|
|
$ordercheck = $agent->where(array('pay_order_number'=>$data["order_no"]))->find();
|
|
|
|
|
if($ordercheck)$this->error("订单已经存在,请刷新充值页面重新下单!");
|
|
|
|
|
$agnet_data['order_number'] = "";
|
|
|
|
|
$agnet_data['pay_order_number'] = $data["order_no"];
|
|
|
|
|
$agnet_data['game_id'] = $data["game_id"];
|
|
|
|
|
$agnet_data['game_appid'] = $data["game_appid"];
|
|
|
|
|
$agnet_data['game_name'] = $data["game_name"];
|
|
|
|
|
$agnet_data['promote_id'] = $data["promote_id"];
|
|
|
|
|
$agnet_data['promote_account'] = $data["promote_account"];
|
|
|
|
|
$agnet_data['user_id'] = $data["user_id"];
|
|
|
|
|
$agnet_data['user_account'] = $data["user_account"];
|
|
|
|
|
$agnet_data['user_nickname'] = $data["user_nickname"];
|
|
|
|
|
$agnet_data['pay_type'] = 0;//代充 转移
|
|
|
|
|
$agnet_data['amount'] = $data["amount"];
|
|
|
|
|
$agnet_data['real_amount'] = $data["real_amount"];
|
|
|
|
|
$agnet_data['pay_status'] = 0;
|
|
|
|
|
$agnet_data['pay_way'] = $data['pay_way'];
|
|
|
|
|
$agnet_data['create_time'] = time();
|
|
|
|
|
$agent_data['zhekou'] =$data['zhekou'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$agent->create($agnet_data);
|
|
|
|
|
$resutl = $agent->add();
|
|
|
|
|
}
|
|
|
|
|
}
|