-610, 'msg' => '对接参数有误', 'data' => []]; } try { $res = getHttpPost('https://api.yinhushouyou.com/api/Game/user_login', ['token' => $data['extparam']]); $res = json_decode($res, true); if ($res['code'] == 1) { // 互通游戏必要 return $res['data']['uid']; } } catch (\Exception $e) { return ['code' => -630, 'msg' => '渠道登录效验处理失败:'.$e->getMessage(), 'data' => []]; } return ['code' => -600, 'msg' => '渠道登录效验失败', 'data' => []]; } // ## 登陆效验 public function checkLogin($data, $polyChannelGame = []) { return ['user_id' => $data['user_id']]; } /** * ## 回调 - 效验 * attach = 需要客户端传递祈盟订单号 * * @param $data * @param $polyChannelGame * * @return array|true */ public function paySign($data, $polyChannelGame = []) { $getParamKeys = ['cporderid', 'orderid', 'appid', 'uid', 'time', 'extinfo', 'amount', 'serverid', 'charid', 'sign']; $param = Request::instance()->only($getParamKeys); if (hasAllKeys($param, $getParamKeys)) { return false; } if (empty($param['cporderid']) || empty($param['orderid'])|| empty($param['sign'])) { return ['code' => -710, 'msg' => '对接参数异常', 'data' => []]; } if (empty($polyChannelGame['param'])) { return ['code' => -720, 'msg' => '渠道缺少参数配置', 'data' => []]; } if (!$channelConfig = json_decode($polyChannelGame['param'], true)) { return ['code' => -721, 'msg' => '渠道参数配置有误!', 'data' => []]; } $sign = $param['sign']; unset($param['sign']); ksort($param); $signstr = http_build_query($param); //组成字符串拼接到游戏方回调地址上 $handleSign = md5($signstr.$channelConfig['pay_key']); //加密结果为 7aa30240753d89e85d145dd459687c2a if ($sign == $handleSign) { return true; } return ['code' => -700, 'msg' => '回调处理异常!', 'data' => []]; } // ## 回调 - 下单参数获取 public function getData($data) { if (!isset($data['cporderid']) || !isset($data['amount']) || !isset($data['orderid'])) { return false; } return [ 'orderid' => $data['cporderid'], // 我方聚合订单 'amount' => $data['amount'], // 充值金额(单位:元) 'sub_orderid' => $data['orderid'], // 渠道订单 ]; } // ## 回调 - 成功返回 public function getSuccess($msg = '') { echo "success"; exit(); } // ## 回调 - 失败返回 public function getFail($msg = '') { log_message('getFail: '.$msg, 'error', LOG_PATH."complexPaylog/{$this->channel}/"); echo "fail:". $msg; exit(); } }