-610, 'msg' => '对接参数有误', 'data' => []]; } if (empty($polyChannelGame['param'])) { return ['code' => -611, 'msg' => '对接参数异常', 'data' => []]; } if (!$channelConfig = json_decode($polyChannelGame['param'], true)) { return ['code' => -660, 'msg' => '渠道缺少参数配置', 'data' => []]; } $param = [ 'appid' => $channelConfig['app_id'], 'time' => time(), 'token' => $data['channel_token'], ]; $param['sign'] = md5("appid={$param['appid']}&time={$param['time']}&token={$param['token']}{$channelConfig['app_key']}"); $res = getHttpPost('https://api.hzycx.top/api/user/checkToken', $param); $res = json_decode($res, true); if (!empty($res['state']) && !empty($res['state']['code']) && $res['state']['code'] == 1) { return ['user_id' => $res['data']['uid']]; } else { return ['code' => -600, 'msg' => '渠道登录效验失败', 'data' => []]; } } // ## 回调 - 效验 public function paySign($data, $polyChannelGame = []) { $param = Request::instance()->only(['appid', 'data', 'sign']); if (empty($param['appid']) || empty($param['data'])|| empty($param['sign'])) { return ['code' => -710, 'msg' => '对接参数异常', 'data' => []]; } if(!$data = json_decode($param['data'], true)){ return ['code' => -711, 'msg' => '对接参数异常!', 'data' => []]; } if (empty($polyChannelGame['param'])) { return ['code' => -720, 'msg' => '渠道缺少参数配置', 'data' => []]; } if (!$channelConfig = json_decode($polyChannelGame['param'], true)) { return ['code' => -721, 'msg' => '渠道参数配置有误!', 'data' => []]; } $datas = [ 'callbackInfo' => $data['callbackInfo'], 'cpOrder' => $data['cpOrder'], 'goodsID' => $data['goodsID'], 'money' => $data['money'], 'orderId' => $data['orderId'], 'roleID' => $data['roleID'], 'serverId' => $data['serverId'], 'uid' => $data['uid'], ]; ksort($datas); $sign = md5($param['appid'].urldecode(http_build_query($datas)).$channelConfig['pay_key']); if ($param['sign'] == $sign) { return true; } return ['code' => -700, 'msg' => '回调处理失败!', 'data' => []]; } // ## 回调 - 下单参数获取 public function getData($data) { $param = Request::instance()->only(['appid', 'data', 'sign']); if(!$data = json_decode($param['data'], true)){ return ['code' => -710, 'msg' => '回调参数有误!', 'data' => []]; } if (!isset($data['cpOrder']) || !isset($data['money']) || !isset($data['orderId'])) { return ['code' => -720, 'msg' => '回调参数有误!', 'data' => []]; } return [ 'orderid' => $data['cpOrder'], // 我方聚合订单 'amount' => $data['money'],// 充值金额(单位:元) 'sub_orderid' => $data['orderId'], // 渠道订单 ]; } // ## 回调 - 成功返回 public function getSuccess($msg = '') { echo "SUCCESS"; exit(); } // ## 回调 - 失败返回 public function getFail($msg = '') { echo "FAIL:".$msg; exit(); } }