ソースを参照

Merge branch 'raccount' of 39.97.239.116:gyfl/xyzshop into raccount

stanley-king 2 年 前
コミット
d9fac66eb0
28 ファイル変更358 行追加15 行削除
  1. 14 0
      data/config/xyz/refill.ini.php
  2. 7 0
      helper/refill/api/xyz/bier_fs/config.php
  3. 7 1
      helper/refill/api/xyz/bier_fs/椰子.txt
  4. 2 2
      helper/refill/api/xyz/bodian/config.php
  5. 1 1
      helper/refill/api/xyz/bodian_yd/config.php
  6. 1 0
      helper/refill/api/xyz/dezhi_fs/config.php
  7. 48 0
      helper/refill/api/xyz/dezhi_yi/RefillCallBack.php
  8. 155 0
      helper/refill/api/xyz/dezhi_yi/RefillPhone.php
  9. 42 0
      helper/refill/api/xyz/dezhi_yi/config.php
  10. 13 0
      helper/refill/api/xyz/dezhi_yi/对接文档-yezi.txt
  11. BIN
      helper/refill/api/xyz/guochuang/20230412河南移动调价函.jpg
  12. BIN
      helper/refill/api/xyz/guochuang/20230412辽宁青海移动调价函.jpg
  13. BIN
      helper/refill/api/xyz/guochuang/20230414陕西电信调价函.jpg
  14. 4 4
      helper/refill/api/xyz/guochuang/config.php
  15. 1 1
      helper/refill/api/xyz/meixu/config.php
  16. 3 0
      helper/refill/api/xyz/meixu/对接文档-yezi.txt
  17. 7 1
      helper/refill/api/xyz/qianqian_fs/api.txt
  18. 7 0
      helper/refill/api/xyz/qianqian_fs/config.php
  19. 8 0
      helper/refill/api/xyz/yuewen_fs/config.php
  20. 7 1
      helper/refill/api/xyz/yuewen_fs/对接文档-yezi.txt
  21. 1 0
      helper/refill/api/xyz/yunchonggongfs/config.php
  22. 7 0
      helper/refill/api/yl/bier_fs/config.php
  23. 1 0
      helper/refill/api/yl/dezhi_fs/config.php
  24. 4 4
      helper/refill/api/yl/guochuang/config.php
  25. 7 0
      helper/refill/api/yl/qianqian_fs/config.php
  26. 1 0
      helper/refill/api/yl/yunchonggongfs/config.php
  27. 4 0
      mobile/callback/refill_dezhi_yi.php
  28. 6 0
      test/TestRefill.php

+ 14 - 0
data/config/xyz/refill.ini.php

