From 7f2f9d1f1674883df0294b2aba33821cae1407f9 Mon Sep 17 00:00:00 2001 From: v2board Date: Wed, 23 Aug 2023 01:33:08 +0800 Subject: [PATCH] Refactor payments --- app/Payments/EPay.php | 4 ++ app/Payments/Smogate.php | 101 --------------------------------------- 2 files changed, 4 insertions(+), 101 deletions(-) delete mode 100644 app/Payments/Smogate.php diff --git a/app/Payments/EPay.php b/app/Payments/EPay.php index a87b97a8..5c3168ef 100644 --- a/app/Payments/EPay.php +++ b/app/Payments/EPay.php @@ -25,6 +25,10 @@ class EPay { 'label' => 'KEY', 'description' => '', 'type' => 'input', + ], + 'alert1' => [ + 'type' => 'alert', + 'content' => '开户请联系:@smogate' ] ]; } diff --git a/app/Payments/Smogate.php b/app/Payments/Smogate.php deleted file mode 100644 index 0c6771b7..00000000 --- a/app/Payments/Smogate.php +++ /dev/null @@ -1,101 +0,0 @@ -config = $config; - } - - public function form() - { - return [ - 'smogate_source_currency' => [ - 'label' => '源货币', - 'description' => '默认CNY', - 'type' => 'input' - ], - 'smogate_method' => [ - 'label' => '支付方式', - 'description' => '支持参数:alipay', - 'type' => 'input', - ], - 'alert1' => [ - 'type' => 'alert', - 'content' => '开户请联系:@smogate' - ] - ]; - } - - public function pay($order) - { - $params = [ - 'out_trade_no' => $order['trade_no'], - 'total_amount' => $order['total_amount'], - 'notify_url' => $order['notify_url'], - 'method' => $this->config['smogate_method'] - ]; - if (isset($this->config['smogate_source_currency'])) { - $params['source_currency'] = strtolower($this->config['smogate_source_currency']); - } - $params['app_id'] = "__APPID__"; - ksort($params); - $str = http_build_query($params) . "__APPSECRET__"; - $params['sign'] = md5($str); - $curl = new Curl(); - $curl->setUserAgent("Smogate __APPID__"); - $curl->setOpt(CURLOPT_SSL_VERIFYPEER, 0); - $curl->post("https://__APPID__.vless.org/v1/gateway/pay", http_build_query($params)); - $result = $curl->response; - if (!$result) { - abort(500, '网络异常'); - } - if ($curl->error) { - if (isset($result->errors)) { - $errors = (array)$result->errors; - abort(500, $errors[array_keys($errors)[0]][0]); - } - if (isset($result->message)) { - abort(500, $result->message); - } - abort(500, '未知错误'); - } - $curl->close(); - if (!isset($result->data)) { - abort(500, '请求失败'); - } - return [ - 'type' => $this->isMobile() ? 1 : 0, // 0:qrcode 1:url - 'data' => $result->data - ]; - } - - public function notify($params) - { - $sign = $params['sign']; - unset($params['sign']); - ksort($params); - reset($params); - $str = http_build_query($params) . "__APPSECRET__"; - if ($sign !== md5($str)) { - return false; - } - return [ - 'trade_no' => $params['out_trade_no'], - 'callback_no' => $params['trade_no'] - ]; - } - - private function isMobile() - { - return strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'mobile') !== false; - } -}