/**
  * Vytvoreni platby uzivatele pomoci WS
  *
  * @param long $buyerGoId - identifikator uzivatele - GoId
  * @param string $productName - popis objednavky zobrazujici se na platebni brane
  * @param int $totalPriceInCents - celkova cena objednavky v halerich
  * @param string $variableSymbol - identifikator objednavky
  * @param string $successURL - URL stranky, kam je zakaznik presmerovan po uspesnem zaplaceni
  * @param string $failedURL - URL stranky, kam je zakaznik presmerovan po zruseni platby / neuspesnem zaplaceni
  * @param string $secret - kryptovaci heslo pridelene uzivateli
  *
  * @return paymentSessionId
  * @return -1 vytvoreni platby neprobehlo uspesne
  * @return -2 chyba komunikace WS
  */
 public static function createBuyerPayment($buyerGoId, $productName, $totalPriceInCents, $variableSymbol, $successURL, $failedURL, $secret)
 {
     try {
         ini_set("soap.wsdl_cache_enabled", "0");
         $go_client = new SoapClient(GopayConfig::ws(), array());
         /*
          * Sestaveni pozadavku pro zalozeni platby
          */
         $encryptedSignature = GopayHelper::encrypt(GopayHelper::hash(GopayHelper::concatPaymentCommand((double) $buyerGoId, $productName, (int) $totalPriceInCents, $variableSymbol, $failedURL, $successURL, $secret)), $secret);
         $payment_command = array("buyerGoId" => (double) $buyerGoId, "productName" => trim($productName), "totalPrice" => (int) $totalPriceInCents, "variableSymbol" => trim($variableSymbol), "successURL" => trim($successURL), "failedURL" => trim($failedURL), "encryptedSignature" => $encryptedSignature);
         /*
          * Vytvareni platby na strane GoPay prostrednictvim WS
          */
         $payment_status = $go_client->__call('createPaymentSession', array('paymentCommand' => $payment_command));
         /*
          * Kontrola stavu platby - musi byt ve stavu WAITING, kontrola parametru platby
          */
         if (GopayHelper::checkBuyerPaymentResult($payment_status, 'WAITING', (double) $buyerGoId, $variableSymbol, (int) $totalPriceInCents, $productName, $secret)) {
             return $payment_status->paymentSessionId;
         } else {
             /*
              * Chyba pri vytvareni platby
              */
             return -1;
         }
     } catch (SoapFault $f) {
         /*
          * Chyba pri komunikaci s WS
          */
         return -2;
     }
 }