@@ -8484,6 +8484,19 @@ $yelin_tax_phone = ['name' => 'yelin_tax', 'store_id' => 309, 'qualitys' => '3',
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
+$dezhi_yi_phone = ['name' => 'dezhi_yi', 'store_id' => 310, 'qualitys' => '3',
+    'amount' => [
+//        10 => [['goods_id' => 8553, 'price' => 9.5, 'quality' => 3, 'card_type' => 'chinatelecom']],
+//        20 => [['goods_id' => 8554, 'price' => 19, 'quality' => 3, 'card_type' => 'chinatelecom']],
+//        30 => [['goods_id' => 8555, 'price' => 28.5, 'quality' => 3, 'card_type' => 'chinamobile']],
+//        50 => [['goods_id' => 8556, 'price' => 47.5, 'quality' => 3, 'card_type' => 'chinamobile']],
+        100 => [['goods_id' => 8557, 'price' => 99.6, 'quality' => 3, 'card_type' => 'chinamobile']],
+        200 => [['goods_id' => 8558, 'price' => 199.2, 'quality' => 3, 'card_type' => 'chinamobile']],
+//        300 => [['goods_id' => 8559, 'price' => 285, 'quality' => 3, 'card_type' => 'chinatelecom']],
+//        500 => [['goods_id' => 8560, 'price' => 475, 'quality' => 3, 'card_type' => 'chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
 $phone_providers = [
 //    ['name' => 'beixt', 'cfg' => $beixt_phone],
 //    ['name' => 'bxtwt', 'cfg' => $bxtwt_phone],
@@ -8746,6 +8759,7 @@ $phone_providers = [
     ['name' => 'piaoyi_ylyw', 'cfg' => $piaoyi_ylyw_phone],
     ['name' => 'yunhui', 'cfg' => $yunhui_phone],
     ['name' => 'yelin_tax', 'cfg' => $yelin_tax_phone],
+    ['name' => 'dezhi_yi', 'cfg' => $dezhi_yi_phone],
 
 ];
 $config['phone_providers'] = $phone_providers;

+ 7 - 0
helper/refill/api/xyz/bier_fs/config.php

@@ -74,6 +74,12 @@ class config
                 50  => 'CMCCCQr50r',
                 100 => 'CMCCCQr100r', 200 => 'CMCCCQr200r',
             ],//重庆
+            //江西
+            14 => [
+                50  => 'CMCCJXr50r',
+                100 => 'CMCCJXr100r',
+                200 => 'CMCCJXr200r',
+            ],
         ],
         mtopcard\ChinaTelecomCard => [
             //四川
@@ -170,6 +176,7 @@ class config
         "4-30-20" => 28.8, "4-50-20" => 48, "4-100-20" => 96, "4-200-20" => 192,//广西 20
         "4-50-23" => 48, "4-100-23" => 96, "4-200-23" => 192,//四川 23
         "4-50-22" => 47.75, "4-100-22" => 95.5, "4-200-22" => 191,//重庆 22
+        "4-50-14" => 47.75, "4-100-14" => 95.5, "4-200-14" => 191,//江西 14
 
         "6-30-23" => 28.65, "6-50-23" => 47.75, "6-100-23" => 95.5, "6-200-23" => 191,//四川 23
         "6-30-15" => 28.65, "6-50-15" => 47.75, "6-100-15" => 95.5, "6-200-15" => 191,//山东 15

+ 7 - 1
helper/refill/api/xyz/bier_fs/椰子.txt

@@ -180,4 +180,10 @@ CTCCXJr200r
 CTCCQIONGr30r
 CTCCQIONGr50r
 CTCCQIONGr100r
-CTCCQIONGr200r
+CTCCQIONGr200r
+
+2023.4.14
+江西移动编码
+CMCCJXr50r
+CMCCJXr100r
+CMCCJXr200r

+ 2 - 2
helper/refill/api/xyz/bodian/config.php

@@ -11,7 +11,7 @@ class config
     const BALANCE_URL = 'http://36.139.45.33:10186/plat/api/old/queryBalance';
 
     const USER_ID= '200022';
-    const KEY = 'eccbb10eeba844e2bd5b8bc53314083e';
+    const KEY = '335828b7e92b4185b41fc0aee1c0c7cb';
     const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_bodian.php";
 
     const operator = [
@@ -24,4 +24,4 @@ class config
     const ERR_NOS = [
         1000,1001,1003,1004,2001,2002,2003,2020,2021,1006,2030,3003
     ];
-}
+}

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

@@ -11,7 +11,7 @@ class config
     const BALANCE_URL = 'http://36.139.45.33:10186/plat/api/old/queryBalance';
 
     const USER_ID= '200064';
-    const KEY = '1561326769e14677a7005495363f9d34';
+    const KEY = '5d0fb51dcfbe4a1ca4ab40ec4b180b98';
     const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_bodian_yd.php";
 
     const operator = [

+ 1 - 0
helper/refill/api/xyz/dezhi_fs/config.php

@@ -37,6 +37,7 @@ class config
         "4-50-20" => 46.75, "4-100-20" => 93.5, "4-200-20" => 187,//广西 20
         "4-30-23" => 28.26, "4-50-23" => 47.1, "4-100-23" => 94.2, "4-200-23" => 188.4,//四川 23
         "4-50-11" => 47.75, "4-100-11" => 95.5, "4-200-11" => 191,//浙江 11
+        "4-50-14" => 46.8, "4-100-14" => 93.6, "4-200-14" => 187.2,//江西 14
 
         //电信
         "6-30-19" => 28.26, "6-50-19" => 47.1, "6-100-19" => 94.2, "6-200-19" => 188.4,//广东 19

+ 48 - 0
helper/refill/api/xyz/dezhi_yi/RefillCallBack.php

@@ -0,0 +1,48 @@
+<?php
+namespace refill\dezhi_yi;
+
+require_once(BASE_HELPER_RAPI_PATH . '/dezhi_yi/config.php');
+
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $sign = $this->sign($params);
+        if ($params['sign'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "userid={$userid}&orderid={$params['orderid']}&sporderid={$params['sporderid']}&merchantsubmittime={$params['merchantsubmittime']}";
+        $content .= "&resultno={$params['resultno']}&key={$key}";
+        return strtoupper(md5($content));
+    }
+
+    public function notify($params)
+    {
+        $status = intval($params['resultno']);
+        $order_sn = $params['sporderid'];
+        $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 === 1) {
+            $data['official_sn'] = strtolower($params['remark1']) == 'null' ? '' : $params['remark1'];
+            Model('refill_order')->edit($order_id, $data);
+            return [$order_id, true, false, true];
+        } elseif ($status === 9) {
+            return [$order_id, false, true, true];
+        } else {
+            return [$order_id, false, false, false];
+        }
+    }
+}

+ 155 - 0
helper/refill/api/xyz/dezhi_yi/RefillPhone.php

@@ -0,0 +1,155 @@
+<?php
+
+namespace refill\dezhi_yi;
+
+require_once(BASE_HELPER_RAPI_PATH . '/dezhi_yi/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'] = config::ProductIdS[$card_type][$amount];
+        $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_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, '网络错误'];
+            } 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 refill\util::xmlToArray($xml);
+    }
+}

