public function getSoapClient()
 {
     if (is_null($this->soapClient)) {
         $url = $this->getTestMode() ? GopayConfig::TEST_WSDL_URL : GopayConfig::PROD_WSDL_URL;
         $this->soapClient = GopaySoap::createSoapClient($url, $this->getTestMode() ? array('trace' => true) : array());
     }
     return $this->soapClient;
 }
 /**
  * Get the raw data array for this message. The format of this varies from gateway to
  * gateway, but will usually be either an associative array, or a SimpleXMLElement.
  *
  * @throws InvalidRequestException if proper parameters are not set
  * @return mixed
  */
 public function getData()
 {
     $goId = $this->getGoId();
     if (!is_numeric($goId)) {
         throw new InvalidRequestException("goId should be set to a numeric value, was: " . $goId);
     }
     $secureKey = $this->getSecureKey();
     if (!is_string($secureKey)) {
         throw new InvalidRequestException("secureKey should be set to a string value, was: " . $secureKey);
     }
     return GopaySoap::createPaymentCommand($goId, $this->getDescription(), $this->getAmountInteger(), $this->getCurrency(), $this->getTransactionId(), $this->getReturnUrl(), $this->getCancelUrl(), false, false, null, null, null, null, '', $secureKey, $this->getCard()->getFirstName(), $this->getCard()->getLastName(), $this->getCard()->getBillingCity(), $this->getCard()->getBillingAddress1(), $this->getCard()->getBillingPostcode(), null, $this->getCard()->getEmail(), $this->getCard()->getPhone(), null, null, null, null, null);
 }
 /**
  * Vytvoreni standardni platby
  *
  * @param float $targetGoId - identifikator prijemce - GoId
  * @param string $productName - popis objednavky zobrazujici se na platebni brane
  * @param int $totalPriceInCents - celkova cena objednavky v halerich
  * @param string $currency - mena, ve ktere platba probiha
  * @param string $orderNumber - 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 $paymentChannels - pole platebnich kanalu, ktere se zobrazi na platebni brane
  * @param string $defaultPaymentChannel - platebni kanal, ktery se zobrazi (predvybere) na platebni brane po presmerovani
  * @param string $secureKey - kryptovaci klic prideleny prijemci
  *
  * Informace o zakaznikovi
  * @param string $firstName - Jmeno zakaznika
  * @param string $lastName - Prijmeni
  *
  * Adresa
  * @param string $city - Mesto
  * @param string $street - Ulice
  * @param string $postalCode - PSC
  * @param string $countryCode - Kod zeme. Validni kody jsou uvedeny ve tride CountryCode
  * @param string $email - Email zakaznika
  * @param string $phoneNumber - Tel. cislo
  *
  * @param string $p1 - volitelny parametr (max. 128 znaku).
  * @param string $p2 - volitelny parametr (max. 128 znaku).
  * @param string $p3 - volitelny parametr (max. 128 znaku).
  * @param string $p4 - volitelny parametr (max. 128 znaku).
  * @param string $lang - jazyk plat. brany
  * Parametry jsou vraceny v nezmenene podobe jako soucast volani dotazu na stav platby $paymentStatus (viz metoda isPaymentDone)
  *
  * @return float paymentSessionId
  */
 public static function createPayment($targetGoId, $productName, $totalPriceInCents, $currency, $orderNumber, $successURL, $failedURL, $paymentChannels, $defaultPaymentChannel, $secureKey, $firstName, $lastName, $city, $street, $postalCode, $countryCode, $email, $phoneNumber, $p1, $p2, $p3, $p4, $lang)
 {
     return GopaySoap::createBasePayment($targetGoId, $productName, $totalPriceInCents, $currency, $orderNumber, $successURL, $failedURL, false, false, null, null, null, $paymentChannels, $defaultPaymentChannel, $secureKey, $firstName, $lastName, $city, $street, $postalCode, $countryCode, $email, $phoneNumber, $p1, $p2, $p3, $p4, $lang);
 }