xiaoyu 3 лет назад
Родитель
Сommit
908f959bc9

+ 4 - 7
helper/refill/api/xyz/dingchi/RefillCallBack.php

@@ -8,9 +8,7 @@ class RefillCallBack implements refill\IRefillCallBack
 {
     public function verify($params): bool
     {
-        $input = $params;
-        unset($input['sign']);
-        $sign = $this->sign($input);
+        $sign = $this->sign($params);
         if ($params['sign'] == $sign) {
             return true;
         } else {
@@ -20,10 +18,9 @@ class RefillCallBack implements refill\IRefillCallBack
 
     private function sign($params)
     {
-        ksort($params);
-        $content = implode('', $params);
-        $content .= config::KEY;
-
+        $key = config::KEY;
+        $user_id = config::USER_ID;
+        $content = "{$params['bizId']}{$params['downstreamSerialno']}{$params['id']}{$params['status']}{$user_id}{$key}";
         return md5($content);
     }
 

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

@@ -94,7 +94,7 @@ class RefillPhone extends refill\IRefillPhone
                 {
                     $status = intval($resp['data']['status']);
                     if ($status === 2) {
-                        Model('refill_order')->edit($refill_info['order_id'], ['official_sn' => $resp['data']['serialno']]);
+                        Model('refill_order')->edit($refill_info['order_id'], ['official_sn' => $resp['data']['extend']]);
                         $order_state = ORDER_STATE_SUCCESS;
                     } elseif ($status === 3) {
                         $order_state = ORDER_STATE_CANCEL;

+ 2 - 2
test/TestRefill.php

@@ -1338,9 +1338,9 @@ class TestRefill extends TestCase
 //        $provider = $this->getProvider('dingchi');
 //        $resp = $provider->balance();
 //        $resp = $provider->add(18500608333, 5, 30, ['order_sn' => $this->make_sn()]);
-//        $resp = $provider->query(['order_sn' => '84901636445646930491']);
+//        $resp = $provider->query(['order_sn' => '70651636508446628072']);
 
-        $body = '{"userId":"671","bizId":"200","id":"32886580","downstreamSerialno":"84901636445646930491","status":"3","statusDesc":"","extend":"","sign":"6e45470e462d09047162097b244fcdcb"}';
+        $body = '{"userId":"671","bizId":"200","id":"32894267","downstreamSerialno":"70651636508446628072","status":"2","statusDesc":"","extend":"100101101002111100940543157996","sign":"984c4708c14d0c2e08295c5010109ecf"}';
         $params = json_decode($body, true);
         $provider = $this->getProvider('dingchi','RefillCallBack');
         $ret = $provider->verify($params);