+ 42 - 0
helper/refill/api/xyz/dezhi_yi/config.php

@@ -0,0 +1,42 @@
+<?php
+
+
+namespace refill\dezhi_yi;
+
+use mtopcard;
+class config
+{
+    //https://www.showdoc.com.cn/AQL666666/
+    const ORDER_URL = 'http://124.70.214.140:9086/onlinepay.do';
+    const QUERY_URL= 'http://124.70.214.140:9086/searchpay.do';
+    const BALANCE_URL = 'http://124.70.214.140:9086/searchbalance.do';
+
+    const USER_ID= '10002865';
+    const KEY = 'E6zKR6aW4KzexDsm8tC8PcbSBYyDHcGx';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_dezhi_yi.php";
+
+    const operator = [
+        mtopcard\ChinaMobileCard  => 'yd',
+        mtopcard\ChinaUnicomCard  => 'lt',
+        mtopcard\ChinaTelecomCard => 'dx'
+    ];
+    const ERR_NOS = [
+        '5001','5002','5003','5004','5005','5008','5009','5010','5011','5012','7001'
+    ];
+    const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;'];
+    const ProductIdS = [
+        mtopcard\ChinaMobileCard =>
+            [
+                100 => '101689',
+                200 => '101690',
+            ],
+        mtopcard\ChinaUnicomCard =>
+            [
+
+            ],
+        mtopcard\ChinaTelecomCard =>
+            [
+
+            ],
+    ];
+}

+ 13 - 0
helper/refill/api/xyz/dezhi_yi/对接文档-yezi.txt

@@ -0,0 +1,13 @@
+ 正式环境:
+话费下单地址:http://124.70.214.140:9086/onlinepay.do
+查询地址:       http://124.70.214.140:9086/searchpay.do
+查询余额地址:http://124.70.214.140:9086/searchbalance.do
+
+ID:10002865
+秘钥:E6zKR6aW4KzexDsm8tC8PcbSBYyDHcGx
+对接文档地址:https://www.showdoc.com.cn/AQL666666/
+
+登录地址:http://124.70.214.140:7080/
+
+101689     全国移动100
+101690    全国移动200      配置溢价的

BIN
helper/refill/api/xyz/guochuang/20230412河南移动调价函.jpg


BIN
helper/refill/api/xyz/guochuang/20230412辽宁青海移动调价函.jpg


BIN
helper/refill/api/xyz/guochuang/20230414陕西电信调价函.jpg


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

