$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);
static function throwPagada() { $request = new Request(); $request->forward("http://" . SITIO_CERT . "/webTrxPagada.php"); }
$tbk_orden_compra = isset($transactionResultOutput->buyOrder) ? $transactionResultOutput->buyOrder : ""; #Persistir la respuesta en el comercio $resp = ClassNegocio::setWPTransaction(isset($transactionResultOutput->sessionId) ? $transactionResultOutput->sessionId : "", isset($transactionResultOutput->buyOrder) ? $transactionResultOutput->buyOrder : "", "TR_NORMAL_WS", isset($detailOutput->responseCode) ? $detailOutput->responseCode : "", isset($detailOutput->authorizationCode) ? $detailOutput->authorizationCode : "", isset($detailOutput->amount) ? $detailOutput->amount : "", isset($cardDetail->cardNumber) ? $cardDetail->cardNumber : "", isset($transactionResultOutput->accountingDate) ? $transactionResultOutput->accountingDate : "", isset($transactionResultOutput->transactionDate) ? $transactionResultOutput->transactionDate : "", isset($detailOutput->paymentTypeCode) ? $detailOutput->paymentTypeCode : "", isset($detailOutput->sharesNumber) ? $detailOutput->sharesNumber : ""); if (!$resp) { ClassNegocio::throwException("Resp = FALSE, em método setTransaction."); } # Método de aknoulesh $acknowledgeTransaction = new acknowledgeTransaction(); $acknowledgeTransaction->tokenInput = $_REQUEST['token_ws']; try { $acknowledgeTransactionResponse = $webpayService->acknowledgeTransaction($acknowledgeTransaction); } catch (SoapFault $exception) { ClassNegocio::throwException($exception); die; } # Valida resultado 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; } $url = $transactionResultOutput->urlRedirection; $request = new Request(); $params = array("token_ws" => $_REQUEST['token_ws']); $request->setParams($params); $request->forward($transactionResultOutput->urlRedirection);