|
@@ -1,8 +1,8 @@
|
|
<?php
|
|
<?php
|
|
|
|
|
|
-namespace refill\app;
|
|
|
|
|
|
+namespace refill\sctongqian;
|
|
|
|
|
|
-require_once(BASE_HELPER_RAPI_PATH . '/app/config.php');
|
|
|
|
|
|
+require_once(BASE_HELPER_RAPI_PATH . '/sctongqian/config.php');
|
|
|
|
|
|
use refill;
|
|
use refill;
|
|
use Log;
|
|
use Log;
|
|
@@ -79,7 +79,7 @@ class RefillPhone extends refill\IRefillPhone
|
|
$product_code = $params['product_code'];
|
|
$product_code = $params['product_code'];
|
|
$params = $this->req_params($order_sn,$product_code);
|
|
$params = $this->req_params($order_sn,$product_code);
|
|
|
|
|
|
- $params['PublicKey'] = $this->CT_RSA($params['order_id']);
|
|
|
|
|
|
+ $params['PublicKey'] = config::PUBLIC_KEY;
|
|
|
|
|
|
$sign = $this->sign($params);
|
|
$sign = $this->sign($params);
|
|
$params['Sign'] = $sign;
|
|
$params['Sign'] = $sign;
|
|
@@ -103,31 +103,6 @@ class RefillPhone extends refill\IRefillPhone
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private function CT_RSA($order_id)
|
|
|
|
- {
|
|
|
|
- //创建公私钥
|
|
|
|
- $res = openssl_pkey_new();
|
|
|
|
- //获取私钥
|
|
|
|
- openssl_pkey_export($res, $private_key);
|
|
|
|
- //获取公钥
|
|
|
|
- $public_key = openssl_pkey_get_details($res)['key'];
|
|
|
|
-
|
|
|
|
- $rsa = [
|
|
|
|
- 'public_key' => $public_key,
|
|
|
|
- 'private_key' => $private_key,
|
|
|
|
- ];
|
|
|
|
-
|
|
|
|
- $rsa_json = json_encode($rsa);
|
|
|
|
- Log::record("rsa info : {$rsa_json}");
|
|
|
|
-
|
|
|
|
- //公钥私钥与订单绑定,加rsa字段
|
|
|
|
- $updata['public_key'] = $public_key;
|
|
|
|
- $updata['private_key'] = $private_key;
|
|
|
|
- Model('refill_order')->edit($order_id, $updata);
|
|
|
|
-
|
|
|
|
- return $public_key;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
public function query($refill_info)
|
|
public function query($refill_info)
|
|
{
|
|
{
|
|
$params['AppKey'] = config::APP_KEY;
|
|
$params['AppKey'] = config::APP_KEY;
|
|
@@ -153,15 +128,13 @@ class RefillPhone extends refill\IRefillPhone
|
|
elseif ($resp['Code'] == 999)
|
|
elseif ($resp['Code'] == 999)
|
|
{
|
|
{
|
|
$status = intval($resp['Data']['OrderState']);
|
|
$status = intval($resp['Data']['OrderState']);
|
|
- $card_data = [];
|
|
|
|
|
|
+ $result = [];
|
|
if ($status === 2) {
|
|
if ($status === 2) {
|
|
if(!empty($resp['Data']['CardData'])) {
|
|
if(!empty($resp['Data']['CardData'])) {
|
|
- $private_key = $refill_info['private_key'];
|
|
|
|
- $cards = $this->rsa_decode($resp['Data']['CardData'],$private_key);
|
|
|
|
-
|
|
|
|
- $card_data = [];
|
|
|
|
|
|
+ $cards = $this->rsa_decode($resp['Data']['CardData']);
|
|
|
|
+ $cards = json_decode($cards, true);
|
|
foreach ($cards as $card) {
|
|
foreach ($cards as $card) {
|
|
- $card_data[] = json_decode($card, true);
|
|
|
|
|
|
+ $result[] = $card;
|
|
}
|
|
}
|
|
//需返回卡密信息
|
|
//需返回卡密信息
|
|
}
|
|
}
|
|
@@ -171,9 +144,9 @@ class RefillPhone extends refill\IRefillPhone
|
|
} elseif (in_array($status, [1,4])) {
|
|
} elseif (in_array($status, [1,4])) {
|
|
$order_state = ORDER_STATE_SEND;
|
|
$order_state = ORDER_STATE_SEND;
|
|
} else {
|
|
} else {
|
|
- return [false, $resp['Message'], $card_data];
|
|
|
|
|
|
+ return [false, $resp['Message'], $result];
|
|
}
|
|
}
|
|
- return [true, $order_state, $card_data];
|
|
|
|
|
|
+ return [true, $order_state, $result];
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -182,11 +155,11 @@ class RefillPhone extends refill\IRefillPhone
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- 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;
|
|
return $decrypted;
|
|
}
|
|
}
|
|
|
|
|