7 次代碼提交 19d2189eef ... 23070f510b

作者 SHA1 備註 提交日期
  lowkeyman 23070f510b 椰子 金羽快充1号-游来(含) 5 天之前
  lowkeyman f3d5e6d3f5 灿彬分省 宁夏&青海移动 6 天之前
  lowkeyman c9cad6e03f 美旭全国2 联通100-200 6 天之前
  lowkeyman 4e4ff383c4 国创分省 广东移动调价 6 天之前
  lowkeyman 8ff0cf90e5 风生分省 海南电信 1 周之前
  lowkeyman 729103394a 订单列表->统计信息,暂时注释管理员特有的展示信息 1 周之前
  lowkeyman 173975d6ff 德欣分省 湖南电信 1 周之前

+ 24 - 24
admin/templates/default/refill.order.index.php

@@ -458,42 +458,42 @@
                                 <div>
                                     <li class="lineLi">总计订单数量:<?php echo $output['stat']['all']['order_count'] ?? 0 ?></li>
                                     <li class="lineLi">总计充值金额:<?php echo $output['stat']['all']['refill_amounts'] ?? 0 ?></li>
-                                    <?php if ($output['admin_info']['id'] == 1) { ?>
-                                    <li class="lineLi">总计客户扣款金额:<?php echo $output['stat']['all']['mch_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi noLineLi">&nbsp;</li>
-                                    <li class="lineLi">总计供方扣款金额:<?php echo $output['stat']['all']['channel_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi">总计利润:<?php echo ncPriceFormat($output['stat']['all']['mch_amounts'] - $output['stat']['all']['channel_amounts']) ?></li>
-                                    <?php } ?>
+<!--                                    --><?php //if ($output['admin_info']['id'] == 1) { ?>
+<!--                                    <li class="lineLi">总计客户扣款金额:--><?php //echo $output['stat']['all']['mch_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi noLineLi">&nbsp;</li>-->
+<!--                                    <li class="lineLi">总计供方扣款金额:--><?php //echo $output['stat']['all']['channel_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi">总计利润:--><?php //echo ncPriceFormat($output['stat']['all']['mch_amounts'] - $output['stat']['all']['channel_amounts']) ?><!--</li>-->
+<!--                                    --><?php //} ?>
                                 </div>
                                 <div>
                                     <li class="lineLi">总计充值中订单数量:<?php echo $output['stat']['sending']['order_count'] ?? 0 ?></li>
                                     <li class="lineLi">总计充值中订单金额:<?php echo $output['stat']['sending']['refill_amounts'] ?? 0 ?></li>
-                                    <?php if ($output['admin_info']['id'] == 1) { ?>
-                                    <li class="lineLi">总计充值中客户扣款金额:<?php echo $output['stat']['sending']['mch_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi noLineLi">&nbsp;</li>
-                                    <li class="lineLi">总计充值中供方扣款金额:<?php echo $output['stat']['sending']['channel_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi">总计充值中利润:<?php echo ncPriceFormat($output['stat']['sending']['mch_amounts'] - $output['stat']['sending']['channel_amounts']) ?></li>
-                                    <?php } ?>
+<!--                                    --><?php //if ($output['admin_info']['id'] == 1) { ?>
+<!--                                    <li class="lineLi">总计充值中客户扣款金额:--><?php //echo $output['stat']['sending']['mch_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi noLineLi">&nbsp;</li>-->
+<!--                                    <li class="lineLi">总计充值中供方扣款金额:--><?php //echo $output['stat']['sending']['channel_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi">总计充值中利润:--><?php //echo ncPriceFormat($output['stat']['sending']['mch_amounts'] - $output['stat']['sending']['channel_amounts']) ?><!--</li>-->
+<!--                                    --><?php //} ?>
                                 </div>
                                 <div>
                                     <li class="lineLi">总计充值成功订单数量:<?php echo $output['stat']['success']['order_count'] ?? 0 ?></li>
                                     <li class="lineLi">总计充值成功订单金额:<?php echo $output['stat']['success']['refill_amounts'] ?? 0 ?></li>
-                                    <?php if ($output['admin_info']['id'] == 1) { ?>
-                                    <li class="lineLi">总计充值成功客户扣款金额:<?php echo $output['stat']['success']['mch_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi noLineLi">&nbsp;</li>
-                                    <li class="lineLi">总计充值成功供方扣款金额:<?php echo $output['stat']['success']['channel_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi">总计充值成功利润:<?php echo ncPriceFormat($output['stat']['success']['mch_amounts'] - $output['stat']['success']['channel_amounts']) ?></li>
-                                    <?php } ?>
+<!--                                    --><?php //if ($output['admin_info']['id'] == 1) { ?>
+<!--                                    <li class="lineLi">总计充值成功客户扣款金额:--><?php //echo $output['stat']['success']['mch_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi noLineLi">&nbsp;</li>-->
+<!--                                    <li class="lineLi">总计充值成功供方扣款金额:--><?php //echo $output['stat']['success']['channel_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi">总计充值成功利润:--><?php //echo ncPriceFormat($output['stat']['success']['mch_amounts'] - $output['stat']['success']['channel_amounts']) ?><!--</li>-->
+<!--                                    --><?php //} ?>
                                 </div>
                                 <div>
                                     <li class="lineLi">总计充值失败订单数量:<?php echo $output['stat']['cancel']['order_count'] ?? 0 ?></li>
                                     <li class="lineLi">总计充值失败订单金额:<?php echo $output['stat']['cancel']['refill_amounts'] ?? 0 ?></li>
-                                    <?php if ($output['admin_info']['id'] == 1) { ?>
-                                    <li class="lineLi">总计充值失败客户扣款金额:<?php echo $output['stat']['cancel']['mch_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi noLineLi">&nbsp;</li>
-                                    <li class="lineLi">总计充值失败供方扣款金额:<?php echo $output['stat']['cancel']['channel_amounts'] ?? 0 ?></li>
-                                    <li class="lineLi">总计充值失败利润:<?php echo ncPriceFormat($output['stat']['cancel']['mch_amounts'] - $output['stat']['cancel']['channel_amounts']) ?></li>
-                                    <?php } ?>
+<!--                                    --><?php //if ($output['admin_info']['id'] == 1) { ?>
+<!--                                    <li class="lineLi">总计充值失败客户扣款金额:--><?php //echo $output['stat']['cancel']['mch_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi noLineLi">&nbsp;</li>-->
+<!--                                    <li class="lineLi">总计充值失败供方扣款金额:--><?php //echo $output['stat']['cancel']['channel_amounts'] ?? 0 ?><!--</li>-->
+<!--                                    <li class="lineLi">总计充值失败利润:--><?php //echo ncPriceFormat($output['stat']['cancel']['mch_amounts'] - $output['stat']['cancel']['channel_amounts']) ?><!--</li>-->
+<!--                                    --><?php //} ?>
                                 </div>
                             <div>
                                 <li class="lineLi">成功率:

+ 48 - 1
data/config/xyz/phone.ini.php

@@ -2460,11 +2460,12 @@ $meixu_sec_phone = [
 			],
 		100 => [
 			['goods_id' => 8723, 'price' => 100.55, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 8723, 'price' => 100.05, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 8723, 'price' => 101.6, 'quality' => 2, 'card_type' => 'chinaunicom'],
 			['goods_id' => 8723, 'price' => 101, 'quality' => 2, 'card_type' => 'chinatelecom']
 			],
 		200 => [
 			['goods_id' => 8724, 'price' => 201.1, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 8724, 'price' => 203.2, 'quality' => 2, 'card_type' => 'chinaunicom'],
 			['goods_id' => 8724, 'price' => 202.2, 'quality' => 2, 'card_type' => 'chinatelecom']
 			],
 		300 => [
@@ -4332,6 +4333,51 @@ $zhixinzhuanch_phone = [
 //        ]
     ]
 ];
+$jinyu_phone = [
+    'name' => 'jinyu', 'store_id' => 440, 'qualitys' => '2', 'official_sn' => true, 'refill_type' => 'api',
+    'amount' => [
+//        10 => [
+//            ['goods_id' => 9469, 'price' => 10, 'quality' => 2, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 9469, 'price' => 10, 'quality' => 2, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 9469, 'price' => 10, 'quality' => 2, 'card_type' => 'chinatelecom']
+//        ],
+//        20 => [
+//            ['goods_id' => 9470, 'price' => 20, 'quality' => 2, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 9470, 'price' => 20, 'quality' => 2, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 9470, 'price' => 20, 'quality' => 2, 'card_type' => 'chinatelecom']
+//        ],
+//        30 => [
+//            ['goods_id' => 9471, 'price' => 30, 'quality' => 2, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 9471, 'price' => 30, 'quality' => 2, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 9471, 'price' => 30, 'quality' => 2, 'card_type' => 'chinatelecom']
+//        ],
+        50 => [
+//            ['goods_id' => 9472, 'price' => 50, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 9472, 'price' => 51.875, 'quality' => 2, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 9472, 'price' => 50, 'quality' => 2, 'card_type' => 'chinatelecom']
+        ],
+        100 => [
+            ['goods_id' => 9473, 'price' => 103.75, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 9473, 'price' => 103.75, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 9473, 'price' => 103.75, 'quality' => 2, 'card_type' => 'chinatelecom']
+        ],
+        200 => [
+            ['goods_id' => 9474, 'price' => 207.5, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 9474, 'price' => 207.5, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 9474, 'price' => 207.5, 'quality' => 2, 'card_type' => 'chinatelecom']
+        ],
+        300 => [
+            ['goods_id' => 9475, 'price' => 311.25, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 9475, 'price' => 311.25, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 9475, 'price' => 311.25, 'quality' => 2, 'card_type' => 'chinatelecom']
+        ],
+        500 => [
+            ['goods_id' => 9476, 'price' => 518.75, 'quality' => 2, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 9476, 'price' => 500, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 9476, 'price' => 518.75, 'quality' => 2, 'card_type' => 'chinatelecom']
+        ]
+    ]
+];
 
 $phone_providers = [
 	[ 'name' => 'xunyin', 'cfg' => $xunyin_phone ],
@@ -4457,4 +4503,5 @@ $phone_providers = [
     [ 'name' => 'kachong70_ye', 'cfg' => $kachong70_ye_phone ],
     [ 'name' => 'canbin_sec', 'cfg' => $canbin_sec_phone ],
     [ 'name' => 'zhixinzhuanch', 'cfg' => $zhixinzhuanch_phone ],
+    [ 'name' => 'jinyu', 'cfg' => $jinyu_phone ],
 	];

二進制
helper/refill/api/xyz/guochuang/20250415_yd_guangdong.png


+ 1 - 1
helper/refill/api/xyz/guochuang/config.php

@@ -72,7 +72,7 @@ class config
         "4-10-13" => 9.965, "4-20-13" => 19.93, "4-30-13" => 29.895, "4-50-13" => 49.825, "4-100-13" => 99.65, "4-200-13" => 199.3, "4-300-13" => 298.95, "4-500-13" => 498.25,//福建 13
         "4-10-5" => 10.26, "4-20-5" => 20.52, "4-30-5" => 30.78, "4-50-5" => 50.8, "4-100-5" => 100.3, "4-200-5" => 200.4, "4-300-5" => 300.6, "4-500-5" => 501,//内蒙古 5
         "4-30-18" => 29.835, "4-50-18" => 49.725, "4-100-18" => 99.45, "4-200-18" => 198.3,//湖南 18
-        "4-10-19" => 10.37, "4-20-19" => 20.74, "4-30-19" => 31.11, "4-50-19" => 50.5, "4-100-19" => 101, "4-200-19" => 202, "4-300-19" => 303, "4-500-19" => 505,//广东 19
+        "4-10-19" => 10.37, "4-20-19" => 20.74, "4-30-19" => 31.11, "4-50-19" => 50.65, "4-100-19" => 101.3, "4-200-19" => 202.6, "4-300-19" => 303.9, "4-500-19" => 506.5,//广东 19
         "4-10-7" => 9.93, "4-20-7" => 19.86, "4-30-7" => 29.52, "4-50-7" => 49.2, "4-100-7" => 98.4, "4-200-7" => 196.8, "4-300-7" => 295.2, "4-500-7" => 492,//吉林 7
         "4-10-1" => 10.31, "4-20-1" => 20.32, "4-30-1" => 30.33, "4-50-1" => 50.6, "4-100-1" => 100.4, "4-200-1" => 200.3, "4-300-1" => 300.45, "4-500-1" => 500.75,//北京 1
         "4-10-22" => 10.015, "4-20-22" => 20.03, "4-30-22" => 30.045, "4-50-22" => 50.075, "4-100-22" => 100.15, "4-200-22" => 200.3, "4-300-22" => 300.45, "4-500-22" => 500.75,//重庆 22

+ 18 - 0
helper/refill/api/xyz/jinyu/API.MD

@@ -0,0 +1,18 @@
+## 金羽快充1号-游来(含)
+### 全国账户:
+- 后台:http://121.199.28.63:10186/plat/login
+- 账户:youlai
+- 密码:123456aa
+
+- ID:100030
+- 秘钥:c592c7bb115c47ad8ee62da7bb7d11d5
+
+### API
+- 提单地址:http://121.199.28.63:10186/plat/api/hf/submitorder
+- 查单地址:http://121.199.28.63:10186/plat/api/queryorder
+- 余额查询地址:http://121.199.28.63:10186/plat/api/querybalance
+- 对接文档地址:https://docs.qq.com/doc/DWEhQWEhDVEJIdUVC
+
+### 店铺账号
+- jinyu
+- jinyu67890

+ 51 - 0
helper/refill/api/xyz/jinyu/RefillCallBack.php

@@ -0,0 +1,51 @@
+<?php
+namespace refill\jinyu;
+
+require_once(BASE_HELPER_RAPI_PATH . '/jinyu/config.php');
+
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $sign = $this->sign($params);
+        if ($params['szVerifyString'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "szAgentId={$userid}&szOrderId={$params['szOrderId']}&szPhoneNum={$params['szPhoneNum']}&nDemo={$params['nDemo']}&fSalePrice={$params['fSalePrice']}";
+        $content .= "&nFlag={$params['nFlag']}&szKey={$key}";
+        return md5($content);
+    }
+
+    public function notify($params)
+    {
+        $status = intval($params['nFlag']);
+        $order_sn = $params['szOrderId'];
+        $order_info = Model('vr_order')->getOrderInfoForNotify(['order_sn' => $order_sn]);
+        if (empty($order_info)) {
+            return [false, false, false, false, ''];
+        }
+        $order_id = $order_info['order_id'];
+
+        if ($status === 2) {
+            $official_sn = strtolower($params['szRtnMsg']) == 'null' ? '' : $params['szRtnMsg'];
+            $data['official_sn'] = $official_sn;
+            Model('refill_order')->edit($order_id, $data);
+            return [$order_id, true, false, true, $official_sn];
+        }
+        elseif ($status === 3) {
+            return [$order_id, false, true, true, ''];
+        }
+        else {
+            return [$order_id, false, false, false, ''];
+        }
+    }
+}

+ 143 - 0
helper/refill/api/xyz/jinyu/RefillPhone.php

@@ -0,0 +1,143 @@
+<?php
+
+namespace refill\jinyu;
+
+require_once(BASE_HELPER_RAPI_PATH . '/jinyu/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['szProductId'] = '';
+        $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, '网络错误', ''];
+            }
+            $offical_sn = '';
+            $status = $resp['nRtn'];
+            if ($status === 5012) {
+                $offical_sn = $resp['szRtnMsg'];
+                $updata['official_sn'] = $offical_sn;
+                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'], $offical_sn];
+            }
+
+            return [true, $order_state, $offical_sn];
+        }
+    }
+
+    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);
+    }
+}

+ 27 - 0
helper/refill/api/xyz/jinyu/config.php

@@ -0,0 +1,27 @@
+<?php
+
+
+namespace refill\jinyu;
+
+use mtopcard;
+class config
+{
+    const ORDER_URL = 'http://121.199.28.63:10186/plat/api/hf/submitorder';
+    const QUERY_URL= 'http://121.199.28.63:10186/plat/api/queryorder';
+    const BALANCE_URL = 'http://121.199.28.63:10186/plat/api/querybalance';
+
+    const USER_ID= '100030';
+    const KEY = 'c592c7bb115c47ad8ee62da7bb7d11d5';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_jinyu.php";
+
+    const operator = [
+        mtopcard\ChinaMobileCard  => 1,
+        mtopcard\ChinaUnicomCard  => 2,
+        mtopcard\ChinaTelecomCard => 3
+    ];
+    const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;charset=utf-8'];
+
+    const ERR_NOS = [
+        1000,1001,1003,1004,2001,2002,2003,2020,2021,1006,2030,3003
+    ];
+}

+ 2 - 1
helper/refill/api/xyz/meixu_sec/config.php

@@ -35,7 +35,8 @@ class config
         ],
         mtopcard\ChinaUnicomCard => [
             50 => 100361,
-            100 => 100362,
+            100 => 100013,
+            200 => 100014,
         ],
         mtopcard\ChinaTelecomCard => [
             50 => 100363,

+ 5 - 1
helper/refill/api/xyz/meixu_sec/对接文档-yezi.txt

@@ -33,4 +33,8 @@
 全国电信50-200
 编码:100363	      50 折扣101.6
 编码:100364	      100折扣101
-编码:30000001971    200元101.1
+编码:30000001971    200元101.1
+
+2025.4.15
+100013  全国联通沃支付话费100元
+100014   全国联通沃支付话费200元

+ 8 - 0
helper/refill/api/yl/canbin_fs/API.MD

@@ -41,6 +41,14 @@
 天津移动100元 1120100
 天津移动50元 1120050
 
+宁夏移动200元    1640200
+宁夏移动100元    1640100
+宁夏移动50元    1640050
+
+青海移动200元    1630200
+青海移动100元    1630100
+青海移动50元    1630050
+
 分省账户产品 电信 50-200 折扣95
 甘肃电信200元 3620200
 甘肃电信100元 3620100

+ 14 - 0
helper/refill/api/yl/canbin_fs/config.php

@@ -57,6 +57,18 @@ class config
                 100 => 1120100,
                 200 => 1120200,
             ],
+            //宁夏
+            30 => [
+                50  => 1640050,
+                100 => 1640100,
+                200 => 1640200,
+            ],
+            //青海
+            29 => [
+                50  => 1630050,
+                100 => 1630100,
+                200 => 1630200,
+            ],
 
         ],
         mtopcard\ChinaUnicomCard => [
@@ -152,6 +164,8 @@ class config
         "4-50-18" => 47.5, "4-100-18" => 95, "4-200-18" => 190, //湖南
         "4-50-10" => 47.5, "4-100-10" => 95, "4-200-10" => 190, //江苏
         "4-50-2" => 47.5, "4-100-2" => 95, "4-200-2" => 190, //天津
+        "4-50-30" => 47.5, "4-100-30" => 95, "4-200-30" => 190, //宁夏
+        "4-50-29" => 47.5, "4-100-29" => 95, "4-200-29" => 190, //青海
 
         //电信
         "6-50-28" => 47.5, "6-100-28" => 95, "6-200-28" => 190, //甘肃

+ 6 - 1
helper/refill/api/yl/dexin_fs/API.MD

@@ -16,4 +16,9 @@
 
 ### 店铺账号
 - dexin_fs
-- dexin_fs67890
+- dexin_fs67890
+
+### 编码
+3430050 湖南电信50
+3430100 湖南电信100
+3430200 湖南电信200

+ 7 - 0
helper/refill/api/yl/dexin_fs/config.php

@@ -135,6 +135,12 @@ class config
                 100 => 3120100,
                 200 => 3120200,
             ],
