xiaoyu 3 роки тому
батько
коміт
c5936ca3f7
53 змінених файлів з 1783 додано та 1783 видалено
  1. 140 140
      helper/refill/api/xyz/bingdht/RefillPhone.php
  2. 154 154
      helper/refill/api/xyz/chizeng/RefillPhone.php
  3. 1 1
      helper/refill/api/xyz/dashang/RefillPhone.php
  4. 1 1
      helper/refill/api/xyz/dianchong/RefillPhone.php
  5. 1 1
      helper/refill/api/xyz/dingxin/RefillPhone.php
  6. 206 206
      helper/refill/api/xyz/guochuang/RefillPhone.php
  7. 187 187
      helper/refill/api/xyz/guochuang_nation/RefillPhone.php
  8. 1 1
      helper/refill/api/xyz/hongxudagy/RefillPhone.php
  9. 1 1
      helper/refill/api/xyz/hongxudagy996/RefillPhone.php
  10. 1 1
      helper/refill/api/xyz/hongxudayz/RefillPhone.php
  11. 1 1
      helper/refill/api/xyz/hongxudayz996/RefillPhone.php
  12. 1 1
      helper/refill/api/xyz/jinxin/RefillPhone.php
  13. 2 2
      helper/refill/api/xyz/kachong/RefillPhone.php
  14. 1 1
      helper/refill/api/xyz/kangkai/RefillPhone.php
  15. 1 1
      helper/refill/api/xyz/lechong/RefillPhone.php
  16. 1 1
      helper/refill/api/xyz/menggu/RefillOil.php
  17. 1 1
      helper/refill/api/xyz/menggu_hf/RefillPhone.php
  18. 2 2
      helper/refill/api/xyz/miaoxt/RefillPhone.php
  19. 2 2
      helper/refill/api/xyz/miaoxt_fs/RefillPhone.php
  20. 2 2
      helper/refill/api/xyz/qijutang/RefillPhone.php
  21. 1 1
      helper/refill/api/xyz/shimier/RefillPhone.php
  22. 143 143
      helper/refill/api/xyz/shuoruan/RefillPhone.php
  23. 2 2
      helper/refill/api/xyz/sialan/RefillPhone.php
  24. 2 2
      helper/refill/api/xyz/sialan_tax/RefillPhone.php
  25. 2 2
      helper/refill/api/xyz/suyuan/RefillPhone.php
  26. 154 154
      helper/refill/api/xyz/wangliantx/RefillPhone.php
  27. 2 2
      helper/refill/api/xyz/weiyiwt/RefillPhone.php
  28. 1 1
      helper/refill/api/xyz/xianghongrui/RefillPhone.php
  29. 1 1
      helper/refill/api/xyz/xianghongruifs/RefillPhone.php
  30. 2 2
      helper/refill/api/xyz/xianzhibb/RefillPhone.php
  31. 141 141
      helper/refill/api/xyz/xiaoniu/RefillOil.php
  32. 138 138
      helper/refill/api/xyz/xiaoniu_hf/RefillPhone.php
  33. 2 2
      helper/refill/api/xyz/xingzy/RefillPhone.php
  34. 2 2
      helper/refill/api/xyz/xingzy_normal/RefillPhone.php
  35. 2 2
      helper/refill/api/xyz/xinhengyang/RefillPhone.php
  36. 1 1
      helper/refill/api/xyz/xinyang/RefillPhone.php
  37. 2 2
      helper/refill/api/xyz/xunyin/RefillPhone.php
  38. 2 2
      helper/refill/api/xyz/xunyinoil/RefillOil.php
  39. 2 2
      helper/refill/api/xyz/yikatong/RefillPhone.php
  40. 1 1
      helper/refill/api/xyz/yilin/RefillPhone.php
  41. 158 158
      helper/refill/api/xyz/yingdian/RefillOil.php
  42. 2 2
      helper/refill/api/xyz/yinteng/RefillPhone.php
  43. 2 2
      helper/refill/api/xyz/yonghe/RefillPhone.php
  44. 143 143
      helper/refill/api/xyz/youhe/RefillPhone.php
  45. 2 2
      helper/refill/api/xyz/yuanta/RefillPhone.php
  46. 155 155
      helper/refill/api/xyz/yunchonggong/RefillPhone.php
  47. 2 2
      helper/refill/api/xyz/yunchonggong_yd/RefillPhone.php
  48. 2 2
      helper/refill/api/xyz/yunchonggongman/RefillPhone.php
  49. 1 1
      helper/refill/api/xyz/yunsuoyao/RefillPhone.php
  50. 1 1
      helper/refill/api/xyz/yunsuoyaofs/RefillPhone.php
  51. 1 1
      helper/refill/api/xyz/yunsuoyaoman/RefillPhone.php
  52. 2 2
      helper/refill/api/xyz/zhongst/RefillPhone.php
  53. 2 2
      helper/refill/api/xyz/zhongst_mix/RefillPhone.php

+ 140 - 140
helper/refill/api/xyz/bingdht/RefillPhone.php

