|
@@ -14,32 +14,14 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
parent::__construct($cfgs);
|
|
|
}
|
|
|
|
|
|
- private function url_request($params, $action)
|
|
|
+ private function pack_params($params)
|
|
|
{
|
|
|
- $params['action'] = $action;
|
|
|
- $sign = $this->sign($params);
|
|
|
-
|
|
|
- $req['sign'] = $sign;
|
|
|
- $req['agentAccount'] = config::ACCOUNT;
|
|
|
- $req['busiBody'] = $params;
|
|
|
- $req = json_encode($req);
|
|
|
-
|
|
|
- $url = config::API_URL;
|
|
|
- $resp = http_post_data($url, $req, config::ExtHeaders);
|
|
|
- return iconv('GB2312', 'UTF-8', $resp);
|
|
|
- }
|
|
|
+ $json_str = json_encode($params);
|
|
|
+ $content = $json_str . config::KEY;
|
|
|
+ $content = md5($content);
|
|
|
|
|
|
- private function req_params(int $phone,int $amount, string $order_sn)
|
|
|
- {
|
|
|
- $params['orderId'] = $order_sn;
|
|
|
- $params['chargeAcct'] = $phone;
|
|
|
- $params['chargeCash'] = $amount;
|
|
|
- $params['chargeType'] = 0;
|
|
|
- $params['retUrl'] = urlencode(config::NOTIFY_URL);
|
|
|
- $params['action'] = 'CZ';
|
|
|
-
|
|
|
- $sign = $this->sign($params);
|
|
|
- $req['sign'] = $sign;
|
|
|
+ $req = [];
|
|
|
+ $req['sign'] = $content;
|
|
|
$req['agentAccount'] = config::ACCOUNT;
|
|
|
$req['busiBody'] = $params;
|
|
|
return json_encode($req);
|
|
@@ -47,10 +29,24 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
|
|
|
public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
|
|
|
{
|
|
|
- $req = $this->req_params($card_no, $amount, $params['order_sn']);
|
|
|
-
|
|
|
- $resp = http_post_data(config::API_URL, $req, config::ExtHeaders, $net_errno);
|
|
|
+ $params_getter = function ($order_sn,$phone,$amount) {
|
|
|
+ $params = [];
|
|
|
+ $params['orderId'] = $order_sn;
|
|
|
+ $params['chargeAcct'] = $phone;
|
|
|
+ $params['chargeCash'] = $amount;
|
|
|
+ $params['chargeType'] = 0;
|
|
|
+ $params['retUrl'] = urlencode(config::NOTIFY_URL);
|
|
|
+ $params['action'] = 'CZ';
|
|
|
+
|
|
|
+ return $params;
|
|
|
+ };
|
|
|
+
|
|
|
+ $params = $params_getter($params['order_sn'], $card_no, $amount);
|
|
|
+ $body = $this->pack_params($params);
|
|
|
+
|
|
|
+ $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
|
|
|
$resp = iconv('GB2312', 'UTF-8', $resp);
|
|
|
+
|
|
|
if (empty($resp)) {
|
|
|
return [false, '系统错误', true];
|
|
|
}
|
|
@@ -73,8 +69,17 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
|
|
|
public function query($refill_info)
|
|
|
{
|
|
|
- $params['orderId'] = $refill_info['order_sn'];
|
|
|
- $resp = $this->url_request($params,'CX');
|
|
|
+ $params_getter = function ($order_sn) {
|
|
|
+ $params = [];
|
|
|
+ $params['orderId'] = $order_sn;
|
|
|
+ $params['action'] = 'CX';
|
|
|
+ return $params;
|
|
|
+ };
|
|
|
+
|
|
|
+ $params = $params_getter($refill_info['order_sn']);
|
|
|
+ $body = $this->pack_params($params);
|
|
|
+ $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
|
|
|
+ $resp = iconv('GB2312', 'UTF-8', $resp);
|
|
|
|
|
|
if (empty($resp)) {
|
|
|
return [false, '系统错误'];
|
|
@@ -108,7 +113,16 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
|
|
|
public function balance()
|
|
|
{
|
|
|
- $resp = $this->url_request([],'YE');
|
|
|
+ $params_getter = function () {
|
|
|
+ $params['action'] = 'YE';
|
|
|
+ return $params;
|
|
|
+ };
|
|
|
+
|
|
|
+ $params = $params_getter();
|
|
|
+ $body = $this->pack_params($params);
|
|
|
+
|
|
|
+ $resp = http_post_data(config::API_URL, $body, config::ExtHeaders, $net_errno);
|
|
|
+ $resp = iconv('GB2312', 'UTF-8', $resp);
|
|
|
|
|
|
if (empty($resp)) {
|
|
|
return [false, '系统错误'];
|
|
@@ -127,11 +141,4 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- private function sign($params)
|
|
|
- {
|
|
|
- $json_str = json_encode($params);
|
|
|
- $content = $json_str . config::KEY;
|
|
|
- return md5($content);
|
|
|
- }
|
|
|
}
|