Tlyx.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace app\api\complex;
  3. /**
  4. * 贪乐
  5. */
  6. class Tlyx implements ComplexInterface
  7. {
  8. private $channel = 'tlyx';
  9. private $check_url = "https://face.jiangxtl.com/mpsw/oauth.php";
  10. // 渠道效验
  11. public function getSpecialParam($data,$polyChannelGame = []){
  12. if(!empty($data['username'])){
  13. return $data['username'];
  14. }
  15. return false;
  16. }
  17. // 登陆效验
  18. public function checkLogin($data, $polyChannelGame = [])
  19. {
  20. if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
  21. return false;
  22. }
  23. $param = [
  24. 'appid' => $paramArr['appid'],
  25. 'uid' => $data['username'],
  26. 'state' => $data['channel_token'],
  27. ];
  28. $param['flag'] = md5($param['appid'].$param['uid'].$param['state'].$paramArr['login_key']);
  29. // trace('str='.$param['appid'].$param['uid'].$param['state'].$paramArr['login_key']." - sign=".md5($param['appid'].$param['uid'].$param['state'].$paramArr['login_key']) , 'Tlyx@checkLogin.req');
  30. $result = get_http_response($this->check_url, $param);
  31. $res = json_decode($result, true);
  32. if ($res['code'] == 1) {
  33. return ['user_id' => $data['username']];
  34. } else {
  35. return false;
  36. }
  37. }
  38. // 下单参数
  39. public function getData($data)
  40. {
  41. return [
  42. 'orderid' => $data['ext'],//我方聚合订单
  43. 'amount' => $data['money'], // 充值金额(单位:元)
  44. 'sub_orderid' => $data['orderid'],//渠道订单
  45. ];
  46. }
  47. // 回调效验
  48. public function paySign($data, $polyChannelGame = [])
  49. {
  50. if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
  51. return false;
  52. }
  53. $param = [
  54. 'uid' => $data['uid'],
  55. 'money' => $data['money'],
  56. 'time' => $data['time'],
  57. 'sid' => $data['sid'],
  58. 'role_id' => $data['role_id']??'',
  59. 'role_name' => $data['role_name']??'',
  60. 'package' => $data['package']??'',
  61. 'orderid' => $data['orderid'],
  62. 'ext' => $data['ext'],
  63. 'sign' => $data['sign'],
  64. ];
  65. $sign = md5($param['uid']. $param['money']. $param['time']. $param['sid']. $param['orderid']. $param['ext']. $paramArr['pay_key']);
  66. if ($param['sign'] == $sign) {
  67. return true;
  68. }
  69. return false;
  70. }
  71. public function getFail($msg = '')
  72. {
  73. echo '{"ret":"0", "msg":"fail:'.$msg.'"}';
  74. exit();
  75. }
  76. public function getSuccess($msg = '')
  77. {
  78. echo '{"ret":"1", "msg":"success"}';
  79. exit();
  80. }
  81. }