@@ -1,141 +1,141 @@
-<?php
-
-namespace refill\bingdht;
-
-require_once(BASE_HELPER_RAPI_PATH . '/bingdht/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
-    {
-        $params['szAgentId'] = config::USER_ID;
-        $params['szOrderId'] = $order_sn;
-        $params['szPhoneNum'] = $phone;
-        $params['nMoney'] = $amount;
-        $params['nSortType'] = config::operator[$card_type];
-        $params['nProductClass'] = 1;
-        $params['nProductType'] = 1;
-        $params['szTimeStamp'] = date("Y-m-d H:i:s");
-        $params['szNotifyUrl'] = config::NOTIFY_URL;
-        return $params;
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $order_sn = $params['order_sn'];
-        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
-
-        $sign = $this->sign($params);
-        $params['szVerifyString'] = $sign;
-
-        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
-
-        if (empty($resp)) {
-            return [false, '网络错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-
-            $nRtn = $resp['nRtn'];
-            if (empty($resp)) {
-                return [false, '网络错误', true];
-            } elseif ($nRtn === 0) {
-                return [true, '', false];
-            } elseif (in_array($nRtn, config::ERR_NOS, true)) {
-                return [false, $resp['szRtnCode'], false];
-            } elseif (in_array($nRtn, [2050, 999], true)) {
-                $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
-            } else {
-                $err = 998;
-                $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['szAgentId'] = config::USER_ID;
-        $params['szOrderId'] = $refill_info['order_sn'];
-        $key = config::KEY;
-        $content = "szAgentId={$params['szAgentId']}&szOrderId={$params['szOrderId']}&szKey={$key}";
-        $params['szVerifyString'] = md5($content);
-
-        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '网络错误'];
-            }
-
-            $status = $resp['nRtn'];
-            if ($status === 5012) {
-                $updata['official_sn'] = $resp['szRtnMsg'];
-                Model('refill_order')->edit($refill_info['order_id'], $updata);
-                $order_state = ORDER_STATE_SUCCESS;
-            } elseif ($status === 5013) {
-                $order_state = ORDER_STATE_CANCEL;
-            } elseif (in_array($status, [5011,5019],true)) {
-                $order_state = ORDER_STATE_SEND;
-            } elseif ($status === 5005 && (time() - $refill_info['commit_time'] >= 300)) {
-                $order_state = ORDER_STATE_NOEXIST;
-            } else {
-                return [false, $resp['szRtnMsg']];
-            }
-
-            return [true, $order_state];
-        }
-    }
-
-    public function balance()
-    {
-        $params['szAgentId'] = config::USER_ID;
-        $key = config::KEY;
-        $content = "szAgentId={$params['szAgentId']}&szKey={$key}";
-        $params['szVerifyString'] = md5($content);
-
-        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '网络错误'];
-            } elseif ($resp['nRtn'] === 0) {
-                return [true, $resp['fBalance']];
-            } else {
-                return [false, $resp['szRtnCode']];
-            }
-        }
-    }
-
-    private function sign($params)
-    {
-        $userid = config::USER_ID;
-        $key = config::KEY;
-        $content = "szAgentId={$userid}&szOrderId={$params['szOrderId']}&szPhoneNum={$params['szPhoneNum']}&nMoney={$params['nMoney']}&nSortType={$params['nSortType']}";
-        $content .= "&nProductClass={$params['nProductClass']}&nProductType={$params['nProductType']}&szTimeStamp={$params['szTimeStamp']}&szKey={$key}";
-        return md5($content);
-    }
+<?php
+
+namespace refill\bingdht;
+
+require_once(BASE_HELPER_RAPI_PATH . '/bingdht/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
+    {
+        $params['szAgentId'] = config::USER_ID;
+        $params['szOrderId'] = $order_sn;
+        $params['szPhoneNum'] = $phone;
+        $params['nMoney'] = $amount;
+        $params['nSortType'] = config::operator[$card_type];
+        $params['nProductClass'] = 1;
+        $params['nProductType'] = 1;
+        $params['szTimeStamp'] = date("Y-m-d H:i:s");
+        $params['szNotifyUrl'] = config::NOTIFY_URL;
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $order_sn = $params['order_sn'];
+        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
+
+        $sign = $this->sign($params);
+        $params['szVerifyString'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '网络错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+
+            $nRtn = $resp['nRtn'];
+            if (empty($resp)) {
+                return [false, '网络错误', true];
+            } elseif ($nRtn === 0) {
+                return [true, '', false];
+            } elseif (in_array($nRtn, config::ERR_NOS, true)) {
+                return [false, $resp['szRtnCode'], false];
+            } elseif (in_array($nRtn, [2050, 999], true)) {
+                $net_errno = "HTTP-{$nRtn}";
+                return [false, $resp['szRtnCode'], true];
+            } else {
+                $err = 998;
+                $net_errno = "HTTP-{$err}";
+                return [false, $resp['szRtnCode'], true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['szAgentId'] = config::USER_ID;
+        $params['szOrderId'] = $refill_info['order_sn'];
+        $key = config::KEY;
+        $content = "szAgentId={$params['szAgentId']}&szOrderId={$params['szOrderId']}&szKey={$key}";
+        $params['szVerifyString'] = md5($content);
+
+        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            }
+
+            $status = $resp['nRtn'];
+            if ($status === 5012) {
+                $updata['official_sn'] = $resp['szRtnMsg'];
+                Model('refill_order')->edit($refill_info['order_id'], $updata);
+                $order_state = ORDER_STATE_SUCCESS;
+            } elseif ($status === 5013) {
+                $order_state = ORDER_STATE_CANCEL;
+            } elseif (in_array($status, [5011,5019],true)) {
+                $order_state = ORDER_STATE_SEND;
+            } elseif ($status === 5005 && (time() - $refill_info['commit_time'] >= 300)) {
+                $order_state = ORDER_STATE_NOEXIST;
+            } else {
+                return [false, $resp['szRtnMsg']];
+            }
+
+            return [true, $order_state];
+        }
+    }
+
+    public function balance()
+    {
+        $params['szAgentId'] = config::USER_ID;
+        $key = config::KEY;
+        $content = "szAgentId={$params['szAgentId']}&szKey={$key}";
+        $params['szVerifyString'] = md5($content);
+
+        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            } elseif ($resp['nRtn'] === 0) {
+                return [true, $resp['fBalance']];
+            } else {
+                return [false, $resp['szRtnCode']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "szAgentId={$userid}&szOrderId={$params['szOrderId']}&szPhoneNum={$params['szPhoneNum']}&nMoney={$params['nMoney']}&nSortType={$params['nSortType']}";
+        $content .= "&nProductClass={$params['nProductClass']}&nProductType={$params['nProductType']}&szTimeStamp={$params['szTimeStamp']}&szKey={$key}";
+        return md5($content);
+    }
 }

+ 154 - 154
helper/refill/api/xyz/chizeng/RefillPhone.php

@@ -1,155 +1,155 @@
-<?php
-
-namespace refill\chizeng;
-
-require_once(BASE_HELPER_RAPI_PATH . '/chizeng/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $phone, int $amount, $card_type, string $order_sn)
-    {
-        $params['userid'] = config::USER_ID;
-        $params['productid'] = '';
-        $params['price'] = $amount;
-        $params['num'] = 1;
-        $params['mobile'] = $phone;
-        $params['spordertime'] = date("YmdHis");
-        $params['sporderid'] = $order_sn;
-        $params['back_url'] = config::NOTIFY_URL;
-        $params['paytype'] = config::operator[$card_type];
-
-        return $params;
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $order_sn = $params['order_sn'];
-        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
-
-        $sign = $this->sign($params);
-        $params['sign'] = $sign;
-
-        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
-
-        if (empty($resp)) {
-            return [false, '网络错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = $this->xmlToArray($resp);
-            if (empty($resp)) {
-                return [false, '网络错误', true];
-            }
-
-            $resultno = $resp['resultno'];
-            if (in_array($resultno, ['0', '2'], true)) {
-                return [true, $resp['orderid'], false];
-            } elseif (in_array($resultno, config::ERR_NOS, true)) {
-                return [false, $resultno, false];
-            } elseif ($resultno === '9999' || $resultno === '5006') {
-                $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
-            } else {
-                //未知结果码
-                $err = 998;
-                $net_errno = "HTTP-{$err}";
-                return [false, $resultno, false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['userid'] = config::USER_ID;
-        $params['sporderid'] = $refill_info['order_sn'];
-        $key = config::KEY;
-        $content = "userid={$params['userid']}&sporderid={$params['sporderid']}&key={$key}";
-        $params['sign'] = strtoupper(md5($content));
-
-        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = $this->xmlToArray($resp);
-            if (empty($resp))
-            {
-                return [false, '网络错误'];
-            }
-            else
-            {
-                $resultno = $resp['resultno'];
-                if ($resultno === '1') {
-                    $updata['official_sn'] = $resp['remark1'];
-                    Model('refill_order')->edit($refill_info['order_id'], $updata);
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif ($resultno === '9') {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif (in_array($resultno, ['0','2'], true)) {
-                    $order_state = ORDER_STATE_SEND;
-                } elseif ($resultno === '5007' && (time() - $refill_info['commit_time'] > 600)) {
-                    $order_state = ORDER_STATE_NOEXIST;
-                } else {
-                    return [false, $resultno];
-                }
-
-                return [true, $order_state];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        $params['userid'] = config::USER_ID;
-        $key = config::KEY;
-        $content = "userid={$params['userid']}&key={$key}";
-        $params['sign'] = strtoupper(md5($content));
-
-        $resp = http_request(config::BALANCE_UTL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = $this->xmlToArray($resp);
-            if (empty($resp)) {
-                return [false, '网络错误'];
-            } elseif ($resp['resultno'] === '1') {
-                return [true, $resp['balance']];
-            } else {
-                return [false, $resp['resultno']];
-            }
-        }
-    }
-
-    private function sign($params)
-    {
-        $userid = config::USER_ID;
-        $key = config::KEY;
-        $content = "userid={$userid}&productid={$params['productid']}&price={$params['price']}&num={$params['num']}&mobile={$params['mobile']}&spordertime={$params['spordertime']}";
-        $content .= "&sporderid={$params['sporderid']}&key={$key}";
-        return strtoupper(md5($content));
-    }
-
-    public function xmlToArray($xml)
-    {
-        $replace_str = str_replace(' ','','encoding="gb2312"');
-        $xml = mb_convert_encoding($xml,"UTF-8","gb2312");
-        $xml = str_replace($replace_str, "encoding='utf-8'", $xml);
-        return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
-    }
+<?php
+
+namespace refill\chizeng;
+
+require_once(BASE_HELPER_RAPI_PATH . '/chizeng/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, $card_type, string $order_sn)
+    {
+        $params['userid'] = config::USER_ID;
+        $params['productid'] = '';
+        $params['price'] = $amount;
+        $params['num'] = 1;
+        $params['mobile'] = $phone;
+        $params['spordertime'] = date("YmdHis");
+        $params['sporderid'] = $order_sn;
+        $params['back_url'] = config::NOTIFY_URL;
+        $params['paytype'] = config::operator[$card_type];
+
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $order_sn = $params['order_sn'];
+        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
+
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '网络错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误', true];
+            }
+
+            $resultno = $resp['resultno'];
+            if (in_array($resultno, ['0', '2'], true)) {
+                return [true, $resp['orderid'], false];
+            } elseif (in_array($resultno, config::ERR_NOS, true)) {
+                return [false, $resultno, false];
+            } elseif ($resultno === '9999' || $resultno === '5006') {
+                $net_errno = "HTTP-{$resultno}";
+                return [false, $resultno, true];
+            } else {
+                //未知结果码
+                $err = 998;
+                $net_errno = "HTTP-{$err}";
+                return [false, $resultno, true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['userid'] = config::USER_ID;
+        $params['sporderid'] = $refill_info['order_sn'];
+        $key = config::KEY;
+        $content = "userid={$params['userid']}&sporderid={$params['sporderid']}&key={$key}";
+        $params['sign'] = strtoupper(md5($content));
+
+        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp))
+            {
+                return [false, '网络错误'];
+            }
+            else
+            {
+                $resultno = $resp['resultno'];
+                if ($resultno === '1') {
+                    $updata['official_sn'] = $resp['remark1'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($resultno === '9') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif (in_array($resultno, ['0','2'], true)) {
+                    $order_state = ORDER_STATE_SEND;
+                } elseif ($resultno === '5007' && (time() - $refill_info['commit_time'] > 600)) {
+                    $order_state = ORDER_STATE_NOEXIST;
+                } else {
+                    return [false, $resultno];
+                }
+
+                return [true, $order_state];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params['userid'] = config::USER_ID;
+        $key = config::KEY;
+        $content = "userid={$params['userid']}&key={$key}";
+        $params['sign'] = strtoupper(md5($content));
+
+        $resp = http_request(config::BALANCE_UTL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            } elseif ($resp['resultno'] === '1') {
+                return [true, $resp['balance']];
+            } else {
+                return [false, $resp['resultno']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "userid={$userid}&productid={$params['productid']}&price={$params['price']}&num={$params['num']}&mobile={$params['mobile']}&spordertime={$params['spordertime']}";
+        $content .= "&sporderid={$params['sporderid']}&key={$key}";
+        return strtoupper(md5($content));
+    }
+
+    public function xmlToArray($xml)
+    {
+        $replace_str = str_replace(' ','','encoding="gb2312"');
+        $xml = mb_convert_encoding($xml,"UTF-8","gb2312");
+        $xml = str_replace($replace_str, "encoding='utf-8'", $xml);
+        return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
+    }
 }

+ 1 - 1
helper/refill/api/xyz/dashang/RefillPhone.php

@@ -56,7 +56,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['bizOrderId'], false];
             } elseif (in_array($code, [23, 31])) {
                 $net_errno = "HTTP-{$code}";
-                return [false, $code, false];
+                return [false, $code, true];
             } else {
                 return [false, $code, false];
             }

+ 1 - 1
helper/refill/api/xyz/dianchong/RefillPhone.php

@@ -47,7 +47,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderno'], false];
             } elseif ($resp['code'] === 'R0009') {
                 $net_errno = $resp['code'];
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 1 - 1
helper/refill/api/xyz/dingxin/RefillPhone.php

@@ -51,7 +51,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['Porderid'], false];
             } elseif ($resp['error'] === '9999') {
                 $net_errno = "HTTP-{$resp['error']}";
-                return [false, $resp['error'], false];
+                return [false, $resp['error'], true];
             } else {
                 return [false, $resp['error'], false];
             }

+ 206 - 206
helper/refill/api/xyz/guochuang/RefillPhone.php

@@ -1,207 +1,207 @@
-<?php
-
-namespace refill\guochuang;
-
-require_once(BASE_HELPER_RAPI_PATH . '/guochuang/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    public function goods($quality,int $amount,int $card_type,$regin_no,$other)
-    {
-        [$goods_id, $price] = parent::goods($quality,$amount,$card_type,$regin_no,$other);
-        if($goods_id <= 0) return [0,0];
-        $key = "{$card_type}-{$amount}-{$regin_no}";
-        $price = config::Price[$key];
-        if(empty($price)) {
-            Log::record("channel cannot find price where name={$this->mName}, goods_id = {$goods_id} card_type={$card_type} amount={$amount} regin_no={$regin_no}",Log::ERR);
-            return [0,0];
-        } else {
-            return [$goods_id,ncPriceFormat($price)];
-        }
-    }
-
-    private function add_params(int $phone, int $amount, int $card_type, string $order_sn,$regin_no)
-    {
-        $params['phone'] = $phone;
-        $params['phoneType'] = config::operator[$card_type];
-        $params['money'] = $amount;
-        $params['outerId'] = $order_sn;
-        $params['callBackUrl'] = config::NOTIFY_URL;
-        $params['speed'] = 0;
-        $params['provId'] = config::ProvinceMap[$regin_no];
-
-        if(empty($params['provId'])) {
-            return false;
-        }
-        else {
-            return $params;
-        }
-    }
-
-    private function form_uri($params, $service)
-    {
-        $get_params['service'] = $service;
-        $get_params['userId'] = config::UserId;
-        $get_params['ts'] = $this->getMillisecond();
-
-        $sign = $this->sign($params,$get_params);
-        $get_params['sign'] = $sign;
-
-        $url = config::API_URL;
-        $uri = $url . (strpos($url, '?') ? '&' : '?') . (is_array($get_params) ? http_build_query($get_params) : $get_params);
-
-        return $uri;
-    }
-
-    public function add($card_no, $card_type, $amount, $input, &$net_errno = 0)
-    {
-        $order_sn = $input['order_sn'];
-        $regin_no = $input['regin_no'] ?? -1;
-        if($regin_no <= 0) {
-            return [false, '省份获取错误', false];
-        }
-
-        $params = $this->add_params($card_no, $amount, $card_type, $order_sn,$regin_no);
-        if($params === false) {
-            return [false, '省份信息错误', false];
-        }
-
-        $uri = $this->form_uri($params,'order.phone.charge');
-        $resp = http_request($uri, $params, 'POST', false, [], $net_errno);
-
-        if (empty($resp)) {
-            return [false, '系统错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-
-            $resp = json_decode($resp ,true);
-            $code = $resp['code'];
-            if (empty($resp)) {
-                return [false, '系统错误', true];
-            } elseif ($code === 'SUCCESS') {
-                return [true, $resp['id'], false];
-            } elseif (in_array($code, config::ORDER_ERR_CODE)) {
-                return [false, $code, false];
-            } elseif (in_array($code, ['SYSTEM_ERROR', 'ORDER_ID_EXIST'])) {
-                $net_errno = "HTTP-{$code}";
-                return [false, $code, false];
-            } else {
-                $err = 998;
-                $net_errno = "HTTP-{$err}";
-                return [false, $code, false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        //上游单号,可以为空,但需参与签名
-        $params['id'] = '';
-        $params['outerId'] = $refill_info['order_sn'];
-
-        $uri = $this->form_uri($params,'order.status.query');
-        $resp = http_request($uri, $params, 'POST');
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            $code = $resp['code'];
-            if (empty($resp))
-            {
-                return [false, '系统错误'];
-            }
-            elseif ($code === 'SUCCESS')
-            {
-                $status = $resp['status'];
-
-                if ($status === 'SUCCESS') {
-                    $order_state = ORDER_STATE_SUCCESS;
-                    $save['official_sn'] = strtolower($resp['evidence']) == 'null' ? '' : $resp['evidence'];
-                    Model('refill_order')->edit($refill_info['order_id'], $save);
-                } elseif ($status === 'FAIL') {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif ($status === 'PROCESSING') {
-                    $order_state = ORDER_STATE_SEND;
-                } elseif ($status === 'ORDER_NOT_EXIST' && (time() - $refill_info['commit_time'] >= 600)) {
-                    $order_state = ORDER_STATE_NOEXIST;
-                } else {
-                    return [false, $code];
-                }
-
-                return [true, $order_state];
-            }
-            else
-            {
-                return [false, "code={$code}"];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        $uri = $this->form_uri([],'user.balance.query');
-        $resp = http_request($uri, [], 'POST');
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp))
-            {
-                return [false, '系统错误'];
-            }
-            elseif ($resp['code'] === 'SUCCESS')
-            {
-                return [true, $resp['balance']];
-            }
-            else
-            {
-                return [false, $resp['code']];
-            }
-        }
-    }
-
-    private function sign($params,$get_params)
-    {
-        $userId = config::UserId;
-        $api_key = config::ApiKey;
-        $content = "service={$get_params['service']}&userId={$userId}&ts={$get_params['ts']}&";
-        if(!empty($params))
-        {
-            foreach ($params as $key => $value){
-                $content .= "{$key}={$value}&";
-            }
-            $content = rtrim($content, '&');
-        }
-
-        $content .= "&key={$api_key}";
-        return strtoupper(md5($content));
-    }
-
-    /**
-     * 获取毫秒级别的时间戳
-     */
-    private function getMillisecond()
-    {
-        $cur = microtime (true);
-        $cur = intval($cur * 1000);
-        return $cur;
-    }
+<?php
+
+namespace refill\guochuang;
+
+require_once(BASE_HELPER_RAPI_PATH . '/guochuang/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    public function goods($quality,int $amount,int $card_type,$regin_no,$other)
+    {
+        [$goods_id, $price] = parent::goods($quality,$amount,$card_type,$regin_no,$other);
+        if($goods_id <= 0) return [0,0];
+        $key = "{$card_type}-{$amount}-{$regin_no}";
+        $price = config::Price[$key];
+        if(empty($price)) {
+            Log::record("channel cannot find price where name={$this->mName}, goods_id = {$goods_id} card_type={$card_type} amount={$amount} regin_no={$regin_no}",Log::ERR);
+            return [0,0];
+        } else {
+            return [$goods_id,ncPriceFormat($price)];
+        }
+    }
+
+    private function add_params(int $phone, int $amount, int $card_type, string $order_sn,$regin_no)
+    {
+        $params['phone'] = $phone;
+        $params['phoneType'] = config::operator[$card_type];
+        $params['money'] = $amount;
+        $params['outerId'] = $order_sn;
+        $params['callBackUrl'] = config::NOTIFY_URL;
+        $params['speed'] = 0;
+        $params['provId'] = config::ProvinceMap[$regin_no];
+
+        if(empty($params['provId'])) {
+            return false;
+        }
+        else {
+            return $params;
+        }
+    }
+
+    private function form_uri($params, $service)
+    {
+        $get_params['service'] = $service;
+        $get_params['userId'] = config::UserId;
+        $get_params['ts'] = $this->getMillisecond();
+
+        $sign = $this->sign($params,$get_params);
+        $get_params['sign'] = $sign;
+
+        $url = config::API_URL;
+        $uri = $url . (strpos($url, '?') ? '&' : '?') . (is_array($get_params) ? http_build_query($get_params) : $get_params);
+
+        return $uri;
+    }
+
+    public function add($card_no, $card_type, $amount, $input, &$net_errno = 0)
+    {
+        $order_sn = $input['order_sn'];
+        $regin_no = $input['regin_no'] ?? -1;
+        if($regin_no <= 0) {
+            return [false, '省份获取错误', false];
+        }
+
+        $params = $this->add_params($card_no, $amount, $card_type, $order_sn,$regin_no);
+        if($params === false) {
+            return [false, '省份信息错误', false];
+        }
+
+        $uri = $this->form_uri($params,'order.phone.charge');
+        $resp = http_request($uri, $params, 'POST', false, [], $net_errno);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+
+            $resp = json_decode($resp ,true);
+            $code = $resp['code'];
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($code === 'SUCCESS') {
+                return [true, $resp['id'], false];
+            } elseif (in_array($code, config::ORDER_ERR_CODE)) {
+                return [false, $code, false];
+            } elseif (in_array($code, ['SYSTEM_ERROR', 'ORDER_ID_EXIST'])) {
+                $net_errno = "HTTP-{$code}";
+                return [false, $code, true];
+            } else {
+                $err = 998;
+                $net_errno = "HTTP-{$err}";
+                return [false, $code, true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        //上游单号,可以为空,但需参与签名
+        $params['id'] = '';
+        $params['outerId'] = $refill_info['order_sn'];
+
+        $uri = $this->form_uri($params,'order.status.query');
+        $resp = http_request($uri, $params, 'POST');
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            $code = $resp['code'];
+            if (empty($resp))
+            {
+                return [false, '系统错误'];
+            }
+            elseif ($code === 'SUCCESS')
+            {
+                $status = $resp['status'];
+
+                if ($status === 'SUCCESS') {
+                    $order_state = ORDER_STATE_SUCCESS;
+                    $save['official_sn'] = strtolower($resp['evidence']) == 'null' ? '' : $resp['evidence'];
+                    Model('refill_order')->edit($refill_info['order_id'], $save);
+                } elseif ($status === 'FAIL') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status === 'PROCESSING') {
+                    $order_state = ORDER_STATE_SEND;
+                } elseif ($status === 'ORDER_NOT_EXIST' && (time() - $refill_info['commit_time'] >= 600)) {
+                    $order_state = ORDER_STATE_NOEXIST;
+                } else {
+                    return [false, $code];
+                }
+
+                return [true, $order_state];
+            }
+            else
+            {
+                return [false, "code={$code}"];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $uri = $this->form_uri([],'user.balance.query');
+        $resp = http_request($uri, [], 'POST');
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp))
+            {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] === 'SUCCESS')
+            {
+                return [true, $resp['balance']];
+            }
+            else
+            {
+                return [false, $resp['code']];
+            }
+        }
+    }
+
+    private function sign($params,$get_params)
+    {
+        $userId = config::UserId;
+        $api_key = config::ApiKey;
+        $content = "service={$get_params['service']}&userId={$userId}&ts={$get_params['ts']}&";
+        if(!empty($params))
+        {
+            foreach ($params as $key => $value){
+                $content .= "{$key}={$value}&";
+            }
+            $content = rtrim($content, '&');
+        }
+
+        $content .= "&key={$api_key}";
+        return strtoupper(md5($content));
+    }
+
+    /**
+     * 获取毫秒级别的时间戳
+     */
+    private function getMillisecond()
+    {
+        $cur = microtime (true);
+        $cur = intval($cur * 1000);
+        return $cur;
+    }
 }

+ 187 - 187
helper/refill/api/xyz/guochuang_nation/RefillPhone.php

@@ -1,188 +1,188 @@
-<?php
-
-namespace refill\guochuang_nation;
-
-require_once(BASE_HELPER_RAPI_PATH . '/guochuang_nation/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function add_params(int $phone, int $amount, int $card_type, string $order_sn,$regin_no)
-    {
-        $params['phone'] = $phone;
-        $params['phoneType'] = config::operator[$card_type];
-        $params['money'] = $amount;
-        $params['outerId'] = $order_sn;
-        $params['callBackUrl'] = config::NOTIFY_URL;
-        $params['speed'] = 0;
-        $params['provId'] = config::ProvinceMap[$regin_no];
-
-        if(empty($params['provId'])) {
-            return false;
-        }
-        else {
-            return $params;
-        }
-    }
-
-    private function form_uri($params, $service)
-    {
-        $get_params['service'] = $service;
-        $get_params['userId'] = config::UserId;
-        $get_params['ts'] = $this->getMillisecond();
-
-        $sign = $this->sign($params,$get_params);
-        $get_params['sign'] = $sign;
-
-        $url = config::API_URL;
-        $uri = $url . (strpos($url, '?') ? '&' : '?') . (is_array($get_params) ? http_build_query($get_params) : $get_params);
-
-        return $uri;
-    }
-
-    public function add($card_no, $card_type, $amount, $input, &$net_errno = 0)
-    {
-        $order_sn = $input['order_sn'];
-        $regin_no = $input['regin_no'] ?? -1;
-        if($regin_no <= 0) {
-            return [false, '省份获取错误', false];
-        }
-
-        $params = $this->add_params($card_no, $amount, $card_type, $order_sn,$regin_no);
-        if($params === false) {
-            return [false, '省份信息错误', false];
-        }
-
-        $uri = $this->form_uri($params,'order.phone.charge');
-        $resp = http_request($uri, $params, 'POST', false, [], $net_errno);
-
-        if (empty($resp)) {
-            return [false, '系统错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-
-            $resp = json_decode($resp ,true);
-            $code = $resp['code'];
-            if (empty($resp)) {
-                return [false, '系统错误', true];
-            } elseif ($code === 'SUCCESS') {
-                return [true, $resp['id'], false];
-            } elseif (in_array($code, config::ORDER_ERR_CODE)) {
-                return [false, $code, false];
-            } elseif (in_array($code, ['SYSTEM_ERROR', 'ORDER_ID_EXIST'])) {
-                $net_errno = "HTTP-{$code}";
-                return [false, $code, false];
-            } else {
-                $err = 998;
-                $net_errno = "HTTP-{$err}";
-                return [false, $code, false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        //上游单号,可以为空,但需参与签名
-        $params['id'] = '';
-        $params['outerId'] = $refill_info['order_sn'];
-
-        $uri = $this->form_uri($params,'order.status.query');
-        $resp = http_request($uri, $params, 'POST');
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            $code = $resp['code'];
-            if (empty($resp))
-            {
-                return [false, '系统错误'];
-            }
-            elseif ($code === 'SUCCESS')
-            {
-                $status = $resp['status'];
-
-                if ($status === 'SUCCESS') {
-                    $order_state = ORDER_STATE_SUCCESS;
-                    $save['official_sn'] = strtolower($resp['evidence']) == 'null' ? '' : $resp['evidence'];
-                    Model('refill_order')->edit($refill_info['order_id'], $save);
-                } elseif ($status === 'FAIL') {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif ($status === 'PROCESSING') {
-                    $order_state = ORDER_STATE_SEND;
-                } elseif ($status === 'ORDER_NOT_EXIST' && (time() - $refill_info['commit_time'] >= 600)) {
-                    $order_state = ORDER_STATE_NOEXIST;
-                } else {
-                    return [false, $code];
-                }
-
-                return [true, $order_state];
-            }
-            else
-            {
-                return [false, "code={$code}"];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        $uri = $this->form_uri([],'user.balance.query');
-        $resp = http_request($uri, [], 'POST');
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            } elseif ($resp['code'] === 'SUCCESS') {
-                return [true, $resp['balance']];
-            } else {
-                return [false, $resp['code']];
-            }
-        }
-    }
-
-    private function sign($params,$get_params)
-    {
-        $userId = config::UserId;
-        $api_key = config::ApiKey;
-        $content = "service={$get_params['service']}&userId={$userId}&ts={$get_params['ts']}&";
-        if(!empty($params))
-        {
-            foreach ($params as $key => $value){
-                $content .= "{$key}={$value}&";
-            }
-            $content = rtrim($content, '&');
-        }
-
-        $content .= "&key={$api_key}";
-        return strtoupper(md5($content));
-    }
-
-    /**
-     * 获取毫秒级别的时间戳
-     */
-    private function getMillisecond()
-    {
-        $cur = microtime (true);
-        $cur = intval($cur * 1000);
-        return $cur;
-    }
+<?php
+
+namespace refill\guochuang_nation;
+
+require_once(BASE_HELPER_RAPI_PATH . '/guochuang_nation/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function add_params(int $phone, int $amount, int $card_type, string $order_sn,$regin_no)
+    {
+        $params['phone'] = $phone;
+        $params['phoneType'] = config::operator[$card_type];
+        $params['money'] = $amount;
+        $params['outerId'] = $order_sn;
+        $params['callBackUrl'] = config::NOTIFY_URL;
+        $params['speed'] = 0;
+        $params['provId'] = config::ProvinceMap[$regin_no];
+
+        if(empty($params['provId'])) {
+            return false;
+        }
+        else {
+            return $params;
+        }
+    }
+
+    private function form_uri($params, $service)
+    {
+        $get_params['service'] = $service;
+        $get_params['userId'] = config::UserId;
+        $get_params['ts'] = $this->getMillisecond();
+
+        $sign = $this->sign($params,$get_params);
+        $get_params['sign'] = $sign;
+
+        $url = config::API_URL;
+        $uri = $url . (strpos($url, '?') ? '&' : '?') . (is_array($get_params) ? http_build_query($get_params) : $get_params);
+
+        return $uri;
+    }
+
+    public function add($card_no, $card_type, $amount, $input, &$net_errno = 0)
+    {
+        $order_sn = $input['order_sn'];
+        $regin_no = $input['regin_no'] ?? -1;
+        if($regin_no <= 0) {
+            return [false, '省份获取错误', false];
+        }
+
+        $params = $this->add_params($card_no, $amount, $card_type, $order_sn,$regin_no);
+        if($params === false) {
+            return [false, '省份信息错误', false];
+        }
+
+        $uri = $this->form_uri($params,'order.phone.charge');
+        $resp = http_request($uri, $params, 'POST', false, [], $net_errno);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+
+            $resp = json_decode($resp ,true);
+            $code = $resp['code'];
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($code === 'SUCCESS') {
+                return [true, $resp['id'], false];
+            } elseif (in_array($code, config::ORDER_ERR_CODE)) {
+                return [false, $code, false];
+            } elseif (in_array($code, ['SYSTEM_ERROR', 'ORDER_ID_EXIST'])) {
+                $net_errno = "HTTP-{$code}";
+                return [false, $code, true];
+            } else {
+                $err = 998;
+                $net_errno = "HTTP-{$err}";
+                return [false, $code, true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        //上游单号,可以为空,但需参与签名
+        $params['id'] = '';
+        $params['outerId'] = $refill_info['order_sn'];
+
+        $uri = $this->form_uri($params,'order.status.query');
+        $resp = http_request($uri, $params, 'POST');
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            $code = $resp['code'];
+            if (empty($resp))
+            {
+                return [false, '系统错误'];
+            }
+            elseif ($code === 'SUCCESS')
+            {
+                $status = $resp['status'];
+
+                if ($status === 'SUCCESS') {
+                    $order_state = ORDER_STATE_SUCCESS;
+                    $save['official_sn'] = strtolower($resp['evidence']) == 'null' ? '' : $resp['evidence'];
+                    Model('refill_order')->edit($refill_info['order_id'], $save);
+                } elseif ($status === 'FAIL') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status === 'PROCESSING') {
+                    $order_state = ORDER_STATE_SEND;
+                } elseif ($status === 'ORDER_NOT_EXIST' && (time() - $refill_info['commit_time'] >= 600)) {
+                    $order_state = ORDER_STATE_NOEXIST;
+                } else {
+                    return [false, $code];
+                }
+
+                return [true, $order_state];
+            }
+            else
+            {
+                return [false, "code={$code}"];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $uri = $this->form_uri([],'user.balance.query');
+        $resp = http_request($uri, [], 'POST');
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            } elseif ($resp['code'] === 'SUCCESS') {
+                return [true, $resp['balance']];
+            } else {
+                return [false, $resp['code']];
+            }
+        }
+    }
+
+    private function sign($params,$get_params)
+    {
+        $userId = config::UserId;
+        $api_key = config::ApiKey;
+        $content = "service={$get_params['service']}&userId={$userId}&ts={$get_params['ts']}&";
+        if(!empty($params))
+        {
+            foreach ($params as $key => $value){
+                $content .= "{$key}={$value}&";
+            }
+            $content = rtrim($content, '&');
+        }
+
+        $content .= "&key={$api_key}";
+        return strtoupper(md5($content));
+    }
+
+    /**
+     * 获取毫秒级别的时间戳
+     */
+    private function getMillisecond()
+    {
+        $cur = microtime (true);
+        $cur = intval($cur * 1000);
+        return $cur;
+    }
 }

+ 1 - 1
helper/refill/api/xyz/hongxudagy/RefillPhone.php

@@ -51,7 +51,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['data']['supply_id'], false];
             } elseif ($resp['code'] == 999) {
                 $net_errno = "HTTP-999";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 1 - 1
helper/refill/api/xyz/hongxudagy996/RefillPhone.php

@@ -51,7 +51,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['data']['supply_id'], false];
             } elseif ($resp['code'] == 999) {
                 $net_errno = "HTTP-999";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 1 - 1
helper/refill/api/xyz/hongxudayz/RefillPhone.php

@@ -51,7 +51,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['data']['supply_id'], false];
             } elseif ($resp['code'] == 999) {
                 $net_errno = "HTTP-999";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 1 - 1
helper/refill/api/xyz/hongxudayz996/RefillPhone.php

@@ -51,7 +51,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['data']['supply_id'], false];
             } elseif ($resp['code'] == 999) {
                 $net_errno = "HTTP-999";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 1 - 1
helper/refill/api/xyz/jinxin/RefillPhone.php

@@ -50,7 +50,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['data']['orderNo'], false];
             } elseif ($resp['code'] === '9999') {
                 $net_errno = '9999';
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 2 - 2
helper/refill/api/xyz/kachong/RefillPhone.php

@@ -54,11 +54,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999])) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 1 - 1
helper/refill/api/xyz/kangkai/RefillPhone.php

@@ -91,7 +91,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['TaskID'], false];
             } elseif ($resp['Code'] == 999) {
                 $net_errno = "HTTP-999";
-                return [false, $resp['Message'], false];
+                return [false, $resp['Message'], true];
             } else {
                 return [false, $resp['Message'], false];
             }

+ 1 - 1
helper/refill/api/xyz/lechong/RefillPhone.php

@@ -56,7 +56,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, '', false];
             } elseif (in_array($recode, ['s115', 's116'])) {
                 $net_errno = "HTTP-{$recode}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 1 - 1
helper/refill/api/xyz/menggu/RefillOil.php

@@ -52,7 +52,7 @@ class RefillOil extends refill\IRefillOil
                 return [true, $resp['orderId'], false];
             } elseif (in_array($resp['code'], [-22, -23, -99])) {
                 $net_errno = "HTTP-{$resp['code']}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 1 - 1
helper/refill/api/xyz/menggu_hf/RefillPhone.php

@@ -52,7 +52,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderId'], false];
             } elseif (in_array($resp['code'], [-22, -23, -99])) {
                 $net_errno = "HTTP-{$resp['code']}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 2 - 2
helper/refill/api/xyz/miaoxt/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999])) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/miaoxt_fs/RefillPhone.php

@@ -69,11 +69,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999])) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/qijutang/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 1 - 1
helper/refill/api/xyz/shimier/RefillPhone.php

