static function throwException($ex) { ClassNegocio::writelog($ex); #En caso de alguna excecpción , redirige a la página de fracaso $request = new Request(); $request->forward("http://" . SITIO_CERT . "/webTrxFracaso.php"); }
$wsTransactionDetail->buyOrder = $buyOrder; $wsTransactionDetail->amount = $amount; //$wsTransactionDetail->sharesNumber = $shareNumber; //$wsTransactionDetail->sharesAmount = $shareAmount; $wsInitTransactionInput->transactionDetails = $wsTransactionDetail; #Instancia la clase que comunica con el webservice tbk $webpayService = new WsTiendaNormal(); #echo "<pre>";print_r($wsInitTransactionInput);echo "</pre>";die(); #Trata de ejecutar el método try { $initTransactionResponse = $webpayService->initTransaction(array("wsInitTransactionInput" => $wsInitTransactionInput)); } catch (SoapFault $exception) { ClassNegocio::throwException($exception); die; } #Obtiene la respuesta y la válida con el certificado público de Tbk $xmlResponse = $webpayService->soapClient->__getLastResponse(); $soapValidation = new SoapValidation($xmlResponse, SERVER_CERT); $validationResult = $soapValidation->getValidationResult(); if (!$validationResult) { # Si la respuesta no es válida, fracaso. $exception = "Error en Init Trx , la respuesta no es válida."; ClassNegocio::throwException($exception); die; } # Si la respuesta es válida hace un POST a la url que retorna el metodo con el token indicado $wsInitTransactionOutput = $initTransactionResponse->return; $request = new Request(); $params = array("token_ws" => $wsInitTransactionOutput->token); $request->setParams($params); $request->forward($wsInitTransactionOutput->url);