<?php namespace Sdk\Controller; use Common\Api\GameApi; /** * 支付游戏回调控制器 * @author 小纯洁 */ class GameNotifyController extends BaseController { /** *游戏支付通知地址 */ public function game_pay_notify() { $request = json_decode(base64_decode(file_get_contents("php://input")),true); $param['out_trade_no'] = $request['out_trade_no']; $param['price'] = $request['price']; $param['extend'] = $request['extend']; $param['game_id'] = $request['game_id']; $game = new GameApi(); #游戏支付通知 $result = $game->game_pay_notify($param); if($result == "success"){ $result = $this->update_game_pay_status($request['out_trade_no'],$request['code'],$request['extend']); $this->set_message(1,'success','游戏支付成功'); }else{ $this->set_message(0,'fail','游戏支付失败'); } } /** *修改游戏支付状态 */ private function update_game_pay_status($out_trade_no="",$code=1,$extend=""){ $result = false; $map['pay_order_number'] = $out_trade_no; $data = array("pay_game_status"=>1,"extend"=>$extend); switch ($code) { case 1: $result = M('spend',"tab_")->where($map)->setField($data); break; default: $result = M('BindSpend',"tab_")->where($map)->setField($data); break; } return $result; } }