| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <?php
- namespace app\api\complex;
- /**
- * 神起渠道
- */
- class Shenqi implements ComplexInterface
- {
- private $channel = 'shenqi';
- // 登陆效验
- public function checkLogin($data, $polyChannelGame = [])
- {
- if(empty($data['channel_token'])){
- return false;
- }
- if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
- return false;
- }
- $param = [
- 'appId' => $paramArr['app_id'],
- 'token' => $data['channel_token'],
- 'platformId' => $paramArr['platform_id'],
- ];
- $param['sign'] = $this->sign($param, $paramArr['server_key']);
- $result = get_http_response('https://game-api.62wy.com/api/Cp/VerifySession.do', $param);
- $res = json_decode($result, true);
- if ($res['state'] == 1) {
- return ['user_id' => $res['userId']];
- } else {
- return false;
- }
- }
- // 下单参数
- public function getData($data)
- {
- return [
- 'orderid' => $data['cpOrderId'], //我方聚合订单
- 'amount' => formatFenToYuan($data['money']), // 充值金额
- 'sub_orderid' => $data['orderId'],//渠道订单
- ];
- }
- // 回调效验
- public function paySign($data, $polyChannelGame = [])
- {
- if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
- return false;
- }
- $newData = [
- 'appId' => $data['appId'],
- 'cpOrderId' => $data['cpOrderId'],
- 'extension' => $data['extension'],
- 'money' => $data['money'],
- 'orderId' => $data['orderId'],
- 'productId' => $data['productId'],
- 'sign' => $data['sign'],
- 'userId' => $data['userId'],
- 'userName' => $data['userName'],
- 'zoneId' => $data['zoneId'],
- ];
- $sign = $this->sign($newData, $paramArr['server_key']);
- if ($newData['sign'] == $sign) {
- return true;
- }
- return false;
- }
- // 签名
- public function sign($param, $key)
- {
- $newPatam = $param;
- ksort($newPatam);
- foreach ($newPatam as $k => $v) {
- if ($k == 'sign' || $v == '') {
- unset($newPatam[$k]);
- }
- }
- $signStr = http_build_query($newPatam);
- $signStr = urldecode($signStr) . $key;
- $sign = md5($signStr);
- return $sign;
- }
- public function getFail($msg = '')
- {
- echo 'FAILURE';
- exit();
- }
- public function getSuccess($msg = '')
- {
- echo 'SUCCESS';
- exit();
- }
- /**
- * 二次登陆效验
- *
- * @param $data
- * @param $polyChannelGame
- *
- * @return false
- */
- public function getSpecialParam($data,$polyChannelGame = [])
- {
- if(empty($data['channel_token'])){
- return false;
- }
- if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
- return false;
- }
- $param = [
- 'appId' => $paramArr['app_id'],
- 'token' => $data['channel_token'],
- 'platformId' => $paramArr['platform_id'],
- ];
- $param['sign'] = $this->sign($param, $paramArr['server_key']);
- $result = get_http_response('https://game-api.62wy.com/api/Cp/VerifySession.do', $param);
- $res = json_decode($result, true);
- if ($res['state'] == 1) {
- return $res['userId'];
- } else {
- return false;
- }
- }
- }
|