| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <?php
- namespace app\api\complex;
- use think\Request;
- /**
- * 游辰
- */
- class Youchen implements ComplexInterface
- {
- private $channel = 'youchen';
- /**
- * ## 登陆 - 校验
- *
- * @param $data
- * @param $polyChannelGame
- *
- * @return false
- */
- public function getSpecialParam($data, $polyChannelGame = [])
- {
- // 参数:user_id = user_id
- return $data['user_id'];
- }
- // ## 登陆 - 登陆
- public function checkLogin($data, $polyChannelGame = [])
- {
- // 参数:channel_token = token
- if (!isset($data['user_id']) || !isset($data['channel_token'])) {
- return ['code' => -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();
- }
- }
|