Qilin.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. namespace app\api\complex;
  3. /**
  4. * 骐麟
  5. */
  6. class Qilin implements ComplexInterface
  7. {
  8. private $channel = 'qilin';
  9. // 登陆效验
  10. public function checkLogin($data, $polyChannelGame = [])
  11. {
  12. if(empty($data['username']) || empty($data['channel_token'])){
  13. return false;
  14. }
  15. $param = [
  16. 'username' => $data['username'],
  17. 'token' => stripslashes( $data['channel_token']),
  18. ];
  19. $result = get_http_response('http://sdkapi.833wan.com/v1.helper/checkToken.html', $param);
  20. $res = json_decode($result, true);
  21. if ($res['code'] == 1) {
  22. return true;
  23. } else {
  24. return false;
  25. }
  26. }
  27. // 下单参数
  28. public function getData($data)
  29. {
  30. return [
  31. 'orderid' => $data['attach'], //我方聚合订单
  32. 'amount' => $data['amount'], // 充值金额(单位:元)
  33. 'sub_orderid' => $data['orderid'],//渠道订单
  34. ];
  35. }
  36. // 回调效验
  37. public function paySign($data, $polyChannelGame = [])
  38. {
  39. if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
  40. return false;
  41. }
  42. $newData = [
  43. 'orderid' => $data['orderid'],
  44. 'username' => urldecode($data['username']),
  45. 'gameid' => $data['gameid'],
  46. 'roleid' => $data['roleid'],
  47. 'serverid' => $data['serverid'],
  48. 'paytype' => $data['paytype'],
  49. 'amount' => $data['amount'],
  50. 'paytime' => $data['paytime'],
  51. 'attach' => urldecode($data['attach']),
  52. 'appkey' => $paramArr['appkey'],
  53. 'sign' => $data['sign'],
  54. ];
  55. $sign = $this->sign($newData);
  56. if ($newData['sign'] == $sign) {
  57. return true;
  58. }
  59. return false;
  60. }
  61. // 签名
  62. private function sign($param)
  63. {
  64. $params = $param;
  65. unset($params['sign']);
  66. $signStr = http_build_query($params);
  67. $signStr = urldecode($signStr);
  68. $sign = md5($signStr);
  69. // dump($param, $signStr, $sign);
  70. return $sign;
  71. }
  72. public function getFail($msg = '')
  73. {
  74. echo 'FAIL';
  75. exit();
  76. }
  77. public function getSuccess($msg = '')
  78. {
  79. echo 'SUCCESS';
  80. exit();
  81. }
  82. /**
  83. * 二次登陆效验
  84. *
  85. * @param $data
  86. * @param $polyChannelGame
  87. *
  88. * @return false
  89. */
  90. public function getSpecialParam($data,$polyChannelGame = [])
  91. {
  92. if(empty($data['username']) || empty($data['channel_token'])){
  93. return false;
  94. }
  95. $param = [
  96. 'username' => $data['username'],
  97. 'token' => stripslashes($data['channel_token']),
  98. ];
  99. $result = get_http_response('http://sdkapi.833wan.com/v1.helper/checkToken.html', $param);
  100. $res = json_decode($result, true);
  101. if ($res['code'] == 1) {
  102. return $data['username'];
  103. } else {
  104. return false;
  105. }
  106. }
  107. }