@@ -52,7 +52,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderId'], false];
             } elseif (in_array($resp['code'], [-22, -23, -99])) {
                 $net_errno = "HTTP-{$resp['code']}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 return [false, $resp['msg'], false];
             }

+ 143 - 143
helper/refill/api/xyz/shuoruan/RefillPhone.php

@@ -1,144 +1,144 @@
-<?php
-
-namespace refill\shuoruan;
-
-require_once(BASE_HELPER_RAPI_PATH . '/shuoruan/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function pack_params($params)
-    {
-        $json_str = json_encode($params);
-        $content  = $json_str . config::KEY;
-        $content = md5($content);
-
-        $req = [];
-        $req['sign'] = $content;
-        $req['agentAccount'] = config::ACCOUNT;
-        $req['busiBody'] = $params;
-        return json_encode($req);
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $params_getter = function ($order_sn,$phone,$amount) {
-            $params = [];
-            $params['orderId'] = $order_sn;
-            $params['chargeAcct'] = $phone;
-            $params['chargeCash'] = $amount;
-            $params['chargeType'] = 0;
-            $params['retUrl'] = urlencode(config::NOTIFY_URL);
-            $params['action'] = 'CZ';
-
-            return $params;
-        };
-
-        $params = $params_getter($params['order_sn'], $card_no, $amount);
-        $body = $this->pack_params($params);
-
-        $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
-        $resp = iconv('GB2312', 'UTF-8', $resp);
-
-        if (empty($resp)) {
-            return [false, '系统错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误', true];
-            } elseif ($resp['errorCode'] === 1) {
-                return [true, $resp['chargeId'], false];
-            } elseif (in_array($resp['errorCode'], [-992, -993, -994, -995, -996, -997, -998], true)) {
-                $net_errno = $resp['errorCode'];
-                return [false, $resp['errorDesc'], false];
-            } else {
-                return [false, $resp['errorDesc'], false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params_getter = function ($order_sn) {
-            $params = [];
-            $params['orderId'] = $order_sn;
-            $params['action'] = 'CX';
-            return $params;
-        };
-
-        $params = $params_getter($refill_info['order_sn']);
-        $body = $this->pack_params($params);
-        $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
-        $resp = iconv('GB2312', 'UTF-8', $resp);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            } elseif ($resp['errorCode'] === 1) {
-                $status = $resp['orderStatuInt'];
-                if (in_array($status, ['11', '16'], true)) {
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif (in_array($status, ['20', '21', '26'], true)) {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif (in_array($status, ['0', '1', '2', '6'], true)) {
-                    $order_state = ORDER_STATE_SEND;
-                } else {
-                    return [false, $resp['errorDesc']];
-                }
-                return [true, $order_state];
-            } elseif ($resp['errorCode'] === -201 && (time() - $refill_info['commit_time'] >= 180)) {
-                return [true, ORDER_STATE_NOEXIST];
-            } else {
-                return [false, $resp['errorDesc']];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        $params_getter = function () {
-            $params['action'] = 'YE';
-            return $params;
-        };
-
-        $params = $params_getter();
-        $body = $this->pack_params($params);
-
-        $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
-        $resp = iconv('GB2312', 'UTF-8', $resp);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            } elseif ($resp['errorCode'] === 1) {
-                return [true, $resp['agentBalance']];
-            } else {
-                return [false, $resp['errorDesc']];
-            }
-        }
-    }
+<?php
+
+namespace refill\shuoruan;
+
+require_once(BASE_HELPER_RAPI_PATH . '/shuoruan/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function pack_params($params)
+    {
+        $json_str = json_encode($params);
+        $content  = $json_str . config::KEY;
+        $content = md5($content);
+
+        $req = [];
+        $req['sign'] = $content;
+        $req['agentAccount'] = config::ACCOUNT;
+        $req['busiBody'] = $params;
+        return json_encode($req);
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $params_getter = function ($order_sn,$phone,$amount) {
+            $params = [];
+            $params['orderId'] = $order_sn;
+            $params['chargeAcct'] = $phone;
+            $params['chargeCash'] = $amount;
+            $params['chargeType'] = 0;
+            $params['retUrl'] = urlencode(config::NOTIFY_URL);
+            $params['action'] = 'CZ';
+
+            return $params;
+        };
+
+        $params = $params_getter($params['order_sn'], $card_no, $amount);
+        $body = $this->pack_params($params);
+
+        $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
+        $resp = iconv('GB2312', 'UTF-8', $resp);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($resp['errorCode'] === 1) {
+                return [true, $resp['chargeId'], false];
+            } elseif (in_array($resp['errorCode'], [-992, -993, -994, -995, -996, -997, -998], true)) {
+                $net_errno = $resp['errorCode'];
+                return [false, $resp['errorDesc'], true];
+            } else {
+                return [false, $resp['errorDesc'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params_getter = function ($order_sn) {
+            $params = [];
+            $params['orderId'] = $order_sn;
+            $params['action'] = 'CX';
+            return $params;
+        };
+
+        $params = $params_getter($refill_info['order_sn']);
+        $body = $this->pack_params($params);
+        $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
+        $resp = iconv('GB2312', 'UTF-8', $resp);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            } elseif ($resp['errorCode'] === 1) {
+                $status = $resp['orderStatuInt'];
+                if (in_array($status, ['11', '16'], true)) {
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif (in_array($status, ['20', '21', '26'], true)) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif (in_array($status, ['0', '1', '2', '6'], true)) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $resp['errorDesc']];
+                }
+                return [true, $order_state];
+            } elseif ($resp['errorCode'] === -201 && (time() - $refill_info['commit_time'] >= 180)) {
+                return [true, ORDER_STATE_NOEXIST];
+            } else {
+                return [false, $resp['errorDesc']];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params_getter = function () {
+            $params['action'] = 'YE';
+            return $params;
+        };
+
+        $params = $params_getter();
+        $body = $this->pack_params($params);
+
+        $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
+        $resp = iconv('GB2312', 'UTF-8', $resp);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            } elseif ($resp['errorCode'] === 1) {
+                return [true, $resp['agentBalance']];
+            } else {
+                return [false, $resp['errorDesc']];
+            }
+        }
+    }
 }

+ 2 - 2
helper/refill/api/xyz/sialan/RefillPhone.php

@@ -54,11 +54,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['msg'], false];
             } elseif (in_array($status, [-10010, -10000, -999])) {
                 $net_errno = "HTTP-{$status}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/sialan_tax/RefillPhone.php

@@ -54,11 +54,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['msg'], false];
             } elseif (in_array($status, [-10010, -10000, -999])) {
                 $net_errno = "HTTP-{$status}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/suyuan/RefillPhone.php

@@ -54,11 +54,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999])) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 154 - 154
helper/refill/api/xyz/wangliantx/RefillPhone.php

