$channelConfig['app_id'], 'token' => $data['channel_token'], 'umid' => $data['user_id'], ]; $param['sig'] = md5(sprintf("%s|%s|%s|%s", $param['appid'], $channelConfig['app_key'], $param['token'], $param['umid'])); $res = getHttpGet('https://ctmaster.d.cn/api/cp/checkToken', $param); $res = json_decode($res, true); if ($res['msg_code'] == 2000) { return $data['user_id']; } else { return false; } } // ## 登陆 - 登陆 public function checkLogin($data, $polyChannelGame = []) { return true; } // ## 下单 - 客户端需要的参数 public function getOrder($data) { if (!$channelConfig = json_decode($data['channel_info']['param'], true)) { return false; } $param = [ "cpOrder" => $data['pay_info']['orderid'], "ext" => "ext", "money" => number_format($data['amount'], 2), "roleId" => $data['roleid'], "umid" => $data['member_info']['complex_id'], ]; $sign = md5("{$param['cpOrder']}|{$param['ext']}|{$param['money']}|{$param['roleId']}|{$param['umid']}|{$channelConfig['pay_key']}"); return ['code' => 200, 'msg' => 'success', 'param' => ['sign' => $sign]]; } // ## 回调 - 效验 public function paySign($data, $polyChannelGame = []) { $param = [ 'result' => $data['result'], // 商户ID 'money' => $data['money'], // 游戏ID 'order' => $data['order'], // 游戏服ID 'mid' => $data['mid'], // 玩家id 'time' => $data['time'], // 时间戳(Unix time) 'ext' => $data['ext'], // orderid 'cpOrder' => $data['cpOrder'], // 充值金额(单位元) 'signature' => $data['signature'], // 自定义参数(自定义参数) ]; $getValues = array_values($param); if (empty(array_diff(['result', 'money', 'order', 'mid', 'time', 'ext', 'cpOrder', 'signature'], $getValues))) { return false; } if (!$channelConfig = json_decode($polyChannelGame['param'], true)) { return false; } $hadleSign = md5("order={$param['order']}&money={$param['money']}&mid={$param['mid']}&time={$param['time']}&result={$param['result']}&cpOrder={$param['cpOrder']}&ext={$param['ext']}&key={$channelConfig['pay_key']}"); if ($param['signature'] == $hadleSign) { return true; } return false; } // ## 回调 - 下单参数获取 public function getData($data) { if (!isset($data['cpOrder']) || !isset($data['money']) || !isset($data['order'])) { return false; } return [ 'orderid' => $data['cpOrder'], // 我方聚合订单 'amount' => $data['money'], // 充值金额(单位:元) 'sub_orderid' => $data['order'], // 渠道订单 ]; } // ## 回调 - 成功返回 public function getSuccess($msg = '') { echo "success"; exit(); } // ## 回调 - 失败返回 public function getFail($msg = '') { echo "failure"; exit(); } }