/**
  * 
  * @param PaymentButton $button
  * @return string
  */
 public function generateHash(array $params)
 {
     $hashParams = array('merchant_id' => $this->client->getMerchantId(), 'amount' => $params['amount'], 'descr' => $params['descr']);
     if (isset($params['order_id'])) {
         $hashParams['order_id'] = $params['order_id'];
     }
     if (isset($params['product_id'])) {
         $hashParams['product_id'] = $params['product_id'];
     }
     if (isset($params['user_id'])) {
         $hashParams['user_id'] = $params['user_id'];
     }
     if (isset($params['url'])) {
         $hashParams['url'] = $params['url'];
     }
     if (isset($params['restricted'])) {
         $hashParams['restricted'] = (int) (bool) $params['restricted'];
     }
     $hashParams['time'] = $params['time'];
     return $this->client->generateHashRequest(array_values($hashParams));
 }