@@ -1,155 +1,155 @@
-<?php
-
-namespace refill\wangliantx;
-
-require_once(BASE_HELPER_RAPI_PATH . '/wangliantx/config.php');
-
-use refill;
-use Log;
-use mtopcard;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $phone, int $amount, $regin_no, $card_type, string $order_sn)
-    {
-        $params['userid'] = config::USER_ID;
-        $params['productid'] = '';
-        $params['productType'] = '1';
-        $params['price'] = $amount;
-        $params['num'] = 1;
-        $params['mobile'] = $phone;
-        $params['spordertime'] = date("YmdHis");
-        $params['sporderid'] = $order_sn;
-        $params['back_url'] = config::NOTIFY_URL;
-        $params['region'] = urlencode(mtopcard\ProvinceList[$regin_no]);
-        $params['operator'] = urlencode(config::operator[$card_type]);
-
-        return $params;
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $order_sn = $params['order_sn'];
-        $regin_no = $params['regin_no'] ?? -1;
-
-        if($regin_no <= 0) {
-            return [false, '省份获取错误', false];
-        }
-        $params = $this->req_params($card_no, $amount, $regin_no, $card_type, $order_sn);
-        $sign = $this->sign($params);
-        $params['sign'] = $sign;
-
-        $resp = http_request(config::ORDER_URL, $params);
-
-        if (empty($resp)) {
-            return [false, '网络错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = $this->xmlToArray($resp);
-            if (empty($resp)) {
-                return [false, '网络错误', true];
-            }
-
-            $resultno = $resp['resultno'];
-            if (in_array($resultno, ['0', '1', '2'], true)) {
-                return [true, $resp['orderid'], false];
-            } elseif (in_array($resultno, config::ERR_NOS, true)) {
-                return [false, $resultno, false];
-            } elseif ($resultno === '9999') {
-                $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
-            } else {
-                $err = 998;
-                $net_errno = "HTTP-{$err}";
-                return [false, $resultno, false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['userid'] = config::USER_ID;
-        $params['sporderid'] = $refill_info['order_sn'];
-
-        $resp = http_request(config::QUERY_URL, $params);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = $this->xmlToArray($resp);
-            if (empty($resp))
-            {
-                return [false, '网络错误'];
-            }
-            else
-            {
-                $resultno = $resp['resultno'];
-                if ($resultno === '1') {
-                    $updata['official_sn'] = $resp['supnumber'];
-                    Model('refill_order')->edit($refill_info['order_id'], $updata);
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif ($resultno === '9') {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif (in_array($resultno, ['0','2'], true)) {
-                    $order_state = ORDER_STATE_SEND;
-                } elseif ($resultno === '5007' && (time() - $refill_info['commit_time'] >= 600)) {
-                    $order_state = ORDER_STATE_NOEXIST;
-                } else {
-                    return [false, $resultno];
-                }
-
-                return [true, $order_state];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        $params['userid'] = config::USER_ID;
-        $key = config::KEY;
-        $body = "userid={$params['userid']}&key={$key}";
-        $params['sign'] = md5($body);
-
-        $resp = http_request(config::BALANCE_UTL, $params);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = $this->xmlToArray($resp);
-            if (empty($resp)) {
-                return [false, '网络错误'];
-            } elseif ($resp['resultno'] === '1') {
-                return [true, $resp['balance']];
-            } else {
-                return [false, $resp['resultno']];
-            }
-        }
-    }
-
-    private function sign($params)
-    {
-        $userid = config::USER_ID;
-        $key = config::KEY;
-        $content = "userid={$userid}&productid={$params['productid']}&price={$params['price']}&num={$params['num']}&mobile={$params['mobile']}&spordertime={$params['spordertime']}";
-        $content .= "&sporderid={$params['sporderid']}&key={$key}";
-        return md5($content);
-    }
-
-    public function xmlToArray($xml)
-    {
-        return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
-    }
+<?php
+
+namespace refill\wangliantx;
+
+require_once(BASE_HELPER_RAPI_PATH . '/wangliantx/config.php');
+
+use refill;
+use Log;
+use mtopcard;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, $regin_no, $card_type, string $order_sn)
+    {
+        $params['userid'] = config::USER_ID;
+        $params['productid'] = '';
+        $params['productType'] = '1';
+        $params['price'] = $amount;
+        $params['num'] = 1;
+        $params['mobile'] = $phone;
+        $params['spordertime'] = date("YmdHis");
+        $params['sporderid'] = $order_sn;
+        $params['back_url'] = config::NOTIFY_URL;
+        $params['region'] = urlencode(mtopcard\ProvinceList[$regin_no]);
+        $params['operator'] = urlencode(config::operator[$card_type]);
+
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $order_sn = $params['order_sn'];
+        $regin_no = $params['regin_no'] ?? -1;
+
+        if($regin_no <= 0) {
+            return [false, '省份获取错误', false];
+        }
+        $params = $this->req_params($card_no, $amount, $regin_no, $card_type, $order_sn);
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params);
+
+        if (empty($resp)) {
+            return [false, '网络错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误', true];
+            }
+
+            $resultno = $resp['resultno'];
+            if (in_array($resultno, ['0', '1', '2'], true)) {
+                return [true, $resp['orderid'], false];
+            } elseif (in_array($resultno, config::ERR_NOS, true)) {
+                return [false, $resultno, false];
+            } elseif ($resultno === '9999') {
+                $net_errno = "HTTP-{$resultno}";
+                return [false, $resultno, true];
+            } else {
+                $err = 998;
+                $net_errno = "HTTP-{$err}";
+                return [false, $resultno, true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['userid'] = config::USER_ID;
+        $params['sporderid'] = $refill_info['order_sn'];
+
+        $resp = http_request(config::QUERY_URL, $params);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp))
+            {
+                return [false, '网络错误'];
+            }
+            else
+            {
+                $resultno = $resp['resultno'];
+                if ($resultno === '1') {
+                    $updata['official_sn'] = $resp['supnumber'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($resultno === '9') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif (in_array($resultno, ['0','2'], true)) {
+                    $order_state = ORDER_STATE_SEND;
+                } elseif ($resultno === '5007' && (time() - $refill_info['commit_time'] >= 600)) {
+                    $order_state = ORDER_STATE_NOEXIST;
+                } else {
+                    return [false, $resultno];
+                }
+
+                return [true, $order_state];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params['userid'] = config::USER_ID;
+        $key = config::KEY;
+        $body = "userid={$params['userid']}&key={$key}";
+        $params['sign'] = md5($body);
+
+        $resp = http_request(config::BALANCE_UTL, $params);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            } elseif ($resp['resultno'] === '1') {
+                return [true, $resp['balance']];
+            } else {
+                return [false, $resp['resultno']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "userid={$userid}&productid={$params['productid']}&price={$params['price']}&num={$params['num']}&mobile={$params['mobile']}&spordertime={$params['spordertime']}";
+        $content .= "&sporderid={$params['sporderid']}&key={$key}";
+        return md5($content);
+    }
+
+    public function xmlToArray($xml)
+    {
+        return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
+    }
 }

+ 2 - 2
helper/refill/api/xyz/weiyiwt/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 1 - 1
helper/refill/api/xyz/xianghongrui/RefillPhone.php

@@ -55,7 +55,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderid'], false];
             } elseif (in_array($resultno, [5006, 9999])) {
                 $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
+                return [false, $resultno, true];
             } else {
                 return [false, $resultno, false];
             }

+ 1 - 1
helper/refill/api/xyz/xianghongruifs/RefillPhone.php

@@ -52,7 +52,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderid'], false];
             } elseif (in_array($resultno, [5006, 9999])) {
                 $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
+                return [false, $resultno, true];
             } else {
                 return [false, $resultno, false];
             }

+ 2 - 2
helper/refill/api/xyz/xianzhibb/RefillPhone.php

@@ -48,11 +48,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['msg'], false];
             } elseif (in_array($code, ['011', '014'])) {
                 $net_errno = "HTTP-{$code}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             }
         }
     }

+ 141 - 141
helper/refill/api/xyz/xiaoniu/RefillOil.php

@@ -1,142 +1,142 @@
-<?php
-
-namespace refill\xiaoniu;
-
-require_once(BASE_HELPER_RAPI_PATH . '/xiaoniu/config.php');
-
-use refill;
-use Log;
-
-class RefillOil extends refill\IRefillOil
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $phone, int $amount, string $order_sn)
-    {
-        $params['mId'] = config::MCH_ID;
-        $params['mOrderNo'] = $order_sn;
-        $params['account'] = $phone;
-        $params['subclassType'] = 'Sinopec';
-        $params['faceAmount'] = $amount;
-        $params['notifyUrl'] = config::NOTIFY_URL;
-        $params['timestamp'] = date("YmdHis");
-
-        return $params;
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $params = $this->req_params($card_no, $amount, $params['order_sn']);
-        $card_info = refill\util::read_card($card_no,$card_type);
-        $params['mobile'] = $card_info['bind_phone'];
-        $sign = $this->sign($params);
-        $params['sign'] = $sign;
-
-        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
-
-        if (empty($resp)) {
-            return [false, '系统错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误', true];
-            } elseif ($resp['code'] === '0') {
-                refill\util::inc_card($card_no,$card_info);
-                return [true, $resp['orderNo'], false];
-            } elseif ($resp['code'] === 'XN_1000'){
-                $net_errno = 'XN_1000';
-                return [false, $resp['msg'], false];
-            } else {
-                return [false, $resp['msg'], false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['mId'] = config::MCH_ID;
-        $params['mOrderNo'] = $refill_info['order_sn'];
-        $params['sign'] = $this->sign($params);
-
-        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            }
-            elseif ($resp['code'] === '0')
-            {
-                $status = intval($resp['status']);
-                if ($status === 1) {
-                    $updata['official_sn'] = $resp['content'];
-                    Model('refill_order')->edit($refill_info['order_id'], $updata);
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif ($status === 2) {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif ($status === 3) {
-                    $order_state = ORDER_STATE_SEND;
-                } else {
-                    return [false, $status];
-                }
-                return [true, $order_state];
-            }
-            else {
-                return [false, $resp['msg']];
-            }
-
-        }
-    }
-
-    public function balance()
-    {
-        $params['mId'] = config::MCH_ID;
-        $params['sign'] = $this->sign($params);
-
-        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            }
-            elseif ($resp['code'] === '0')
-            {
-                return [true, $resp['balance']];
-            }
-            else {
-                return [false, $resp['msg']];
-            }
-        }
-    }
-
-    private function sign($params)
-    {
-        $content = '';
-        ksort($params);
-        foreach ($params as $key => $val){
-            if(false === $this->check_empty($val)) {
-                $content .= "{$key}={$val}&";
-            }
-        }
-        $content .= "key=".config::Key;
-
-        return md5($content);
-    }
+<?php
+
+namespace refill\xiaoniu;
+
+require_once(BASE_HELPER_RAPI_PATH . '/xiaoniu/config.php');
+
+use refill;
+use Log;
+
+class RefillOil extends refill\IRefillOil
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, string $order_sn)
+    {
+        $params['mId'] = config::MCH_ID;
+        $params['mOrderNo'] = $order_sn;
+        $params['account'] = $phone;
+        $params['subclassType'] = 'Sinopec';
+        $params['faceAmount'] = $amount;
+        $params['notifyUrl'] = config::NOTIFY_URL;
+        $params['timestamp'] = date("YmdHis");
+
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $params = $this->req_params($card_no, $amount, $params['order_sn']);
+        $card_info = refill\util::read_card($card_no,$card_type);
+        $params['mobile'] = $card_info['bind_phone'];
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($resp['code'] === '0') {
+                refill\util::inc_card($card_no,$card_info);
+                return [true, $resp['orderNo'], false];
+            } elseif ($resp['code'] === 'XN_1000'){
+                $net_errno = 'XN_1000';
+                return [false, $resp['msg'], true];
+            } else {
+                return [false, $resp['msg'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['mId'] = config::MCH_ID;
+        $params['mOrderNo'] = $refill_info['order_sn'];
+        $params['sign'] = $this->sign($params);
+
+        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] === '0')
+            {
+                $status = intval($resp['status']);
+                if ($status === 1) {
+                    $updata['official_sn'] = $resp['content'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($status === 2) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status === 3) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $status];
+                }
+                return [true, $order_state];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+
+        }
+    }
+
+    public function balance()
+    {
+        $params['mId'] = config::MCH_ID;
+        $params['sign'] = $this->sign($params);
+
+        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] === '0')
+            {
+                return [true, $resp['balance']];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $content = '';
+        ksort($params);
+        foreach ($params as $key => $val){
+            if(false === $this->check_empty($val)) {
+                $content .= "{$key}={$val}&";
+            }
+        }
+        $content .= "key=".config::Key;
+
+        return md5($content);
+    }
 }

