req_params($card_no,$amount,$order_sn); $params['sign'] = $this->sign($params); $resp = http_request(config::ORDER_URL,$params,'POST'); if (empty($resp)) { return [false,'系统错误',true]; } else { Log::record($resp,Log::DEBUG); $resp = json_decode($resp,true); if (empty($resp)) { return [false, '系统错误', true]; } elseif ($resp['code'] == 200 && $resp['result'] == 'success') { return [true, '', false]; } else { return [false, $resp['info'], false]; } } } public function query($refill_info) { $params['pay_orderid'] = $refill_info['order_sn']; $params['pay_memberid'] = config::NUMBER_ID; $sign = $this->sign($params, true); $params['sign'] = $sign; $resp = http_request(config::QUERY_ORDER_URL, $params, 'POST'); if (empty($resp)) { return [false, '系统错误']; } else { Log::record($resp, Log::DEBUG); $resp = json_decode($resp, true); if (empty($resp)) { return [false, '系统错误']; } $status = $resp['data']['status']; if ($status == 1) { $order_state = ORDER_STATE_SUCCESS; $save['official_sn'] = $resp['data']['wt_orderid']; Model('refill_order')->edit($refill_info['order_id'], $save); } elseif ($status == 0) { $order_state = ORDER_STATE_CANCEL; } elseif ($status == 2) { $order_state = ORDER_STATE_SEND; } else { return [false, $resp['info']]; } return [true, $order_state]; } } private function sign($params , $encrypt = false) { ksort($params); $content = ''; foreach ($params as $key => $val){ $content .= "{$key}={$val}&"; } if($encrypt){ $content = md5($content); } $str = $content . config::KEY; return md5($str); } }