You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

609 lines
28 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace Sdk\Controller;
use Think\Controller;
use Common\Api\GameApi;
use Org\WeixinSDK\Weixin;
use Org\HeepaySDK\Heepay;
use Org\UcenterSDK\Ucservice;
class PayController extends BaseController
{
private function pay($param = array())
{
$table = $param['code'] == 1 ? "spend" : "deposit";
$prefix = $param['code'] == 1 ? "SP_" : "PF_";
$out_trade_no = $prefix . date('Ymd') . date('His') . sp_random_string(4);
$user = get_user_entity($param['user_id']);
switch ($param['apitype']) {
case 'swiftpass':
$pay = new \Think\Pay($param['apitype'], $param['config']);
break;
default:
$pay = new \Think\Pay($param['apitype'], C($param['config']));
break;
}
$discount = $this->get_discount($param['game_id'], $user['promote_id'], $param['user_id']);
$discount = $discount['discount'];
// if(!is_check_apply_promote($param['game_id'],$user['promote_id'])){
// $user['promote_id']=0;
// $user['promote_account']="自然注册";
// }
$vo = new \Think\Pay\PayVo();
$vo->setBody("充值记录描述")
->setFee($param['price'])//支付金额
->setTitle($param['title'])
->setBody($param['body'])
->setOrderNo($out_trade_no)
->setRatio(get_game_selle_ratio($param["game_id"]))
->setService($param['server'])
->setSignType($param['signtype'])
->setPayMethod('mobile')
->setTable($table)
->setPayWay($param['payway'])
->setGameId($param['game_id'])
->setGameName(get_game_name($param['game_id']))
->setGameAppid($param['game_appid'])
->setServerId($param['server_id'])
->setGameplayerId($param['game_player_id'])
->setGameplayerName($param['game_player_name'])
->setServerName($param['server_name'])
->setUserId($param['user_id'])
->setAccount($user['account'])
->setUserNickName($user['nickname'])
->setPromoteId($user['promote_id'])
->setPromoteName($user['promote_account'])
->setExtend($param['extend'])
->setSdkVersion($param['sdk_version'])
->setSmallId($param['small_user_id'])
->setSmallAccount(get_user_account_by_id($param['small_user_id']))
->setDiscount($discount);
return $pay->buildRequestForm($vo);
}
/**
*支付宝移动支付
*/
public function alipay_pay()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
file_put_contents(dirname(__FILE__) . '/alipay_payapp.txt',json_encode($request));
C(api('Config/lists'));
if ($request['price']*1 < 0) {
$this->set_message(1011, "fail", "充值金额有误");
}
$game = M('Game','tab_')->where(['id'=>$request['game_id']])->field('pay_status')->find();
if($game['pay_status'] == 0){
$this->set_message(0,"fail","该游戏暂时无法充值,请联系客服!");
}
/* $request['price'] = 0.01; */
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find();
if($extend_data){
$this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付");
}
if (empty(C("alipay.partner")) || empty(C("alipay.email")) || empty(C("alipay.key")) || empty(C("alipay.appid"))) {
$this->set_message(1079, "faill", "未设置支付参数");
}
$game_set_data = get_game_set_info($request['game_id']);
$request['apitype'] = "alipay";
$request['config'] = "alipay";
$request['signtype'] = "MD5";
$request['server'] = "mobile.securitypay.pay";
$request['payway'] = 1;
$data = $this->pay($request);
$md5_sign = $this->encrypt_md5(base64_encode($data['arg']), $game_set_data["access_key"]);
$data = array('status' => 200, "orderInfo" => base64_encode($data['arg']), "out_trade_no" => $data['out_trade_no'], "order_sign" => $data['sign'], "md5_sign" => $md5_sign);
echo base64_encode(json_encode($data));
}
/**
*微信
*/
public function outher_pay()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
C(api('Config/lists'));
if ($request['price']*1 < 0) {
$this->set_message(1011, "fail", "充值金额有误");
}
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find();
if($extend_data){
$this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付");
}
$game_set_data = get_game_set_info($request['game_id']);
if (get_wx_type() == 0) {//官方
$table = $request['code'] == 1 ? "spend" : "deposit";
$prefix = $request['code'] == 1 ? "SP_" : "PF_";
$request['pay_order_number'] = $prefix . date('Ymd') . date('His') . sp_random_string(4);
$request['pay_way'] = 3;
$request['pay_status'] = 0;
$request['spend_ip'] = get_client_ip();
$weixn = new Weixin();
//折扣
$user = get_user_entity($request['user_id']);
$discount = $this->get_discount($request['game_id'], $user['promote_id'], $request['user_id']);
$discount = $discount['discount'];
if($prefix=='PF_'){
$pay_amount = $request['price'];
}else{
$pay_amount = $discount * $request['price'] / 10;
}
$is_pay = json_decode($weixn->weixin_pay($request['title'], $request['pay_order_number'], $pay_amount, 'APP', 2,$request['game_id']), true);
if ($is_pay['status'] === 1) {
if (!$request['is_uc'] || C('UC_SET') == 0 || find_uc_account($user['account'])) {
if ($request['code'] == 1) {
$this->add_spend($request);
} else {
$this->add_deposit($request);
}
}
$json_data['appid'] = $is_pay['appid'];
$json_data['partnerid'] = $is_pay['mch_id'];
$json_data['prepayid'] = $is_pay['prepay_id'];
$json_data['noncestr'] = $is_pay['noncestr'];
$json_data['timestamp'] = $is_pay['time'];
$json_data['package'] = "Sign=WXPay";
$json_data['sign'] = $is_pay['sign'];
$json_data['game_pay_appid'] = $game_set_data['game_pay_appid'];
$json_data['status'] = 200;
$json_data['return_msg'] = "下单成功";
$json_data['wxtype'] = "wx";
echo base64_encode(json_encode($json_data));
}
} else {
if (empty(C("weixin_gf.partner")) || empty(C("weixin_gf.key"))) {
$this->set_message(1079, "faill", "未设置威富通账号");
}
$request['apitype'] = "swiftpass";
$request['config'] = array("partner" => trim(C("weixin_gf.partner")), "email" => "", "key" => trim(C("weixin_gf.key")));
$request['signtype'] = "MD5";
$request['server'] = "unified.trade.pay";
$request['payway'] = 4;
$result_data = $this->pay($request);
$data['status'] = 200;
$data['return_code'] = "success";
$data['return_msg'] = "下单成功";
$data['token_id'] = $result_data['token_id'];
$data['out_trade_no'] = $result_data['out_trade_no'];
$data['game_pay_appid'] = $game_set_data['game_pay_appid']==""?C("weixin_gf.partner"):$game_set_data['game_pay_appid'];
$data['wxtype'] = "wft";
echo base64_encode(json_encode($data));
}
}
//聚宝云支付
public function jubaobar_pay()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
C(api('Config/lists'));
if ($request['price']*1 < 0) {
$this->set_message(1011, "fail", "充值金额有误");
}
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find();
if($extend_data){
$this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付");
}
$prefix = $request['code'] == 1 ? "SP_" : "PF_";
$out_trade_no = $prefix . date('Ymd') . date('His') . sp_random_string(4);
$request['pay_order_number'] = $out_trade_no;
$request['pay_status'] = 0;
$request['pay_way'] = 5;
$request['spend_ip'] = get_client_ip();
$user = get_user_entity($request['user_id']);
if (!$request['is_uc'] || C('UC_SET') == 0 || find_uc_account($user['account'])) {
if ($request['code'] == 1) {
#TODO添加消费记录
$this->add_spend($request);
} else {
#TODO添加平台币充值记录
$this->add_deposit($request);
}
}
$data['status'] = 200;
$data['return_code'] = "success";
$data['return_msg'] = "下单成功";
$data['out_trade_no'] = $out_trade_no;
$data['appid'] = $request['sdk_version'] == 2 ? C("jubaobar.iosemail") : C("jubaobar.email");//1安卓 2苹果
echo base64_encode(json_encode($data));
}
//竣付通支付
public function jft_pay()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
C(api('Config/lists'));
if ($request['price']*1 < 0) {
$this->set_message(1011, "fail", "充值金额有误");
}
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find();
if($extend_data){
$this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付");
}
$prefix = $request['code'] == 1 ? "SP_" : "PF_";
$out_trade_no = $prefix . date('Ymd') . date('His') . sp_random_string(4);
$request['pay_order_number'] = $out_trade_no;
$request['pay_status'] = 0;
$request['pay_way'] = 6;
$request['spend_ip'] = get_client_ip();
$user = get_user_entity($request['user_id']);
if (!$request['is_uc'] || C('UC_SET') == 0 || find_uc_account($user['account'])) {
if ($request['code'] == 1) {
#TODO添加消费记录
$this->add_spend($request);
} else {
#TODO添加平台币充值记录
$this->add_deposit($request);
}
}
$discount = $this->get_discount($request['game_id'], $user['promote_id'], $request['user_id']);
$discount = $discount['discount'];
$pay_amount = $discount * $request['price'] / 10;
$data['status'] = 200;
$data['return_code'] = "success";
$data['return_msg'] = "下单成功";
$data['ordertime'] = date("Ymdhms", time());
$data['out_trade_no'] = $out_trade_no;
$data['partner'] = C('jft.partner');
$data['appid'] = C('jft.appid');
$data['com_key'] = C('jft.key');
$data['key'] = C('jft.appkey');
$data['vector'] = C('jft.vector');
$data['returnurl'] = "http://www.vlcms.com";
$data['notifyurl'] = "http://" . $_SERVER['HTTP_HOST'] . "/callback.php/Notify/jft_callback";
$data['ordertime'] = date("Ymdhms", time());
echo base64_encode(json_encode($data));
}
//汇付宝支付
public function heepay_pay()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
C(api('Config/lists'));
if (C('UC_SET') == 1) {
if (!is_array(find_uc_account($request['account']))) {
$this->set_message(1080, "fail", "Uc用户暂不支持");
}
}
if ($request['price']*1 < 0) {
$this->set_message(1011, "fail", "充值金额有误");
}
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find();
if($extend_data){
$this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付");
}
$prefix = $request['code'] == 1 ? "SP_" : "PF_";
$out_trade_no = $prefix . date('Ymd') . date('His') . sp_random_string(4);
$request['pay_order_number'] = $out_trade_no;
$request['pay_status'] = 0;
$request['pay_way'] = 6;
$request['spend_ip'] = get_client_ip();
if ($request['code'] == 1) {
#TODO添加消费记录
$this->add_spend($request);
} else {
#TODO添加平台币充值记录
$this->add_deposit($request);
}
$pay['agent_id'] = "1664502";//商户号
$pay['order_no'] = $out_trade_no;
$pay['time'] = date('YmdHis', time());
$pay['pay_type'] = $request['pay_type'];
$pay['amount'] = $request['price'];
$pay['user_ip'] = get_client_ip();
$pay['sign_key'] = "87FB9444028A4B14937A1905";//密钥
$pay['payerName'] = "元宝";
$pay['number'] = 1;
$pay['goods_note'] = "支付";
$heepay = new Heepay();
$token_id = $heepay->heepay_pay($pay);
$data['agent_id'] = "1664502";//商户号
$data['status'] = 200;
$data['return_code'] = "success";
$data['return_msg'] = "下单成功";
$data['token_id'] = $token_id;
$data['out_trade_no'] = $out_trade_no;
echo base64_encode(json_encode($data));
}
/*
* 平台币抵扣
* 优先抵扣绑币 平台币 调这个接口说明 不走第三方支付通道
*/
public function platform_coin_deduction() {
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
#记录信息
if ($request['price'] *1<=0) {
$this->set_message(1011, "fail", "充值金额有误");
}
$request['price'] = abs($request['price']);
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find();
if($extend_data){
$this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付");
}
$user_info = get_user_entity($request['user_id']);
if($user_info['lock_status'] == 0 || $user_info['check_status'] == 0){
$this->set_message(0,"fail","账号被禁用,无法充值,请联..系客服!");
}
$game = M('Game','tab_')->where(['id'=>$request['game_id']])->field('pay_status')->find();
if($game['pay_status'] == 0){
$this->set_message(0,"fail","该游戏暂时无法充值,请联系客服!");
}
$out_trade_no = "PF_" . date('Ymd') . date('His') . sp_random_string(4);
$request['order_number'] = $out_trade_no;
$request['pay_order_number'] = $out_trade_no;
$request['out_trade_no'] = $out_trade_no;
$request['title'] = $request['title'];
$request['pay_status'] = 1;
$request['pay_way'] = 0;
$request['spend_ip'] = get_client_ip();
$user_entity = get_user_entity($request['user_id']);
$discount_arr = $this->get_discount($request['game_id'], $user_entity['promote_id'], $request['user_id']);
$discount = $discount_arr['discount'];
$user = M("user", "tab_");
//添加黑名单
$check_deposit_money = $this->check_deposit_money($user_entity);
$check_bind_money = $this->check_bind_money($user_entity);
if($check_deposit_money === false || $check_bind_money === false || (C('BRUSH_MONEY') && (abs($check_deposit_money)>=C('BRUSH_MONEY') || abs($check_bind_money)>=C('BRUSH_MONEY'))) || (!C('BRUSH_MONEY') && (abs($check_deposit_money) != 0 || abs($check_bind_money) != 0))){
if(C('BRUSH_SMS_STATUS') && C('BRUSH_PHONE')&& C('BRUSH_SMS_ID')){
$result = $this-> send_block(C('BRUSH_PHONE'),$user_entity['account']);
}
$block_data['check_status'] = 0;
$block_data['block_time'] = time();
$user->where(['id'=>$user_entity['id']])->save($block_data);
echo base64_encode(json_encode(array("status" => 1076,"return_code" => "fail", "return_msg" => C('BRUSH_MONEY')."您的账号暂时无法充值,请联系客服处理.".$check_deposit_money)));
exit();
}
$result = false;
// 先扣绑币
$request['pay_way'] = -1;
$user_play = M("UserPlay", "tab_");
$user_play_map['user_id'] = $request['user_id'];
$user_play_map['game_id'] = $request['game_id'];
$user_play_data = $user_play->where($user_play_map)->find();
$balance = $user->where(array('id' => $request['user_id']))->getField("balance");
if ($balance + $user_play_data['bind_balance'] < $request['price']) {
redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'msg'=>'您金额不足,请退出重试.')));exit;
}
if ($user_play_data['bind_balance'] < $request['price']) {
$price = $request['price'];
if ($user_play_data['bind_balance'] > 0) {
$user_play->where($user_play_map)->save(array('bind_balance' => 0)); // 扣绑定币
$request['price'] = $user_play_data['bind_balance'];
$result = $this->add_spend($request);
$this->set_ratio($request['pay_order_number'], 2); // 游戏返利
}
$request['pay_way'] = 0; // 扣平台币
$real_price = $price - $user_play_data['bind_balance'];
$user->where(array('id' => $request["user_id"]))->setDec("balance", $real_price);
//$this->set_message(0,"fail", $request['pay_order_number']);
$request['pay_order_number'] = $request['pay_order_number']."_1";
$request['price'] = $real_price;
$result = $this->add_spend($request);
$this->set_ratio($request['pay_order_number'], 1); // 游戏返利
} else { // 绑定币足够扣
$user_play->where($user_play_map)->setDec('bind_balance', $request['price']); // 扣绑定币
$result = $this->add_spend($request);
$this->set_ratio($request['pay_order_number'], 2); // 游戏返利
}
$game = new GameApi();
$game->game_pay_notify($request, $request['code']);
if ($result) {
echo base64_encode(json_encode(array("status" => 200, "return_code" => "success", "return_msg" => "支付成功", "out_trade_no" => $out_trade_no)));
} else {
echo base64_encode(json_encode(array("status" => 1078, "return_code" => "fail", "return_msg" => "支付失败")));
}
}
/**
*平台币支付
*/
public function platform_coin_pay()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
#记录信息
if ($request['price'] *1<=0) {
$this->set_message(1011, "fail", "充值金额有误");
}
$request['price'] = abs($request['price']);
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'pay_status'=>1,'game_id'=>$request['game_id']))->find();
if($extend_data){
$this->set_message(1089,"fail","订单号重复,请关闭支付页面重新支付");
}
$user_info = get_user_entity($request['user_id']);
if($user_info['lock_status'] == 0 || $user_info['check_status'] == 0){
$this->set_message(0,"fail","账号被禁用,无法充值,请联系客服...");
}
$game = M('Game','tab_')->where(['id'=>$request['game_id']])->field('pay_status')->find();
if($game['pay_status'] == 0){
$this->set_message(0,"fail","该游戏暂时无法充值,请联系客服!");
}
$out_trade_no = "PF_" . date('Ymd') . date('His') . sp_random_string(4);
$request['order_number'] = $out_trade_no;
$request['pay_order_number'] = $out_trade_no;
$request['out_trade_no'] = $out_trade_no;
$request['title'] = $request['title'];
$request['pay_status'] = 1;
$request['pay_way'] = 0;
$request['spend_ip'] = get_client_ip();
$user_entity = get_user_entity($request['user_id']);
$discount_arr = $this->get_discount($request['game_id'], $user_entity['promote_id'], $request['user_id']);
$discount = $discount_arr['discount'];
$user = M("user", "tab_");
//添加黑名单
$check_deposit_money = $this->check_deposit_money($user_entity);
$check_bind_money = $this->check_bind_money($user_entity);
if($check_deposit_money === false || $check_bind_money === false || (C('BRUSH_MONEY') && (abs($check_deposit_money)>=C('BRUSH_MONEY') || abs($check_bind_money)>=C('BRUSH_MONEY'))) || (!C('BRUSH_MONEY') && (abs($check_deposit_money) != 0 || abs($check_bind_money) != 0))){
if(C('BRUSH_SMS_STATUS') && C('BRUSH_PHONE')&& C('BRUSH_SMS_ID')){
$result = $this-> send_block(C('BRUSH_PHONE'),$user_entity['account']);
}
$block_data['check_status'] = 0;
$block_data['block_time'] = time();
$user->where(['id'=>$user_entity['id']])->save($block_data);
echo base64_encode(json_encode(array("status" => 1076,"return_code" => "fail", "return_msg" => "您的账号暂时无法充值,请联系客服处理")));
exit();
}
$result = false;
switch ($request['code']) {
case 1:#非绑定平台币
$real_price = $request['price'] * $discount / 10;
if ($user_entity['balance'] < $real_price) {
$data = array('discount'=>$discount,"real_price"=>$real_price,'balance'=>$user_entity['balance']);
echo base64_encode(json_encode(array("status" => 1076,"return_code" => "fail", "return_msg" => "余额不足")));
exit();
}
//防刷预警
if(C('BRUSH_PTB') && $user_entity['balance'] >= C('BRUSH_PTB') && C('BRUSH_EMAIL') && C('BRUSH_EMAIL_STATUS')){
$content = "尊敬的用户:<br/>&nbsp;&nbsp;&nbsp;&nbsp;系统检测到玩家【".$user_entity['account']."】账户平台币".$user_entity['balance'].",超出上限".C('BRUSH_PTB').",可能存在异常,请尽快处理。";
sendBrushMail(C('BRUSH_EMAIL'),$content);
}
if(C('BRUSH_PTB_TIME') && C('BRUSH_PTB_COUNT') && C('BRUSH_EMAIL') && C('BRUSH_EMAIL_STATUS')){
$where['pay_time'] = ['between',[time()-C('BRUSH_PTB_TIME')*60,time()]];
$where['user_id'] = $user_entity['id'];
$where['pay_status'] = 1;
$where['pay_way'] = 0;
$spend_count = M('spend','tab_')->where($where)->count('id');
$spend_count += 1;
if($spend_count > C('BRUSH_PTB_COUNT')){
$content = "尊敬的用户:<br/>&nbsp;&nbsp;&nbsp;&nbsp;系统检测到玩家【".$user_entity['account']."】在".date('Y-m-d H:i:s',time()-C('BRUSH_PTB_TIME')*60)."-".date('Y-m-d H:i:s')."期间累计平台币消费".$spend_count."次,可能存在异常,请尽快处理。";
sendBrushMail(C('BRUSH_EMAIL'),$content);
}
}
#扣除平台币
$user->where("id=" . $request["user_id"])->setDec("balance", $real_price);
#TODO 添加绑定平台币消费记录
$result = $this->add_spend($request);
#检查返利设置
$this->set_ratio($request['pay_order_number']);
break;
case 2:#绑定平台币
$request['pay_way'] = -1;
$user_play = M("UserPlay", "tab_");
$user_play_map['user_id'] = $request['user_id'];
$user_play_map['game_id'] = $request['game_id'];
$user_play_data = $user_play->where($user_play_map)->find();
if ($user_play_data['bind_balance'] < $request['price']) {
echo base64_encode(json_encode(array("status" =>1076, "return_code" => "fail", "return_msg" => "余额不足")));
exit();
}
#扣除平台币
$user_play->where($user_play_map)->setDec("bind_balance", $request['price']);
#TODO 添加绑定平台币消费记录
$result = $this->add_spend($request);
#检查返利设置
$this->set_ratio($request['pay_order_number'],2);
break;
default:
echo base64_encode(json_encode(array("status" => 1081, "return_code" => "fail", "return_msg" => "支付方式不明确")));
exit();
break;
}
$game = new GameApi();
$game->game_pay_notify($request, $request['code']);
if ($result) {
echo base64_encode(json_encode(array("status" => 200, "return_code" => "success", "return_msg" => "支付成功", "out_trade_no" => $out_trade_no)));
} else {
echo base64_encode(json_encode(array("status" => 1078, "return_code" => "fail", "return_msg" => "支付失败")));
}
}
/**
*支付验证
*/
public function pay_validation()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
$out_trade_no = $request['out_trade_no'];
$pay_where = substr($out_trade_no, 0, 2);
$result = 0;
$map['pay_order_number'] = $out_trade_no;
switch ($pay_where) {
case 'SP':
$data = M('spend', 'tab_')->field('pay_status')->where($map)->find();
$result = $data['pay_status'];
break;
case 'PF':
$data = M('deposit', 'tab_')->field('pay_status')->where($map)->find();
$result = $data['pay_status'];
break;
case 'AG':
$data = M('agent', 'tab_')->field('pay_status')->where($map)->find();
$result = $data['pay_status'];
break;
default:
exit('accident order data');
break;
}
if ($result) {
echo base64_encode(json_encode(array("status" => 200, "return_code" => "success", "return_msg" => "支付成功")));
exit();
} else {
echo base64_encode(json_encode(array("status" => 1078, "return_code" => "fail", "return_msg" => "支付失败")));
exit();
}
}
/**
*sdk客户端显示支付
*/
public function payShow()
{
$map['type'] = 1;
$map['status'] = 1;
$data = M("tool", "tab_")->where($map)->select();
if (empty($data)) {
echo base64_encode(json_encode(array("status" => 1082, "return_code" => "fail", "return_msg" => "暂无数据")));
exit();
}
foreach ($data as $key => $value) {
$pay_show_data[$key]['mark'] = $value['name'];
$pay_show_data[$key]['title'] = $value['title'];
}
echo base64_encode(json_encode(array("status" => 200, "return_code" => "fail", "return_msg" => "成功", "pay_show_data" => $pay_show_data)));
exit();
}
}