@@ -64,10 +64,10 @@ class config
     const Price = [
         //移动
         "4-10-2" => 10.18, "4-20-2" => 20.36, "4-30-2" => 30.18, "4-50-2" => 50.3, "4-100-2" => 100.3, "4-200-2" => 200.6, "4-300-2" => 300.9, "4-500-2" => 501.5,//天津 2
-        "4-10-6" => 9.71, "4-20-6" => 19.42, "4-30-6" => 29.13, "4-50-6" => 48.55, "4-100-6" => 97.1, "4-200-6" => 194.2, "4-300-6" => 291.3, "4-500-6" => 485.5,//辽宁 6
+        "4-10-6" => 9.7, "4-20-6" => 19.4, "4-30-6" => 29.1, "4-50-6" => 48.5, "4-100-6" => 97, "4-200-6" => 194, "4-300-6" => 291, "4-500-6" => 485,//辽宁 6
         "4-10-9" => 9.94, "4-20-9" => 19.88, "4-30-9" => 29.82, "4-50-9" => 49.7, "4-100-9" => 99.4,//上海 9
         "4-10-8" => 9.98, "4-20-8" => 19.96, "4-30-8" => 29.94, "4-50-8" => 49.9, "4-100-8" => 99.8, "4-200-8" => 199.6, "4-300-8" => 299.4, "4-500-8" => 499,//黑龙江 8
-        "4-10-29" => 9.88, "4-20-29" => 19.76, "4-30-29" => 29.64, "4-50-29" => 49.4, "4-100-29" => 98.8, "4-200-29" => 197.6, "4-300-29" => 296.4, "4-500-29" => 494,//青海 29
+        "4-10-29" => 9.91, "4-20-29" => 19.82, "4-30-29" => 29.73, "4-50-29" => 49.55, "4-100-29" => 99.1, "4-200-29" => 198.2, "4-300-29" => 297.3, "4-500-29" => 495.5,//青海 29
         "4-10-28" => 9.985, "4-20-28" => 19.97, "4-30-28" => 29.955, "4-50-28" => 49.925, "4-100-28" => 99.85, "4-200-28" => 199.7, "4-300-28" => 299.55, "4-500-28" => 499.25,//甘肃 28
         "4-10-13" => 10, "4-20-13" => 20, "4-30-13" => 30, "4-50-13" => 50, "4-100-13" => 100, "4-200-13" => 200, "4-300-13" => 300, "4-500-13" => 500,//福建 13
         "4-10-5" => 10.035, "4-20-5" => 20.07, "4-30-5" => 30.09, "4-50-5" => 50.15, "4-100-5" => 100.3, "4-200-5" => 200.4, "4-300-5" => 300.6, "4-500-5" => 501,//内蒙古 5
@@ -80,7 +80,7 @@ class config
         "4-10-10" => 9.945, "4-20-10" => 19.89, "4-30-10" => 30.18, "4-50-10" => 50.2, "4-100-10" => 100.2, "4-200-10" => 200.4, "4-300-10" => 300.6, "4-500-10" => 501,//江苏 10
         "4-10-11" => 9.945, "4-20-11" => 19.89, "4-30-11" => 29.835, "4-50-11" => 49.725, "4-100-11" => 99.45, "4-200-11" => 198.9, "4-300-11" => 298.35, "4-500-11" => 497.25,//浙江 11
         "4-10-17" => 9.945, "4-20-17" => 19.89, "4-30-17" => 29.835, "4-50-17" => 49.725, "4-100-17" => 99.45, "4-200-17" => 198.9, "4-300-17" => 298.35, "4-500-17" => 497.25,//湖北 17
-        "4-10-16" => 10.23, "4-20-16" => 20.28, "4-30-16" => 30.105, "4-50-16" => 50.175, "4-100-16" => 100.35, "4-200-16" => 200.7, "4-300-16" => 301.05, "4-500-16" => 501.75,//河南 16
+        "4-10-16" => 10.2, "4-20-16" => 20.26, "4-30-16" => 30.09, "4-50-16" => 50.15, "4-100-16" => 100.3, "4-200-16" => 200.6, "4-300-16" => 300.9, "4-500-16" => 501.5,//河南 16
         "4-10-4" => 10.23, "4-20-4" => 20.46, "4-30-4" => 30.105, "4-50-4" => 50.175, "4-100-4" => 100.35, "4-200-4" => 200.7, "4-300-4" => 301.05, "4-500-4" => 501.75,//山西 4
         "4-10-24" => 10.13, "4-20-24" => 20.16, "4-30-24" => 30.18, "4-50-24" => 50.05, "4-100-24" => 100.1, "4-200-24" => 200.2, "4-300-24" => 300.3, "4-500-24" => 500.5,//贵州 24
         "4-10-30" => 10.12, "4-20-30" => 20.24, "4-30-30" => 30.129, "4-50-30" => 50.15, "4-100-30" => 100.2, "4-200-30" => 200.4, "4-300-30" => 300.3, "4-500-30" => 500.5,//宁夏 30
@@ -93,7 +93,7 @@ class config
         "5-20-23" => 20.08, "5-30-23" => 30.12, "5-50-23" => 50.2, "5-100-23" => 100.4, "5-200-23" => 200.8, "5-300-23" => 301.2, "5-500-23" => 502,//四川 23
         "5-10-31" => 10.22, "5-20-31" => 20.22, "5-30-31" => 30.24, "5-50-31" => 50.25, "5-100-31" => 100.3, "5-200-31" => 200.4, "5-300-31" => 300.6, "5-500-31" => 501,//新疆 31
         //电信
-        "6-10-27" => 9.965, "6-20-27" => 19.93, "6-30-27" => 29.895, "6-50-27" => 49.825, "6-100-27" => 99.65, "6-200-27" => 199.3, "6-300-27" => 298.95, "6-500-27" => 498.25,//陕西 27
+        "6-10-27" => 9.925, "6-20-27" => 19.85, "6-30-27" => 29.775, "6-50-27" => 49.625, "6-100-27" => 99.25, "6-200-27" => 198.5, "6-300-27" => 298.5, "6-500-27" => 497.5,//陕西 27
         "6-10-4" => 9.935, "6-20-4" => 19.87, "6-30-4" => 29.805, "6-50-4" => 49.675, "6-100-4" => 99.35, "6-200-4" => 198.7, "6-300-4" => 298.05, "6-500-4" => 496.75,//山西 4
         "6-10-18" => 10.04, "6-20-18" => 20.08, "6-30-18" => 30.12, "6-50-18" => 50.15, "6-100-18" => 100.3, "6-200-18" => 200.6, "6-300-18" => 300.9, "6-500-18" => 501.5,//湖南 18
         "6-10-15" => 10.21, "6-20-15" => 20.22, "6-30-15" => 30.231, "6-50-15" => 50.25, "6-100-15" => 100.3, "6-200-15" => 200.3, "6-300-15" => 300.45, "6-500-15" => 500.75,//山东 15

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

@@ -37,7 +37,7 @@ class config
             10 => 30000001581,
             20 => 30000001582,
             30 => 30000001583,
-            50 => 30000001584,
+            50 => 100012,
             100 => 30000001585,
             200 => 30000001586,
             300 => 30000001587,

+ 3 - 0
helper/refill/api/xyz/meixu/对接文档-yezi.txt

@@ -48,3 +48,6 @@
 30000001585 全国联通掌厅话费100元
 30000001586 全国联通掌厅话费200元
 30000001587 全国联通掌厅话费300元
+
+2023.4.14
+100012 全国联通沃支付话费 50 元

+ 7 - 1
helper/refill/api/xyz/qianqian_fs/api.txt

@@ -180,4 +180,10 @@ CTCCXJr200r
 CTCCQIONGr30r
 CTCCQIONGr50r
 CTCCQIONGr100r
-CTCCQIONGr200r
+CTCCQIONGr200r
+
+2023.4.14
+江西移动编码
+CMCCJXr50r
+CMCCJXr100r
+CMCCJXr200r

+ 7 - 0
helper/refill/api/xyz/qianqian_fs/config.php

@@ -50,6 +50,12 @@ class config
             22 => [
                 50  => 'CMCCCQr50r', 100 => 'CMCCCQr100r', 200 => 'CMCCCQr200r',
             ],//重庆
+            //江西
+            14 => [
+                50  => 'CMCCJXr50r',
+                100 => 'CMCCJXr100r',
+                200 => 'CMCCJXr200r',
+            ],
         ],
         mtopcard\ChinaUnicomCard => [
 
@@ -133,6 +139,7 @@ class config
         "4-30-20" => 28.8, "4-50-20" => 48, "4-100-20" => 96, "4-200-20" => 192,//广西 20
         "4-50-23" => 48, "4-100-23" => 96, "4-200-23" => 192,//四川 23
         "4-50-22" => 47.75, "4-100-22" => 95.5, "4-200-22" => 191,//重庆 22
+        "4-50-14" => 47.75, "4-100-14" => 95.5, "4-200-14" => 191,//江西 14
 
         //电信
         "6-30-19" => 28.8, "6-50-19" => 48, "6-100-19" => 96, "6-200-19" => 192,//广东 19

+ 8 - 0
helper/refill/api/xyz/yuewen_fs/config.php

@@ -84,6 +84,13 @@ class config
                 100 => '31978',
                 200 => '319625',
             ],
