|
@@ -17,58 +17,73 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
|
|
|
private function req_params(int $phone, int $amount, string $order_sn)
|
|
|
{
|
|
|
- $params['merchantId'] = config::MCHID;
|
|
|
- $params['orderType'] = 1;
|
|
|
- $params['mobile'] = $phone;
|
|
|
- $params['tradeNoThird'] = $order_sn;
|
|
|
- $params['amount'] = sprintf("%.2f" , $amount);
|
|
|
- $params['notifyUrl'] = config::NOTIFY_URL;
|
|
|
-
|
|
|
+ $params['usr'] = config::USR;
|
|
|
+ $params['mob'] = $phone;
|
|
|
+ $params['amt'] = $amount;
|
|
|
+ $params['ord'] = $order_sn;
|
|
|
+ $params['tim'] = date("YmdHis");
|
|
|
+ $params['yysid'] = 0;
|
|
|
+ $params['hmlx'] = 0;
|
|
|
return $params;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public function add($card_no, $card_type, $amount, $params)
|
|
|
{
|
|
|
- $params = $this->req_params($card_no, $amount, $params['order_sn']);
|
|
|
+ $order_sn = $params['order_sn'];
|
|
|
+ $params = $this->req_params($card_no,$amount,$order_sn);
|
|
|
$sign = $this->sign($params);
|
|
|
- $params['signstr'] = $sign;
|
|
|
+ $params['sgn'] = $sign;
|
|
|
+ $resp = http_request(config::PAY_PHONE_URL,$params,'GET');
|
|
|
+ if($resp === false) {
|
|
|
+ return [false,'系统错误',true];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Log::record($resp,Log::DEBUG);
|
|
|
+ $resp = ltrim($resp , '|');
|
|
|
|
|
|
- $resp = http_request(config::ORDER_URL, $params , 'POST' , false , config::ExtHeaders);
|
|
|
- if ($resp === false) {
|
|
|
- return [false, '系统错误', true];
|
|
|
- } else {
|
|
|
- Log::record($resp, Log::DEBUG);
|
|
|
- $resp = json_decode($resp, true);
|
|
|
- if ($resp['code'] == 200) {
|
|
|
- return [true, $resp['body']['tradeNoSelf'], false];
|
|
|
- } else {
|
|
|
- return [false, $resp['msg'], false];
|
|
|
+ $resp = explode('|' , $resp);
|
|
|
+ if(count($resp) != 3) {
|
|
|
+ return [false,'返回值错误', false];
|
|
|
+ }
|
|
|
+ elseif($resp[0] == 0) {
|
|
|
+ return [true,'', false];
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return [false,$resp[1], false];
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function query($refill_info)
|
|
|
{
|
|
|
- $params['merchantId'] = config::MCHID;
|
|
|
- $params['tradeNoThird'] = $refill_info['order_sn'];
|
|
|
- $content = $params['merchantId'] . $params['tradeNoThird'] . config::KEY;
|
|
|
- $params['signstr'] = md5($content);
|
|
|
- $resp = http_request(config::QUERY_URL, $params , 'GET' , false);
|
|
|
- if ($resp === false) {
|
|
|
- return [false, '系统错误'];
|
|
|
- } else {
|
|
|
- Log::record($resp, Log::DEBUG);
|
|
|
- $resp = json_decode($resp, true);
|
|
|
+ $params['ord'] = $refill_info['order_sn'];
|
|
|
+ $params['usr'] = config::USR;
|
|
|
+ $content = $params['usr'] . $params['ord'] . config::KEY;
|
|
|
+ $params['sgn'] = strtoupper(md5($content));
|
|
|
+ $resp = http_request(config::QUERY_URL,$params);
|
|
|
+ if($resp === false) {
|
|
|
+ return [false,'系统错误'];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Log::record($resp,Log::DEBUG);
|
|
|
+ $resp = ltrim($resp , '|');
|
|
|
+ $resp = explode('|' , $resp);
|
|
|
+ if(count($resp) != 3) {
|
|
|
+ return [false,'返回值错误'];
|
|
|
+ }
|
|
|
$order_state = -1;
|
|
|
- if ($resp['code'] == 200) {
|
|
|
+ if ($resp[0] == 1) {
|
|
|
$order_state = ORDER_STATE_SUCCESS;
|
|
|
- } elseif ($resp['code'] == 604) {
|
|
|
+ } elseif ($resp[0] == 2) {
|
|
|
$order_state = ORDER_STATE_CANCEL;
|
|
|
- } elseif ($resp['code'] == 603){
|
|
|
+ } elseif ($resp[0] == 0){
|
|
|
$order_state = ORDER_STATE_SEND;
|
|
|
}
|
|
|
if ($order_state == -1) {
|
|
|
- return [false, $resp['msg']];
|
|
|
+ return [false, $resp[0]];
|
|
|
}
|
|
|
return [true, $order_state];
|
|
|
}
|
|
@@ -77,7 +92,7 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
private function sign($params)
|
|
|
{
|
|
|
$key = config::KEY;
|
|
|
- $content = $params['merchantId'] . $params['orderType'] . $params['mobile'] . $params['tradeNoThird'] . $params['amount'] . $params['notifyUrl'] . $key;
|
|
|
- return md5($content);
|
|
|
+ $content = $params['usr'] . $params['ord'] . $params['mob'] . $params['amt'] . $params['tim'] . $key;
|
|
|
+ return strtoupper(md5($content));
|
|
|
}
|
|
|
}
|