+            //湖南
+            18 => [
+                50  => 3430050,
+                100 => 3430100,
+                200 => 3430200,
+            ],
         ]
     ];
 
@@ -160,5 +166,6 @@ class config
         "6-50-13" => 47.65, "6-100-13" => 95.3, "6-200-13" => 190.6, //福建
         "6-50-10" => 47.65, "6-100-10" => 95.3, "6-200-10" => 190.6, //江苏
         "6-50-2" => 47.65, "6-100-2" => 95.3, "6-200-2" => 190.6, //天津
+        "6-50-18" => 47.65, "6-100-18" => 95.3, "6-200-18" => 190.6, //湖南
     ];
 }

+ 4 - 0
helper/refill/api/yl/fengsheng_fs/API.MD

@@ -51,4 +51,8 @@
 编码 3360050 面值50 折扣94.2
 编码 3360100 面值100 折扣94.2
 编码 3360200 面值200 折扣94.2
+
+海南电信50  编码 3460050  折扣94.2
+海南电信100 编码 3460100  折扣94.2
+海南电信200 编码 3460200  折扣94.2
 ```

+ 7 - 0
helper/refill/api/yl/fengsheng_fs/config.php

@@ -68,6 +68,12 @@ class config
                 100 => 3360100,
                 200 => 3360200,
             ],
+            //海南
+            21 => [
+                50  => 3460050,
+                100 => 3460100,
+                200 => 3460200,
+            ],
         ]
     ];
 
@@ -82,5 +88,6 @@ class config
         "6-50-19" => 47.1, "6-100-19" => 94.2, "6-200-19" => 188.4, //广东
         "6-50-18" => 47.1, "6-100-18" => 94.2, "6-200-18" => 188.4, //湖南
         "6-50-14" => 47.1, "6-100-14" => 94.2, "6-200-14" => 188.4, //江西
+        "6-50-21" => 47.1, "6-100-21" => 94.2, "6-200-21" => 188.4, //海南
     ];
 }

+ 1 - 1
helper/refill/api/yl/guochuang/config.php

@@ -72,7 +72,7 @@ class config
         "4-10-13" => 9.965, "4-20-13" => 19.93, "4-30-13" => 29.895, "4-50-13" => 49.825, "4-100-13" => 99.65, "4-200-13" => 199.3, "4-300-13" => 298.95, "4-500-13" => 498.25,//福建 13
         "4-10-5" => 10.26, "4-20-5" => 20.52, "4-30-5" => 30.78, "4-50-5" => 50.8, "4-100-5" => 100.3, "4-200-5" => 200.4, "4-300-5" => 300.6, "4-500-5" => 501,//内蒙古 5
         "4-30-18" => 29.835, "4-50-18" => 49.725, "4-100-18" => 99.45, "4-200-18" => 198.3,//湖南 18
-        "4-10-19" => 10.37, "4-20-19" => 20.74, "4-30-19" => 31.11, "4-50-19" => 50.5, "4-100-19" => 101, "4-200-19" => 202, "4-300-19" => 303, "4-500-19" => 505,//广东 19
+        "4-10-19" => 10.37, "4-20-19" => 20.74, "4-30-19" => 31.11, "4-50-19" => 50.65, "4-100-19" => 101.3, "4-200-19" => 202.6, "4-300-19" => 303.9, "4-500-19" => 506.5,//广东 19
         "4-10-7" => 9.93, "4-20-7" => 19.86, "4-30-7" => 29.52, "4-50-7" => 49.2, "4-100-7" => 98.4, "4-200-7" => 196.8, "4-300-7" => 295.2, "4-500-7" => 492,//吉林 7
         "4-10-1" => 10.31, "4-20-1" => 20.32, "4-30-1" => 30.33, "4-50-1" => 50.6, "4-100-1" => 100.4, "4-200-1" => 200.3, "4-300-1" => 300.45, "4-500-1" => 500.75,//北京 1
         "4-10-22" => 10.015, "4-20-22" => 20.03, "4-30-22" => 30.045, "4-50-22" => 50.075, "4-100-22" => 100.15, "4-200-22" => 200.3, "4-300-22" => 300.45, "4-500-22" => 500.75,//重庆 22

+ 4 - 0
mobile/callback/refill_jinyu.php

@@ -0,0 +1,4 @@
+<?php
+
+refill\util::push_notify('jinyu',$_POST);
+echo ('ok');

+ 6 - 0
test/TestRefill.php

@@ -6626,6 +6626,12 @@ class TestRefill extends TestCase
         $provider = $this->getProvider('dexin_fs');
         $resp = $provider->balance();
     }
+
+    public function testjinyu()
+    {
+        $provider = $this->getProvider('jinyu');
+        $resp = $provider->balance();
+    }
 }