+            //江西
+            14 => [
+                30  => '31768',
+                50  => '31769',
+                100 => '31770',
+                200 => '317623',
+            ],
         ],
         mtopcard\ChinaUnicomCard =>
         [
@@ -155,6 +162,7 @@ class config
         "4-50-23" => 47.25, "4-100-23" => 94.5, "4-200-23" => 189,//四川 23
         "4-50-11" => 47.9, "4-100-11" => 95.8, "4-200-11" => 191.6,//浙江 11
         "4-50-25" => 46.6, "4-100-25" => 93.2, "4-200-25" => 186.4,//云南 25
+        "4-30-14" => 28.2, "4-50-14" => 47, "4-100-14" => 94, "4-200-14" => 188,//江西 14
 
         //电信
         "6-30-2" => 27.9, "6-50-2" => 46.5, "6-100-2" => 93, "6-200-2" => 186,//天津 2

+ 7 - 1
helper/refill/api/xyz/yuewen_fs/对接文档-yezi.txt

@@ -109,4 +109,10 @@ http://123.60.5.158:9086/searchbalance.do
 32384 贵州移动30元直充
 32385 贵州移动50元直充
 32386 贵州移动100元直充
-323627 贵州移动200元直充
+323627 贵州移动200元直充
+
+2023.4.14
+31768   江西移动30元直充
+31769   江西移动50元直充
+31770   江西移动100元直充
+317623  江西移动200元直充

+ 1 - 0
helper/refill/api/xyz/yunchonggongfs/config.php

@@ -38,6 +38,7 @@ class config
         "4-30-20" => 28.35, "4-50-20" => 47.25, "4-100-20" => 94.5, "4-200-20" => 189,//广西 20
         "4-30-23" => 28.35, "4-50-23" => 47.25, "4-100-23" => 94.5, "4-200-23" => 189,//四川 23
         "4-30-19" => 28.5, "4-50-19" => 47.5, "4-100-19" => 95, "4-200-19" => 190,//广东 19
+        "4-30-14" => 28.35, "4-50-14" => 47.25, "4-100-14" => 94.5, "4-200-14" => 189,//江西 14
 
         //电信
         "6-30-18" => 28.2, "6-50-18" => 47, "6-100-18" => 94, "6-200-18" => 188,//湖南 18

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

@@ -74,6 +74,12 @@ class config
                 50  => 'CMCCCQr50r',
                 100 => 'CMCCCQr100r', 200 => 'CMCCCQr200r',
             ],//重庆
