/**
  * Generate params for http query
  *
  * @param string $type
  * @param array  $params
  *
  * @return array
  * @throws GatewayException
  */
 private function initRequestParams($type, $params)
 {
     $list = self::$customParams;
     if (!isset($list[$type])) {
         throw new GatewayException('Undefined request type');
     }
     $list = $list[$type];
     $requestParams = array();
     foreach ($list as $key) {
         if (!empty($params[$key])) {
             $requestParams[$key] = trim($params[$key]);
         }
     }
     foreach (Config::getAll() as $key => $value) {
         if (in_array($type, array('complete', 'refund')) && in_array($key, array('callbackUrl', 'callbackEmail', 'shopUrl'))) {
             continue;
         }
         $requestParams[$key] = $value;
     }
     $requestParams = $this->convert($requestParams);
     if ($type !== 'callback') {
         $requestParams['time'] = time();
     }
     $requestParams['sign'] = $this->sign($type, $requestParams);
     return $requestParams;
 }