static function existeOrdenCompra($cdOrdenCompra) { $retorno = false; $db = fnConexion(); $query = " select glSessionId\n from WP_TRANSACCION \n where cdOrdenCompra = ?\n and cdRespTbk = 0;"; try { $stmt = $db->prepare($query); $stmt->bind_param("s", $cdOrdenCompra); if ($stmt->execute()) { $stmt->bind_result($glSessionId); if ($stmt->fetch()) { $retorno = true; } } else { ClassNegocio::throwException("Error tratando de ejecutar la validación."); } } catch (Exception $e) { ClassNegocio::throwException($e->getMessage()); } return $retorno; }
$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);