+            //江西
+            14 => [
+                50  => 'CMCCJXr50r',
+                100 => 'CMCCJXr100r',
+                200 => 'CMCCJXr200r',
+            ],
         ],
         mtopcard\ChinaTelecomCard => [
             //四川
@@ -170,6 +176,7 @@ class config
         "4-30-20" => 28.8, "4-50-20" => 48, "4-100-20" => 96, "4-200-20" => 192,//广西 20
         "4-50-23" => 48, "4-100-23" => 96, "4-200-23" => 192,//四川 23
         "4-50-22" => 47.75, "4-100-22" => 95.5, "4-200-22" => 191,//重庆 22
+        "4-50-14" => 47.75, "4-100-14" => 95.5, "4-200-14" => 191,//江西 14
 
         "6-30-23" => 28.65, "6-50-23" => 47.75, "6-100-23" => 95.5, "6-200-23" => 191,//四川 23
         "6-30-15" => 28.65, "6-50-15" => 47.75, "6-100-15" => 95.5, "6-200-15" => 191,//山东 15

+ 1 - 0
helper/refill/api/yl/dezhi_fs/config.php

@@ -37,6 +37,7 @@ class config
         "4-50-20" => 46.75, "4-100-20" => 93.5, "4-200-20" => 187,//广西 20
         "4-30-23" => 28.26, "4-50-23" => 47.1, "4-100-23" => 94.2, "4-200-23" => 188.4,//四川 23
         "4-50-11" => 47.75, "4-100-11" => 95.5, "4-200-11" => 191,//浙江 11
+        "4-50-14" => 46.8, "4-100-14" => 93.6, "4-200-14" => 187.2,//江西 14
 
         //电信
         "6-30-19" => 28.26, "6-50-19" => 47.1, "6-100-19" => 94.2, "6-200-19" => 188.4,//广东 19

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

@@ -64,10 +64,10 @@ class config
     const Price = [
         //移动
         "4-10-2" => 10.18, "4-20-2" => 20.36, "4-30-2" => 30.18, "4-50-2" => 50.3, "4-100-2" => 100.3, "4-200-2" => 200.6, "4-300-2" => 300.9, "4-500-2" => 501.5,//天津 2
-        "4-10-6" => 9.71, "4-20-6" => 19.42, "4-30-6" => 29.13, "4-50-6" => 48.55, "4-100-6" => 97.1, "4-200-6" => 194.2, "4-300-6" => 291.3, "4-500-6" => 485.5,//辽宁 6
+        "4-10-6" => 9.7, "4-20-6" => 19.4, "4-30-6" => 29.1, "4-50-6" => 48.5, "4-100-6" => 97, "4-200-6" => 194, "4-300-6" => 291, "4-500-6" => 485,//辽宁 6
         "4-10-9" => 9.94, "4-20-9" => 19.88, "4-30-9" => 29.82, "4-50-9" => 49.7, "4-100-9" => 99.4,//上海 9
         "4-10-8" => 9.98, "4-20-8" => 19.96, "4-30-8" => 29.94, "4-50-8" => 49.9, "4-100-8" => 99.8, "4-200-8" => 199.6, "4-300-8" => 299.4, "4-500-8" => 499,//黑龙江 8
-        "4-10-29" => 9.88, "4-20-29" => 19.76, "4-30-29" => 29.64, "4-50-29" => 49.4, "4-100-29" => 98.8, "4-200-29" => 197.6, "4-300-29" => 296.4, "4-500-29" => 494,//青海 29
+        "4-10-29" => 9.91, "4-20-29" => 19.82, "4-30-29" => 29.73, "4-50-29" => 49.55, "4-100-29" => 99.1, "4-200-29" => 198.2, "4-300-29" => 297.3, "4-500-29" => 495.5,//青海 29
         "4-10-28" => 9.985, "4-20-28" => 19.97, "4-30-28" => 29.955, "4-50-28" => 49.925, "4-100-28" => 99.85, "4-200-28" => 199.7, "4-300-28" => 299.55, "4-500-28" => 499.25,//甘肃 28
         "4-10-13" => 10, "4-20-13" => 20, "4-30-13" => 30, "4-50-13" => 50, "4-100-13" => 100, "4-200-13" => 200, "4-300-13" => 300, "4-500-13" => 500,//福建 13
         "4-10-5" => 10.035, "4-20-5" => 20.07, "4-30-5" => 30.09, "4-50-5" => 50.15, "4-100-5" => 100.3, "4-200-5" => 200.4, "4-300-5" => 300.6, "4-500-5" => 501,//内蒙古 5
@@ -80,7 +80,7 @@ class config
         "4-10-10" => 9.945, "4-20-10" => 19.89, "4-30-10" => 30.18, "4-50-10" => 50.2, "4-100-10" => 100.2, "4-200-10" => 200.4, "4-300-10" => 300.6, "4-500-10" => 501,//江苏 10
         "4-10-11" => 9.945, "4-20-11" => 19.89, "4-30-11" => 29.835, "4-50-11" => 49.725, "4-100-11" => 99.45, "4-200-11" => 198.9, "4-300-11" => 298.35, "4-500-11" => 497.25,//浙江 11
         "4-10-17" => 9.945, "4-20-17" => 19.89, "4-30-17" => 29.835, "4-50-17" => 49.725, "4-100-17" => 99.45, "4-200-17" => 198.9, "4-300-17" => 298.35, "4-500-17" => 497.25,//湖北 17
-        "4-10-16" => 10.23, "4-20-16" => 20.28, "4-30-16" => 30.105, "4-50-16" => 50.175, "4-100-16" => 100.35, "4-200-16" => 200.7, "4-300-16" => 301.05, "4-500-16" => 501.75,//河南 16
+        "4-10-16" => 10.2, "4-20-16" => 20.26, "4-30-16" => 30.09, "4-50-16" => 50.15, "4-100-16" => 100.3, "4-200-16" => 200.6, "4-300-16" => 300.9, "4-500-16" => 501.5,//河南 16
         "4-10-4" => 10.23, "4-20-4" => 20.46, "4-30-4" => 30.105, "4-50-4" => 50.175, "4-100-4" => 100.35, "4-200-4" => 200.7, "4-300-4" => 301.05, "4-500-4" => 501.75,//山西 4
         "4-10-24" => 10.13, "4-20-24" => 20.16, "4-30-24" => 30.18, "4-50-24" => 50.05, "4-100-24" => 100.1, "4-200-24" => 200.2, "4-300-24" => 300.3, "4-500-24" => 500.5,//贵州 24
         "4-10-30" => 10.12, "4-20-30" => 20.24, "4-30-30" => 30.129, "4-50-30" => 50.15, "4-100-30" => 100.2, "4-200-30" => 200.4, "4-300-30" => 300.3, "4-500-30" => 500.5,//宁夏 30
@@ -93,7 +93,7 @@ class config
         "5-20-23" => 20.08, "5-30-23" => 30.12, "5-50-23" => 50.2, "5-100-23" => 100.4, "5-200-23" => 200.8, "5-300-23" => 301.2, "5-500-23" => 502,//四川 23
         "5-10-31" => 10.22, "5-20-31" => 20.22, "5-30-31" => 30.24, "5-50-31" => 50.25, "5-100-31" => 100.3, "5-200-31" => 200.4, "5-300-31" => 300.6, "5-500-31" => 501,//新疆 31
         //电信
-        "6-10-27" => 9.965, "6-20-27" => 19.93, "6-30-27" => 29.895, "6-50-27" => 49.825, "6-100-27" => 99.65, "6-200-27" => 199.3, "6-300-27" => 298.95, "6-500-27" => 498.25,//陕西 27
+        "6-10-27" => 9.925, "6-20-27" => 19.85, "6-30-27" => 29.775, "6-50-27" => 49.625, "6-100-27" => 99.25, "6-200-27" => 198.5, "6-300-27" => 298.5, "6-500-27" => 497.5,//陕西 27
         "6-10-4" => 9.935, "6-20-4" => 19.87, "6-30-4" => 29.805, "6-50-4" => 49.675, "6-100-4" => 99.35, "6-200-4" => 198.7, "6-300-4" => 298.05, "6-500-4" => 496.75,//山西 4
         "6-10-18" => 10.04, "6-20-18" => 20.08, "6-30-18" => 30.12, "6-50-18" => 50.15, "6-100-18" => 100.3, "6-200-18" => 200.6, "6-300-18" => 300.9, "6-500-18" => 501.5,//湖南 18
         "6-10-15" => 10.21, "6-20-15" => 20.22, "6-30-15" => 30.231, "6-50-15" => 50.25, "6-100-15" => 100.3, "6-200-15" => 200.3, "6-300-15" => 300.45, "6-500-15" => 500.75,//山东 15

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

@@ -50,6 +50,12 @@ class config
             22 => [
                 50  => 'CMCCCQr50r', 100 => 'CMCCCQr100r', 200 => 'CMCCCQr200r',
             ],//重庆
+            //江西
+            14 => [
+                50  => 'CMCCJXr50r',
+                100 => 'CMCCJXr100r',
+                200 => 'CMCCJXr200r',
+            ],
         ],
         mtopcard\ChinaUnicomCard => [
 
@@ -133,6 +139,7 @@ class config
         "4-30-20" => 28.8, "4-50-20" => 48, "4-100-20" => 96, "4-200-20" => 192,//广西 20
         "4-50-23" => 48, "4-100-23" => 96, "4-200-23" => 192,//四川 23
         "4-50-22" => 47.75, "4-100-22" => 95.5, "4-200-22" => 191,//重庆 22
+        "4-50-14" => 47.75, "4-100-14" => 95.5, "4-200-14" => 191,//江西 14
 
         //电信
         "6-30-19" => 28.8, "6-50-19" => 48, "6-100-19" => 96, "6-200-19" => 192,//广东 19

+ 1 - 0
helper/refill/api/yl/yunchonggongfs/config.php

@@ -38,6 +38,7 @@ class config
         "4-30-20" => 28.35, "4-50-20" => 47.25, "4-100-20" => 94.5, "4-200-20" => 189,//广西 20
         "4-30-23" => 28.35, "4-50-23" => 47.25, "4-100-23" => 94.5, "4-200-23" => 189,//四川 23
         "4-30-19" => 28.5, "4-50-19" => 47.5, "4-100-19" => 95, "4-200-19" => 190,//广东 19
+        "4-30-14" => 28.35, "4-50-14" => 47.25, "4-100-14" => 94.5, "4-200-14" => 189,//江西 14
 
         //电信
         "6-30-18" => 28.2, "6-50-18" => 47, "6-100-18" => 94, "6-200-18" => 188,//湖南 18

+ 4 - 0
mobile/callback/refill_dezhi_yi.php

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

+ 6 - 0
test/TestRefill.php

@@ -3249,6 +3249,12 @@ class TestRefill extends TestCase
         $resp = $provider->notify($params);
     }
 
+    public function testDezhi_yi()
+    {
+        $provider = $this->getProvider('dezhi_yi');
+        $resp = $provider->balance();
+    }
+
     public function testAmingjd()
     {
 //        $provider = new refill\amingjd\RefillPhone([]);