$data['user_id'], 'token' => $data['channel_token'], ]; $res = getHttpPost('https://unionapi.zjqca.com/verifyUser', $param); $res = json_decode($res, true); if ($res['status'] == 200) { return ['user_id' => $data['user_id']]; } else { return false; } } // ## 回调 - 效验 public function paySign($data, $polyChannelGame = []) { $param = [ 'orderID' => $data['orderID'], // 唯一订单号 'gameOrderID' => $data['gameOrderID'], // 游戏方的订单号 'userID' => $data['userID'], // 玩家ID 'username' => $data['username'], // 玩家账号 'serverName' => $data['serverName'], // 游戏服务器名称 'money' => $data['money'], // 订单金额(单位分) 'time' => $data['time'], // 时间戳(11位到秒) 'extension' => $data['extension'], // 穿透参数 'sign' => $data['sign'] ]; if (!$channelConfig = json_decode($polyChannelGame['param'], true)) { return false; } ksort($param); $string = ""; foreach ($param as $k => $v) { if($k == 'sign'){ continue; } if ($string) { $string .= "&{$k}={$v}"; } else { $string = "{$k}={$v}"; } } $sign = $string."&".$channelConfig['appPayKey']; $md5Res = md5($sign); if ($param['sign'] == $md5Res) { return true; } return false; } // ## 发起下单 public function getOrder($data) { return ['code' => 200, 'msg' => 'success', 'param' => ['notify_url' => $data['notify_url']]]; } // ## 回调 - 下单参数获取 public function getData($data) { if (!isset($data['gameOrderID']) || !isset($data['money']) || !isset($data['orderID'])) { return false; } return [ 'orderid' => $data['gameOrderID'], // 我方聚合订单 'amount' => formatFenToYuan($data['money']),// 充值金额(单位:元) 'sub_orderid' => $data['orderID'], // 渠道订单 ]; } // ## 回调 - 成功返回 public function getSuccess($msg = '') { echo "SUCCESS"; exit(); } // ## 回调 - 失败返回 public function getFail($msg = '') { echo "FAIL"; exit(); } }