Explorar o código

娱尚渠道修改

zb727 hai 1 ano
pai
achega
82a97121a6

+ 16 - 1
helper/refill/api/mh/ReadMe.MD

@@ -1 +1,16 @@
-测试
+视频会员系统正式环境前台登录地址:
+http://mbsmemberclient.scyshy.com
+视频会员系统正式环境收单地址:
+
+接口地址:
+订单查询地址为:http://mbapiq.mbs.scyshy.com/Order/QueryV2
+余额查询地址为:http://mbapiq.mbs.scyshy.com/Member/GetAccount
+直充产品订单收单地址为:http://mbapii.mbs.scyshy.com/Order/InsertV2
+卡密产品订单收单地址:http://mbapii.mbs.scyshy.com/Order/InsertSiberianNitrariaFruitV2
+发送验证码地址为:http://mboapi.mbs.scyshy.com/mbs/down/jd/verify/code
+短信验证接口地址为:http://mboapi.mbs.scyshy.com/mbs/down/jd/check/code
+
+登陆名称(会员名):bjmeihai
+新用户密码为:882788
+AppKey:211395563
+AppSecret:MjY0NTU0NmUtNmNhOS00Y2YzLTk5YmUtMjM4MzIyYWE1MmVj

+ 4 - 3
helper/refill/api/mh/dixin_normal/RefillPhone.php

@@ -76,6 +76,7 @@ class RefillPhone extends refill\IRefillPhone
         return (float)sprintf('%.0f',(floatval($s1) + floatval($s2)) * 1000);
     }
 
+    //[$state, $errmsg, $neterr]
     public function add($card_no, $card_type, $amount, $params, &$net_errno = 0): array
     {
         $params = $this->add_params($card_no, $amount, $params['order_sn'],$card_type);
@@ -104,8 +105,8 @@ class RefillPhone extends refill\IRefillPhone
 
     public function query($refill_info): array
     {
-        $params['merchant_no'] = $refill_info['order_sn'];
-        $params = $this->method('query.order',$params);
+        $params['merchant_no'] = $refill_info['order_sn'];  //sn码
+        $params = $this->method('query.order',$params);//查数据库情况,查询全部数据结构包括orderid
         $resp = http_request(config::ORDER_URL, $params , 'POST');
 
         if (empty($resp)) {
@@ -126,7 +127,7 @@ class RefillPhone extends refill\IRefillPhone
 
                 //充值状态:1=待充值,2=充值中,3=充值完成,4=充值失败,5=运营商维护,8=部分到账
                 if ($status == '3') {
-                    $save['ch_trade_no'] = $val['order_no'];
+                    $save['ch_trade_no'] = $val['order_no'];//平台的订单号
                     $save['official_sn'] = $official_sn;
                     Model('refill_order')->edit($refill_info['order_id'], $save);
                     $order_state = ORDER_STATE_SUCCESS;

+ 19 - 8
helper/refill/api/mh/yushang_normal/RefillCallBack.php

@@ -8,12 +8,21 @@ use refill;
 class RefillCallBack implements refill\IRefillCallBack
 {
 
-    //todo 签名字段不匹配
     public function verify($params): bool
     {
+
         $input = $params;
         unset($input['Sign']);
-        $sign = config::sign($input);
+
+        $cbsign = [
+            'AppKey' => $params[AppKey],
+            'TimesTamp' => $params[TimesTamp],
+            'OrderID'   => $params[OrderID],
+            'MOrderID'  => $params[MOrderID],
+            'State'     => $params[State]
+        ];
+
+        $sign = config::sign($cbsign);
         if ($params['Sign'] == $sign) {
             return true;
         } else {
@@ -28,24 +37,26 @@ class RefillCallBack implements refill\IRefillCallBack
         $order_sn = $params['MOrderID'];
         $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]);
 
-// todo 这里失败
-//        if (empty($order_info)) {
-//            return [false, false, false, false, ''];
-//        }
+        //  todo 这里失败
+        //  if (empty($order_info)) {
+        //       return [false, false, false, false, ''];
+        //  }
 
         if($params['ExtendParam'] != 'null')
         {
             $ExtendParam = json_decode($params['ExtendParam'],true);
+            if($ExtendParam == 'null')
+                $ExtendParam = $params['ExtendParam'];
         }else
             $ExtendParam = 'null';
 
         $official_sn = strtolower($ExtendParam[OfficialOrderID]) == 'null' ? '' : strtolower($ExtendParam[OfficialOrderID]);
         $order_id = $order_info['order_id'];
 
-        $status = intval($params['state']);
+        $status = intval($params['State']);
         //充值状态:1=订单正在处理中,2=订单成功,3=订单失败,4=订单状态异常或未知
         if ($status === 2) {
-            $data['ch_trade_no'] = $params['MOrderID'];
+            $data['ch_trade_no'] = $params['OrderID'];
             $data['official_sn'] = $official_sn;
             Model('refill_order')->edit($order_id, $data);
             return [$order_id, true, false, true, $official_sn];

+ 3 - 3
helper/refill/api/mh/yushang_normal/RefillPhone.php

@@ -47,7 +47,7 @@ class RefillPhone extends refill\IRefillPhone
             'CallBackUrl'  =>  config::NOTIFY_URL,     //  返回地址值
             'ChargeAccount' => $phone,         //被充值账号
             'CustomerIP'    => '127.0.0.1'       ,          //订单来源IP
-            'MOrderID'      => $order_sn,//会员订单号
+            'MOrderID'      => $order_sn,//会员订单sn
             'ProductCode'   => $sku_code,//产品编号
             'TimesTamp'     => $this->getUnixTimestamp()//时间戳
         ];
@@ -109,7 +109,7 @@ class RefillPhone extends refill\IRefillPhone
 
     public function query($refill_info): array
     {
-        $params['merchant_no'] = $refill_info['order_sn'];//sn码
+        //$params['merchant_no'] = $refill_info['order_sn'];//sn码
         //$params = $this->method('query.order',$params);//查数据库情况
 
         //拼接签名需要顺序AppKey,TimesTamp,MOrderID
@@ -147,7 +147,7 @@ class RefillPhone extends refill\IRefillPhone
             {
                 $val = $resp['Data'];
                 $status = $val['OrderState'];
-                $official_sn = '';
+                $official_sn = $val['ExtendParam']['OfficialOrderID'] == 'null'? '':strtolower($val['ExtendParam']['OfficialOrderID']) ;
 
                 //充值状态:1=订单正在处理中,2=订单成功,3=订单失败,4=订单状态异常或位置
                 if ($status == '2') {  //成功了存订单号和官方透传的流水号

+ 1 - 1
helper/refill/api/mh/yushang_normal/config.php

@@ -22,7 +22,7 @@ class config
     const NOTIFY_TEST_URL = "http://47.92.238.126/racc/callback/mh/testcb.php ";
     const NOTIFY_URL=  BASE_SITE_URL . "/racc/callback/mh/yushang_normal.php";
 
-    const IS_DEBUG = true;
+    const IS_DEBUG = false;
 
     private static $stStoreProducts = [
         50  => [4 => 'PLM102741', 5 => 'PLM102741', 6 => 'PLM102741'],