public function query($array)
 {
     $array['nonce'] = intval(time());
     $params = $this->params($array);
     $header = array("X-CASH2VN-KEY: " . $this->apiKey, "X-CASH2VN-PARAMS: " . $params, "X-CASH2VN-SIGNATURE: " . $this->signature($params));
     $curl = curl_init();
     curl_setopt($curl, CURLOPT_URL, $this->url);
     curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
     curl_setopt($curl, CURLOPT_POST, 1);
     curl_setopt($curl, CURLOPT_POSTFIELDS, $array);
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
     $res = curl_exec($curl);
     $res = iconv("UTF-8", "UTF-8//IGNORE", $res);
     $res = cash2vnClient::removeUtf8Bom($res);
     $res = json_decode($res, TRUE);
     $res['error'] ? $this->error = $res['error'] : null;
     return $res;
 }