/** * Zruseni predautorizovani plateb * * @param float $paymentSessionId - identifikator platby * @param float $targetGoId - identifikator prijemnce - GoId * @param string $secureKey - kryptovaci klic prideleny GoPay * @throws \Exception */ public function voidAuthorization($paymentSessionId, $targetGoId, $secureKey) { try { //inicializace WS $go_client = self::createSoapClient(); $sessionEncryptedSignature = GopayHelper::getPaymentSessionSignature($targetGoId, $paymentSessionId, $secureKey); $paymentSession = array("targetGoId" => (double) $targetGoId, "paymentSessionId" => (double) $paymentSessionId, "encryptedSignature" => $sessionEncryptedSignature); $paymentResult = $go_client->__call('voidAuthorization', array('sessionInfo' => $paymentSession)); if ($paymentResult->result == GopayHelper::CALL_RESULT_FAILED) { throw new Exception("voided autorization failed [" . $paymentResult->resultDescription . "]"); } else { if ($paymentResult->result == GopayHelper::CALL_RESULT_ACCEPTED) { //zruseni predautorizace platby bylo zarazeno ke zpracovani throw new Exception(GopayHelper::CALL_RESULT_ACCEPTED); } } //Overeni podpisu GopayHelper::checkPaymentResult($paymentResult->paymentSessionId, $paymentResult->encryptedSignature, $paymentResult->result, $paymentSessionId, $secureKey); } catch (SoapFault $f) { /* * Chyba v komunikaci s GoPay serverem */ throw new Exception("SOAP error"); } }