ayHaru 4 éve
szülő
commit
d4e25288ce

+ 4 - 4
helper/refill/api/lingzh/sctongqian/RefillCallBack.php

@@ -34,7 +34,7 @@ class RefillCallBack implements refill\IRefillCallBack
 
         if ($status === 2) {
             //卡密信息,需返回
-            $CardInfo = $this->rsa_decode($params['CardInfo'], $params['private_key']);
+            $CardInfo = $this->rsa_decode($params['CardInfo']);
             return [$order_id, true, false,true];
         }
         elseif ($status === 3) {
@@ -45,11 +45,11 @@ class RefillCallBack implements refill\IRefillCallBack
         }
     }
 
-    private function rsa_decode($card_data,$private_key)
+    private function rsa_decode($encrypted)
     {
-        $res = openssl_pkey_get_private($private_key);
+        $private_key = config::PRIVATE_KEY;
         //使用私钥解密数据
-        openssl_private_decrypt($card_data, $decrypted, $res);
+        openssl_private_decrypt(base64_decode($encrypted), $decrypted,$private_key);
         return $decrypted;
     }
 }

+ 8 - 10
helper/refill/api/lingzh/sctongqian/RefillPhone.php

@@ -66,7 +66,7 @@ class RefillPhone extends refill\IRefillPhone
         $product_code = $params['product_code'];
         $params = $this->req_params($order_sn,$product_code);
 
-        $params['PublicKey'] = urlencode(config::PUBLIC_KEY);
+        $params['PublicKey'] = config::PUBLIC_KEY;
 
         $sign = $this->sign($params);
         $params['Sign'] = $sign;
@@ -115,14 +115,13 @@ class RefillPhone extends refill\IRefillPhone
             elseif ($resp['Code'] == 999)
             {
                 $status = intval($resp['Data']['OrderState']);
-                $card_data = [];
+                $result = [];
                 if ($status === 2) {
                     if(!empty($resp['Data']['CardData'])) {
                         $cards = $this->rsa_decode($resp['Data']['CardData']);
-
-                        $card_data = [];
+                        $cards = json_decode($cards, true);
                         foreach ($cards as $card) {
-                            $card_data[] = json_decode($card, true);
+                            $result[] = $card;
                         }
                         //需返回卡密信息
                     }
@@ -132,9 +131,9 @@ class RefillPhone extends refill\IRefillPhone
                 } elseif (in_array($status, [1,4])) {
                     $order_state = ORDER_STATE_SEND;
                 } else {
-                    return [false, $resp['Message'], $card_data];
+                    return [false, $resp['Message'], $result];
                 }
-                return [true, $order_state, $card_data];
+                return [true, $order_state, $result];
             }
             else
             {
@@ -143,12 +142,11 @@ class RefillPhone extends refill\IRefillPhone
         }
     }
 
-    private function rsa_decode($card_data)
+    private function rsa_decode($encrypted)
     {
         $private_key = config::PRIVATE_KEY;
-        $res = openssl_pkey_get_private($private_key);
         //使用私钥解密数据
-        openssl_private_decrypt($card_data, $decrypted, $res);
+        openssl_private_decrypt(base64_decode($encrypted), $decrypted,$private_key);
         return $decrypted;
     }
 

+ 34 - 35
helper/refill/api/lingzh/sctongqian/config.php

@@ -22,43 +22,42 @@ class config
     const API_IP = NET_IP;
     const PUBLIC_KEY = <<<heredoc
 -----BEGIN PUBLIC KEY-----
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4fTqUAlhB5MAxUIxDPZ9
-8p2rcek4agbds6WsDzzi3jppnMFAxkASdNuSQ2cDteE2/2xEOvqvVXLNUGG1XYCf
-iyDHSm4oE/qaI9u4az4z4G/CabkYzh3dMGOGXX9xT+unI5+bErrYU0Cww21aqBVh
-gL820LBBXJju1jVlnDagGGjv5VvLrH9LbkMWIJEbV5RsTp8TmQerFTs1eGmz39U4
-psNjwQtqv8wYgBouz5cz82gn3suskWXqebiu3uABmhtAM6xwGKKR+vIiRHyAMesf
-j99wobnjcsK69t3oSPkcA6PqgC48Jfy14drhhILUoKCdUXyhh1wDOJdl0ScK2m2h
-DwIDAQAB
+MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAs75DjY6fIaqRC/WLwe5o
+hNH15mswZGz4r3IGOi8eOTDeR6Vs9Gwxv9lyzbuL3AM+9zfinjZFATm5DVl6M+8N
+uKWegF/jX8AT+77TmtqG0unUb4spdUxUNekIZP06bZtQXKwoU2e3ap+nzaZAC8Xx
+2tJtZCM0wxCruIIxrQTJigInoPE0ZXwjR+RxjJ39M6eNuNC4Qv5cVZ6v5Uxr+7Ik
+yVH05ou2OlpOImBewY7W8044sHtlMQJqgzA5k8vwrEugYLb1cGdNe08B8odye8QF
+08haO3AyKfmrrqdDsGUY6VmgObHWudanWgIomIOME+QysK+GbdR8ChnZSr0ksBzD
+hwIBAw==
 -----END PUBLIC KEY-----
 heredoc;
     const PRIVATE_KEY = <<<heredoc
------BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDh9OpQCWEHkwDF
-QjEM9n3ynatx6ThqBt2zpawPPOLeOmmcwUDGQBJ025JDZwO14Tb/bEQ6+q9Vcs1Q
-YbVdgJ+LIMdKbigT+poj27hrPjPgb8JpuRjOHd0wY4Zdf3FP66cjn5sSuthTQLDD
-bVqoFWGAvzbQsEFcmO7WNWWcNqAYaO/lW8usf0tuQxYgkRtXlGxOnxOZB6sVOzV4
-abPf1Timw2PBC2q/zBiAGi7PlzPzaCfey6yRZep5uK7e4AGaG0AzrHAYopH68iJE
-fIAx6x+P33ChueNywrr23ehI+RwDo+qALjwl/LXh2uGEgtSgoJ1RfKGHXAM4l2XR
-JwrabaEPAgMBAAECggEAeeVhPnpA0RA52zChO4gCXA84/UO+vlwj4BVhI/tJvG8w
-qHMM2aaZDlehqSD6vHTZ8aNbj6HLUsKTBmkfqWiJKUoumPWiQ1zvKKcQ7zHoVIyW
-Cejj+9XajI80Xl4xJ9dOHIau5sTLjOYaNeNZg9G8/vKoxJ5BNI4AUqkNvt8tMNzv
-+eNtkBT9PSBL0Nh5eLmK5yuuoH/XmZ32Co8iRdIDPrB3dbkFmV13VPIH5cjVpQod
-cRRB/jPgcRwDi5qdMLDYt8/vr2fYW1/MizvXnS0kXa5iZ4pIvKNsgHtPLnVAMQSN
-mK5fyTYm0lrSB0BPjvZXAZ1ooGNmgTsrJbL0CWB9YQKBgQD1QnuMuoS+y4xjfbnq
-tulGs50sKZFLP6qBRnLkTejckcHarJzLTbvtVuxks2GXzYBIV3dyvNgqk0Is+1Sn
-c6oQE5ksW2B27GVcT8ErtzG3W8pB5utSoGVEf0JMIA4Rc2J97rpsjBbZ+8k1jHkI
-9iAY+s2u8YJ9KieKdW8MrnzJ/wKBgQDr2gilghFGqp/Agi6qDhtGJ7jECJpTDQL1
-qcFeDGSQgCws+27o/sf+e1wcPLcq0LgO8o+SQmXzA3HYxkS5+ShbTDQVcFlx1Fqn
-Gj5no3aG1V/T6IrVNkmdVjULwAnjyW5dEjHdffpHJXrMfKxu+zOy9nTyWui3OXFS
-8vFoTFyI8QKBgQCt3h+wOFn62FoB/hNa7aiaUqLNt/okmlHJq6OvbfvywfHnkA7n
-oYfkTYbwLKq27xxOLJOlZ3LnW9XCBbqRq1GYbAxegbj1FckVlAShdRFtp0jPR2D0
-BnlEAeOCDAdtH5tnI2JNqVJZ3kFaEOeNDs7aZpKBvvx+tu+pHG9JUjltCQKBgDbm
-JrMX5puTZeIyq1gMNo8K+fgvpHSGh9TVMdyJd/Mm0qGZ2URE4hq7bkJoY56EvQNF
-tOOvrvl1KM/zvtWnSJyPzWPcJgXYD03sTvBi3VkfW9IAxChDHbmQ8oIMroCmR5lE
-ffT3uQVMlRv6PU0MDgmvUqODQ746kcVkJYtIkxWRAoGAagwMT9tvXspu+co1kwWs
-d5wCNX/j1vrQceWDMo/x02UDae4qs8yFfrMe8we5sRnT7ZKVVSDt5ew3cnAXUH2t
-m6373eWegHiXIj6RZ/WJMmDLaujoUjL1mUoR+/wTgZPQxfL2oCMkYprzOB7yiFBn
-lDDq9GbaFR4ZBEnVN0vTSkE=
------END PRIVATE KEY-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEoQIBAAKCAQEAs75DjY6fIaqRC/WLwe5ohNH15mswZGz4r3IGOi8eOTDeR6Vs
+9Gwxv9lyzbuL3AM+9zfinjZFATm5DVl6M+8NuKWegF/jX8AT+77TmtqG0unUb4sp
+dUxUNekIZP06bZtQXKwoU2e3ap+nzaZAC8Xx2tJtZCM0wxCruIIxrQTJigInoPE0
+ZXwjR+RxjJ39M6eNuNC4Qv5cVZ6v5Uxr+7IkyVH05ou2OlpOImBewY7W8044sHtl
+MQJqgzA5k8vwrEugYLb1cGdNe08B8odye8QF08haO3AyKfmrrqdDsGUY6VmgObHW
+udanWgIomIOME+QysK+GbdR8ChnZSr0ksBzDhwIBAwKCAQAd9QtCQm/a8cLXU5dK
+/RFreFOmZzK7Z37H6FZfB9pe3XphRjzTZ12f+ZMiSeykqzUpM/saXmDViZ7Xjumz
+UoJJcO/AD/s6oANUn83vJGvN0aNn7Ibo4g4I/CwQ1N8SRI1kx1wN5p6RxUaiRmAB
+9lL5zbzmBd4ggsdJawhHgMxBqr4Uk03OYrDmduTJWcCSGJdqQGgBZ1tfHYc0CDKs
+Ofy+f2tgEVqDqMnTaGkhcoZaJZ9xwgjTyJYoKwvxQBI0bFEtV8bsXXIy9DWlBW9K
+NCl8ttLb4ihEFlKU94rBwWeHSpxZy+YJFvXPfCOcTdaJT9+osyMYN/uC4R8y128Q
+Lx/TAoGBAP31N3Yov3sfCWDfQpjx74qlVslFJenegitpW6q6WB1ZAwpGEQIWjBtw
+GPB8p5Hj0daVYElfgfINO5jWf8tWjQZ8PDVk6Bm33DZSsXLJgBeVRPt3KURl8XG1
+5yNlyWzE6IpKFbB2IjkDLsSuwtf9J84N6UZwO3vTBw6r9RLiBmLPAoGBALUwRetm
+bILCEbP1QODVJHaV9371bE48a1lDv5E3/hr5UmZgEpUN2Xe91Pd8OB7ymqVwjuba
+zPOE8lkVy7gbNLLUbBaBToaRuYnBtWP1CvVSOm2c+fwrgkp68t/AEz74sWvU1MIN
+Kqt56o4/7aze3Sauk21sSRslzA9tu3ds+6HJAoGBAKlOJPlwf6dqBkCU1xChSlxu
+OduDbpvprBzw58cm5WjmAgbZYKwPCBJKu0r9xQvtNo8OQDDqVqFeJ7s5qoePCK79
+fXjt8BElPXmMdkyGVWUOLfz6G4LuoPZ5RMJD253YmwbcDnWkFtCsydh0geVTb96z
+8NmgJ6fiBLRyo2HsBEHfAoGAeMrZR5mdrIFhIqOAleNtpGP6VKOdiX2c5i0qYM/+
+vKY27uq3Dgk7pSk4pP16v0xnGPW0meczTQNMO2PdJWd4dzhIDwDfBGEmW9Z47U4H
+TjbRnmimqB0Bhvyh6oAM1KXLnTiN1rNxx6acXtVJHenoxHRiSPLbZ26ICkknpPNS
+a9sCgYAS00130IW4EJihKSffItSLKYnqxLNgkIm6iTLb0i7xK6dlBu99DDzX6gXv
+jaPfU9OzpnlGEdh7k40TAMU6DZWxleWDMfsy2RLGWDlBKXlFJlHZJ1MegvWpcGZr
+rpRiAKphSsgCoz37JQ/jQEE5bwMOFWjxe9O8aqU4WCL92GEbHA==
+-----END RSA PRIVATE KEY-----
 heredoc;
 }

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 5 - 17
test/TestRefill.php