+ 138 - 138
helper/refill/api/xyz/xiaoniu_hf/RefillPhone.php

@@ -1,139 +1,139 @@
-<?php
-
-namespace refill\xiaoniu_hf;
-
-require_once(BASE_HELPER_RAPI_PATH . '/xiaoniu_hf/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
-    {
-        $params['mId'] = config::MCH_ID;
-        $params['mOrderNo'] = $order_sn;
-        $params['account'] = $phone;
-        $params['subclassType'] = 'QWT';
-        $params['faceAmount'] = $amount;
-        $params['notifyUrl'] = config::NOTIFY_URL;
-        $params['timestamp'] = date("YmdHis");
-
-        return $params;
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $params = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
-        $sign = $this->sign($params);
-        $params['sign'] = $sign;
-
-        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
-
-        if (empty($resp)) {
-            return [false, '系统错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误', true];
-            } elseif ($resp['code'] === '0') {
-                return [true, $resp['orderNo'], false];
-            } elseif ($resp['code'] === 'XN_1000'){
-                $net_errno = 'XN_1000';
-                return [false, $resp['msg'], false];
-            } else {
-                return [false, $resp['msg'], false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['mId'] = config::MCH_ID;
-        $params['mOrderNo'] = $refill_info['order_sn'];
-        $params['sign'] = $this->sign($params);
-
-        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            }
-            elseif ($resp['code'] === '0')
-            {
-                $status = intval($resp['status']);
-                if ($status === 1) {
-                    $updata['official_sn'] = $resp['content'];
-                    Model('refill_order')->edit($refill_info['order_id'], $updata);
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif ($status === 2) {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif ($status === 3) {
-                    $order_state = ORDER_STATE_SEND;
-                } else {
-                    return [false, $status];
-                }
-                return [true, $order_state];
-            }
-            else {
-                return [false, $resp['msg']];
-            }
-
-        }
-    }
-
-    public function balance()
-    {
-        $params['mId'] = config::MCH_ID;
-        $params['sign'] = $this->sign($params);
-
-        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            }
-            elseif ($resp['code'] === '0')
-            {
-                return [true, $resp['balance']];
-            }
-            else {
-                return [false, $resp['msg']];
-            }
-        }
-    }
-
-    private function sign($params)
-    {
-        $content = '';
-        ksort($params);
-        foreach ($params as $key => $val){
-            if(false === $this->check_empty($val)) {
-                $content .= "{$key}={$val}&";
-            }
-        }
-        $content .= "key=".config::Key;
-
-        return md5($content);
-    }
+<?php
+
+namespace refill\xiaoniu_hf;
+
+require_once(BASE_HELPER_RAPI_PATH . '/xiaoniu_hf/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
+    {
+        $params['mId'] = config::MCH_ID;
+        $params['mOrderNo'] = $order_sn;
+        $params['account'] = $phone;
+        $params['subclassType'] = 'QWT';
+        $params['faceAmount'] = $amount;
+        $params['notifyUrl'] = config::NOTIFY_URL;
+        $params['timestamp'] = date("YmdHis");
+
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $params = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($resp['code'] === '0') {
+                return [true, $resp['orderNo'], false];
+            } elseif ($resp['code'] === 'XN_1000'){
+                $net_errno = 'XN_1000';
+                return [false, $resp['msg'], true];
+            } else {
+                return [false, $resp['msg'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['mId'] = config::MCH_ID;
+        $params['mOrderNo'] = $refill_info['order_sn'];
+        $params['sign'] = $this->sign($params);
+
+        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] === '0')
+            {
+                $status = intval($resp['status']);
+                if ($status === 1) {
+                    $updata['official_sn'] = $resp['content'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($status === 2) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status === 3) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $status];
+                }
+                return [true, $order_state];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+
+        }
+    }
+
+    public function balance()
+    {
+        $params['mId'] = config::MCH_ID;
+        $params['sign'] = $this->sign($params);
+
+        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] === '0')
+            {
+                return [true, $resp['balance']];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $content = '';
+        ksort($params);
+        foreach ($params as $key => $val){
+            if(false === $this->check_empty($val)) {
+                $content .= "{$key}={$val}&";
+            }
+        }
+        $content .= "key=".config::Key;
+
+        return md5($content);
+    }
 }

+ 2 - 2
helper/refill/api/xyz/xingzy/RefillPhone.php

@@ -50,11 +50,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['data']['orderid'], false];
             } elseif (in_array($resp['code'], [0,3])) {
                 $net_errno = "HTTP-{$resp['code']}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/xingzy_normal/RefillPhone.php

@@ -51,11 +51,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['data']['orderid'], false];
             } elseif (in_array($resp['code'], [0,3])) {
                 $net_errno = "HTTP-{$resp['code']}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/xinhengyang/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 1 - 1
helper/refill/api/xyz/xinyang/RefillPhone.php

@@ -51,7 +51,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['SysOrderId'], false];
             } elseif ($resp['Code'] == 19999) {
                 $net_errno = "HTTP-{$resp['Code']}";
-                return [false, $resp['Message'], false];
+                return [false, $resp['Message'], true];
             } else {
                 return [false, $resp['Message'], false];
             }

+ 2 - 2
helper/refill/api/xyz/xunyin/RefillPhone.php

@@ -53,11 +53,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['msg'], false];
             } elseif (in_array($code, ['8008','8010','8017'])){
                 $net_errno = "HTTP-{$code}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/xunyinoil/RefillOil.php

@@ -57,11 +57,11 @@ class RefillOil extends refill\IRefillOil
                 return [false, $resp['msg'], false];
             } elseif (in_array($code, ['8008','8010','8017'])){
                 $net_errno = "HTTP-{$code}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['msg'], false];
+                return [false, $resp['msg'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/yikatong/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 1 - 1
helper/refill/api/xyz/yilin/RefillPhone.php

@@ -52,7 +52,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderid'], false];
             } elseif ($resultno == '5006' || $resultno == '9999') {
                 $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
+                return [false, $resultno, true];
             } else {
                 return [false, $resultno, false];
             }

+ 158 - 158
helper/refill/api/xyz/yingdian/RefillOil.php

@@ -1,159 +1,159 @@
-<?php
-
-namespace refill\yingdian;
-
-require_once(BASE_HELPER_RAPI_PATH . '/yingdian/config.php');
-
-use refill;
-use Log;
-
-class RefillOil extends refill\IRefillOil
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $card_no, int $amount, int $card_type, string $order_sn)
-    {
-        $params['orderNo'] = $order_sn;
-        $params['cardNumber'] = $card_no;
-        $params['amount'] = $amount;
-        $params['operator'] = config::operator[$card_type];
-        $params['timestamp'] = $this->getMillisecond();
-
-        $card_info = refill\util::read_card($card_no,$card_type);
-        $params['cardPhone'] = $card_info['bind_phone'];
-
-        return [$params, $card_info];
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        [$params, $card_info] = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
-        $sign = $this->sign($params);
-        $params['sign'] = $sign;
-
-        $app_key = config::APP_KEY;
-        $resp = http_request(config::ORDER_URL, $params, 'POST', false, ["App-Channel: {$app_key}"], $net_errno);
-
-        if (empty($resp)) {
-            return [false, '系统错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误', true];
-            }
-            elseif ($resp['code'] === 0 )
-            {
-                $status = $resp['data']['status'];
-                if($status === 'SUBMIT' || $status === 'CREATED' || $status === 'SUCCESS' || $status === 'CB_WAITING') {
-                    refill\util::inc_card($card_no,$card_info);
-                    return [true, $resp['data']['id'], false];
-                }
-                elseif($status === 'SUBMIT_FAIL' || $status === 'FAIL') {
-                    return [false, $status, false];
-                }
-                else {//未知status,需人工确认。
-                    $net_errno = "HTTP-997";
-                    return [false, $status, false];
-                }
-            }
-            elseif ($resp['code'] === -1){
-                //未知错误,需人工确认。
-                $net_errno = "HTTP-999";
-                return [false, $resp['msg'], false];
-            }
-            else {
-                //未知code,需人工确认。
-                $net_errno = "HTTP-998";
-                return [false, $resp['code'], false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['orderNo'] = $refill_info['order_sn'];
-        $params['timestamp'] = $this->getMillisecond();
-
-        $content = "orderNo={$params['orderNo']}" . config::APP_SECRET . $params['timestamp'];
-        $params['sign'] = md5($content);
-
-        $app_key = config::APP_KEY;
-        $header = [
-            "App-Channel: {$app_key}"
-        ];
-        $resp = http_request(config::QUERY_URL, $params, 'GET', false, $header);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            }
-            elseif ($resp['code'] == 0)
-            {
-                $status = $resp['data']['status'];
-                if ($status == 'SUCCESS') {
-                    //流水号格式为json,实例:["2421071918070053"]
-                    $official_sn = json_decode($resp['data']['vouchers'], true);
-                    $updata['official_sn'] = $official_sn[0];
-                    Model('refill_order')->edit($refill_info['order_id'], $updata);
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif (in_array($status, ['SUBMIT_FAIL', 'FAIL'])) {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif (in_array($status, ['CREATED', 'SUBMIT', 'CB_WAITING'])) {
-                    $order_state = ORDER_STATE_SEND;
-                } else {
-                    return [false, $status];
-                }
-
-                return [true, $order_state];
-            }
-            else {
-                return [false, $resp['msg']];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        return [false, '暂无余额接口'];
-    }
-
-    private function sign($params)
-    {
-        $timestamp = $params['timestamp'];
-        unset($params['timestamp']);
-        $content = '';
-        ksort($params);
-        foreach ($params as $key => $val){
-            if(false === $this->check_empty($val)) {
-                $content .= "{$key}={$val}&";
-            }
-        }
-        $content = rtrim($content,'&');
-        $content .= config::APP_SECRET;
-        $content .= $timestamp;
-        Log::record($content, Log::DEBUG);
-        return md5($content);
-    }
-
-    /**
-     * 获取毫秒级别的时间戳
-     */
-    private function getMillisecond()
-    {
-        $cur = microtime (true);
-        $cur = intval($cur * 1000);
-        return $cur;
-    }
+<?php
+
+namespace refill\yingdian;
+
+require_once(BASE_HELPER_RAPI_PATH . '/yingdian/config.php');
+
+use refill;
+use Log;
+
+class RefillOil extends refill\IRefillOil
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $card_no, int $amount, int $card_type, string $order_sn)
+    {
+        $params['orderNo'] = $order_sn;
+        $params['cardNumber'] = $card_no;
+        $params['amount'] = $amount;
+        $params['operator'] = config::operator[$card_type];
+        $params['timestamp'] = $this->getMillisecond();
+
+        $card_info = refill\util::read_card($card_no,$card_type);
+        $params['cardPhone'] = $card_info['bind_phone'];
+
+        return [$params, $card_info];
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        [$params, $card_info] = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $app_key = config::APP_KEY;
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, ["App-Channel: {$app_key}"], $net_errno);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            }
+            elseif ($resp['code'] === 0 )
+            {
+                $status = $resp['data']['status'];
+                if($status === 'SUBMIT' || $status === 'CREATED' || $status === 'SUCCESS' || $status === 'CB_WAITING') {
+                    refill\util::inc_card($card_no,$card_info);
+                    return [true, $resp['data']['id'], false];
+                }
+                elseif($status === 'SUBMIT_FAIL' || $status === 'FAIL') {
+                    return [false, $status, false];
+                }
+                else {//未知status,需人工确认。
+                    $net_errno = "HTTP-997";
+                    return [false, $status, true];
+                }
+            }
+            elseif ($resp['code'] === -1){
+                //未知错误,需人工确认。
+                $net_errno = "HTTP-999";
+                return [false, $resp['msg'], true];
+            }
+            else {
+                //未知code,需人工确认。
+                $net_errno = "HTTP-998";
+                return [false, $resp['code'], true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['orderNo'] = $refill_info['order_sn'];
+        $params['timestamp'] = $this->getMillisecond();
+
+        $content = "orderNo={$params['orderNo']}" . config::APP_SECRET . $params['timestamp'];
+        $params['sign'] = md5($content);
+
+        $app_key = config::APP_KEY;
+        $header = [
+            "App-Channel: {$app_key}"
+        ];
+        $resp = http_request(config::QUERY_URL, $params, 'GET', false, $header);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] == 0)
+            {
+                $status = $resp['data']['status'];
+                if ($status == 'SUCCESS') {
+                    //流水号格式为json,实例:["2421071918070053"]
+                    $official_sn = json_decode($resp['data']['vouchers'], true);
+                    $updata['official_sn'] = $official_sn[0];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif (in_array($status, ['SUBMIT_FAIL', 'FAIL'])) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif (in_array($status, ['CREATED', 'SUBMIT', 'CB_WAITING'])) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $status];
+                }
+
+                return [true, $order_state];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        return [false, '暂无余额接口'];
+    }
+
+    private function sign($params)
+    {
+        $timestamp = $params['timestamp'];
+        unset($params['timestamp']);
+        $content = '';
+        ksort($params);
+        foreach ($params as $key => $val){
+            if(false === $this->check_empty($val)) {
+                $content .= "{$key}={$val}&";
+            }
+        }
+        $content = rtrim($content,'&');
+        $content .= config::APP_SECRET;
+        $content .= $timestamp;
+        Log::record($content, Log::DEBUG);
+        return md5($content);
+    }
+
+    /**
+     * 获取毫秒级别的时间戳
+     */
+    private function getMillisecond()
+    {
+        $cur = microtime (true);
+        $cur = intval($cur * 1000);
+        return $cur;
+    }
 }

+ 2 - 2
helper/refill/api/xyz/yinteng/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/yonghe/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 143 - 143
helper/refill/api/xyz/youhe/RefillPhone.php

@@ -1,144 +1,144 @@
-<?php
-
-namespace refill\youhe;
-
-require_once(BASE_HELPER_RAPI_PATH . '/youhe/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $phone,int $amount, string $order_sn)
-    {
-        $params['partnerno'] = config::PARTNER_NO;
-        $params['orderno'] = $order_sn;
-        $params['amount'] = $amount;
-        $params['chargeacct'] = $phone;
-        $params['accounttype'] = 1;
-        $params['timestamp'] = $this->getMillisecond();
-        return $params;
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $params = $this->req_params($card_no, $amount, $params['order_sn']);
-        $sign = $this->sign($params);
-        $params['sign'] = $sign;
-
-        $params = json_encode($params);
-        $resp = http_post_data(config::ORDER_URL, $params , config::ExtHeaders, $net_errno);
-
-        if (empty($resp)) {
-            return [false, '系统错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误', true];
-            } elseif ($resp['code'] === 'R0000') {
-                return [true, $resp['orderno'], false];
-            } elseif ($resp['code'] === 'R0009') {
-                $net_errno = $resp['code'];
-                return [false, $resp['msg'], false];
-            } else {
-                return [false, $resp['msg'], false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['partnerno'] = config::PARTNER_NO;
-        $params['customerorder'] = $refill_info['order_sn'];
-        $params['timestamp'] = $this->getMillisecond();
-        $params['sign'] = $this->sign($params);
-
-        $params = json_encode($params);
-        $resp = http_post_data(config::QUERY_URL, $params , config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            }
-            elseif ($resp['code'] === 'R0000')
-            {
-                $status = $resp['status'];
-                if ($status === 'Q0000') {
-                    $updata['official_sn'] = $resp['transo'];
-                    Model('refill_order')->edit($refill_info['order_id'], $updata);
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif ($status === 'Q0001') {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif ($status === 'Q0002') {
-                    $order_state = ORDER_STATE_SEND;
-                } else {
-                    return [false, $status];
-                }
-                return [true, $order_state];
-            }
-            elseif (in_array($resp['code'], ['R0011', 'R0012', 'R0018'], true)) {
-                return [true, ORDER_STATE_NOEXIST];
-            }
-            else {
-                return [false, $resp['msg']];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        $params['partnerno'] = config::PARTNER_NO;
-        $params['timestamp'] = $this->getMillisecond();
-        $params['sign'] = $this->sign($params);
-        $params = json_encode($params);
-
-        $resp = http_post_data(config::BALANCE_URL, $params , config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '系统错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '系统错误'];
-            } elseif ($resp['code'] === 'R0000') {
-                return [true, $resp['balance']];
-            } else {
-                return [false, $resp['msg']];
-            }
-        }
-    }
-
-    private function sign($params)
-    {
-        $key = config::KEY;
-        $content  = "{$params['partnerno']}||{$key}||{$params['timestamp']}";
-        return md5($content);
-    }
-
-    /**
-     * 获取毫秒级别的时间戳
-     */
-    private function getMillisecond()
-    {
-        $cur = microtime (true);
-        $cur = intval($cur * 1000);
-        return $cur;
-    }
+<?php
+
+namespace refill\youhe;
+
+require_once(BASE_HELPER_RAPI_PATH . '/youhe/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone,int $amount, string $order_sn)
+    {
+        $params['partnerno'] = config::PARTNER_NO;
+        $params['orderno'] = $order_sn;
+        $params['amount'] = $amount;
+        $params['chargeacct'] = $phone;
+        $params['accounttype'] = 1;
+        $params['timestamp'] = $this->getMillisecond();
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $params = $this->req_params($card_no, $amount, $params['order_sn']);
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $params = json_encode($params);
+        $resp = http_post_data(config::ORDER_URL, $params , config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($resp['code'] === 'R0000') {
+                return [true, $resp['orderno'], false];
+            } elseif ($resp['code'] === 'R0009') {
+                $net_errno = $resp['code'];
+                return [false, $resp['msg'], true];
+            } else {
+                return [false, $resp['msg'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['partnerno'] = config::PARTNER_NO;
+        $params['customerorder'] = $refill_info['order_sn'];
+        $params['timestamp'] = $this->getMillisecond();
+        $params['sign'] = $this->sign($params);
+
+        $params = json_encode($params);
+        $resp = http_post_data(config::QUERY_URL, $params , config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] === 'R0000')
+            {
+                $status = $resp['status'];
+                if ($status === 'Q0000') {
+                    $updata['official_sn'] = $resp['transo'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($status === 'Q0001') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status === 'Q0002') {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $status];
+                }
+                return [true, $order_state];
+            }
+            elseif (in_array($resp['code'], ['R0011', 'R0012', 'R0018'], true)) {
+                return [true, ORDER_STATE_NOEXIST];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params['partnerno'] = config::PARTNER_NO;
+        $params['timestamp'] = $this->getMillisecond();
+        $params['sign'] = $this->sign($params);
+        $params = json_encode($params);
+
+        $resp = http_post_data(config::BALANCE_URL, $params , config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            } elseif ($resp['code'] === 'R0000') {
+                return [true, $resp['balance']];
+            } else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $key = config::KEY;
+        $content  = "{$params['partnerno']}||{$key}||{$params['timestamp']}";
+        return md5($content);
+    }
+
+    /**
+     * 获取毫秒级别的时间戳
+     */
+    private function getMillisecond()
+    {
+        $cur = microtime (true);
+        $cur = intval($cur * 1000);
+        return $cur;
+    }
 }

+ 2 - 2
helper/refill/api/xyz/yuanta/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 155 - 155
helper/refill/api/xyz/yunchonggong/RefillPhone.php

@@ -1,156 +1,156 @@
-<?php
-
-namespace refill\yunchonggong;
-
-require_once(BASE_HELPER_RAPI_PATH . '/yunchonggong/config.php');
-
-use refill;
-use Log;
-
-class RefillPhone extends refill\IRefillPhone
-{
-    public function __construct($cfgs)
-    {
-        parent::__construct($cfgs);
-    }
-
-    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
-    {
-        $params['appId'] = config::APP_ID;
-        $params['outOrderId'] = $order_sn;
-        $params['uuid'] = $phone;
-        $params['itemId'] = config::PRODUCT[$card_type][$amount];
-        $params['itemFace'] = $amount;
-        $params['amount'] = 1;
-        $params['callbackUrl'] = config::NOTIFY_URL;
-        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
-        return $params;
-    }
-
-    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
-    {
-        $order_sn = $params['order_sn'];
-        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
-        if(empty($params['itemId'])) {
-            return [false, '商品编号错误', false];
-        }
-        $sign = $this->sign($params);
-        $params['sign'] = $sign;
-
-        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
-
-        if (empty($resp)) {
-            return [false, '网络错误', true];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '网络错误', true];
-            } elseif ($resp['code'] === '00') {
-                return [true, $resp['orderId'], false];
-            } elseif (in_array($resp['code'], config::ERRCODES, true)) {
-                return [false, $resp['msg'], false];
-            } elseif (in_array($resp['code'], ['-22', '-23', '-99'], true)) {
-                $net_errno = "HTTP-{$resp['code']}";
-                return [false, $resp['msg'], false];
-            } else {
-                $net_errno = "HTTP-998";
-                return [false, $resp['msg'], false];
-            }
-        }
-    }
-
-    public function query($refill_info)
-    {
-        $params['appId'] = config::APP_ID;
-        $params['outOrderId'] = $refill_info['order_sn'];
-        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
-        $params['sign'] = $this->sign($params);
-
-        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '网络错误'];
-            }
-            elseif ($resp['code'] === '00')
-            {
-                $status = $resp['orderStatus'];
-                if ($status === '2') {
-                    $updata['official_sn'] = $resp['ext1'];
-                    Model('refill_order')->edit($refill_info['order_id'], $updata);
-                    $order_state = ORDER_STATE_SUCCESS;
-                } elseif ($status === '3') {
-                    $order_state = ORDER_STATE_CANCEL;
-                } elseif ($status === '1') {
-                    $order_state = ORDER_STATE_SEND;
-                } elseif ($status === '4') {
-                    $order_state = ORDER_STATE_NOEXIST;
-                } else {
-                    return [false, $resp['msg']];
-                }
-                return [true, $order_state];
-            }
-            else
-            {
-                return [false, $resp['msg']];
-            }
-        }
-    }
-
-    public function balance()
-    {
-        $params['appId'] = config::APP_ID;
-        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
-        $params['sign'] = $this->sign($params);
-
-        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
-
-        if (empty($resp)) {
-            return [false, '网络错误'];
-        }
-        else
-        {
-            Log::record($resp, Log::DEBUG);
-            $resp = json_decode($resp, true);
-            if (empty($resp)) {
-                return [false, '网络错误'];
-            } elseif ($resp['code'] === '00') {
-                return [true, $resp['balance']];
-            } else {
-                return [false, $resp['msg']];
-            }
-        }
-    }
-
-    /**
-     * 获取毫秒级别的时间戳
-     */
-    private function get_millisecond()
-    {
-        list($usec, $sec) = explode(" ", microtime());
-        return round($usec*1000);
-    }
-
-    private function sign($params)
-    {
-        $params['appSecret'] = config::APP_SECRET;
-        ksort($params);
-        $content = '';
-        foreach ($params as $key => $value) {
-            if($this->check_empty($value) === false) {
-                $content .= "{$key}={$value}&";
-            }
-        }
-        $content = rtrim($content, '&');
-        return md5($content);
-    }
+<?php
+
+namespace refill\yunchonggong;
+
+require_once(BASE_HELPER_RAPI_PATH . '/yunchonggong/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
+    {
+        $params['appId'] = config::APP_ID;
+        $params['outOrderId'] = $order_sn;
+        $params['uuid'] = $phone;
+        $params['itemId'] = config::PRODUCT[$card_type][$amount];
+        $params['itemFace'] = $amount;
+        $params['amount'] = 1;
+        $params['callbackUrl'] = config::NOTIFY_URL;
+        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $order_sn = $params['order_sn'];
+        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
+        if(empty($params['itemId'])) {
+            return [false, '商品编号错误', false];
+        }
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '网络错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '网络错误', true];
+            } elseif ($resp['code'] === '00') {
+                return [true, $resp['orderId'], false];
+            } elseif (in_array($resp['code'], config::ERRCODES, true)) {
+                return [false, $resp['msg'], false];
+            } elseif (in_array($resp['code'], ['-22', '-23', '-99'], true)) {
+                $net_errno = "HTTP-{$resp['code']}";
+                return [false, $resp['msg'], true];
+            } else {
+                $net_errno = "HTTP-998";
+                return [false, $resp['msg'], true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['appId'] = config::APP_ID;
+        $params['outOrderId'] = $refill_info['order_sn'];
+        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
+        $params['sign'] = $this->sign($params);
+
+        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            }
+            elseif ($resp['code'] === '00')
+            {
+                $status = $resp['orderStatus'];
+                if ($status === '2') {
+                    $updata['official_sn'] = $resp['ext1'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($status === '3') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status === '1') {
+                    $order_state = ORDER_STATE_SEND;
+                } elseif ($status === '4') {
+                    $order_state = ORDER_STATE_NOEXIST;
+                } else {
+                    return [false, $resp['msg']];
+                }
+                return [true, $order_state];
+            }
+            else
+            {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params['appId'] = config::APP_ID;
+        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
+        $params['sign'] = $this->sign($params);
+
+        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            } elseif ($resp['code'] === '00') {
+                return [true, $resp['balance']];
+            } else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    /**
+     * 获取毫秒级别的时间戳
+     */
+    private function get_millisecond()
+    {
+        list($usec, $sec) = explode(" ", microtime());
+        return round($usec*1000);
+    }
+
+    private function sign($params)
+    {
+        $params['appSecret'] = config::APP_SECRET;
+        ksort($params);
+        $content = '';
+        foreach ($params as $key => $value) {
+            if($this->check_empty($value) === false) {
+                $content .= "{$key}={$value}&";
+            }
+        }
+        $content = rtrim($content, '&');
+        return md5($content);
+    }
 }

+ 2 - 2
helper/refill/api/xyz/yunchonggong_yd/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/yunchonggongman/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 1 - 1
helper/refill/api/xyz/yunsuoyao/RefillPhone.php

@@ -53,7 +53,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderid'], false];
             } elseif ($resultno == '5006' || $resultno == '9999') {
                 $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
+                return [false, $resultno, true];
             } else {
                 return [false, $resultno, false];
             }

+ 1 - 1
helper/refill/api/xyz/yunsuoyaofs/RefillPhone.php

@@ -53,7 +53,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderid'], false];
             } elseif ($resultno == '5006' || $resultno == '9999') {
                 $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
+                return [false, $resultno, true];
             } else {
                 return [false, $resultno, false];
             }

+ 1 - 1
helper/refill/api/xyz/yunsuoyaoman/RefillPhone.php

@@ -53,7 +53,7 @@ class RefillPhone extends refill\IRefillPhone
                 return [true, $resp['orderid'], false];
             } elseif ($resultno == '5006' || $resultno == '9999') {
                 $net_errno = "HTTP-{$resultno}";
-                return [false, $resultno, false];
+                return [false, $resultno, true];
             } else {
                 return [false, $resultno, false];
             }

+ 2 - 2
helper/refill/api/xyz/zhongst/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }

+ 2 - 2
helper/refill/api/xyz/zhongst_mix/RefillPhone.php

@@ -55,11 +55,11 @@ class RefillPhone extends refill\IRefillPhone
                 return [false, $resp['szRtnCode'], false];
             } elseif (in_array($nRtn, [2050, 999], true)) {
                 $net_errno = "HTTP-{$nRtn}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             } else {
                 $err = 998;
                 $net_errno = "HTTP-{$err}";
-                return [false, $resp['szRtnCode'], false];
+                return [false, $resp['szRtnCode'], true];
             }
         }
     }