protected internal override void stageExecute(SalePostContext context) { Sale dispatchSale = context.getSale(); Scheme dispatchScheme; SchemeAuthorisationResultOrResponse schemeAuthResultOrResp; dispatchScheme = context.getScheme(); //Logger.info("Dispatching sale: " + dispatchSale.Id + " to scheme: " + dispatchScheme.AuthScheme); schemeAuthResultOrResp = dispatchScheme.authoriseSale(dispatchSale, null); context.responseBuilder().AuthorisationResult.SchemeAuthCode = schemeAuthResultOrResp.AuthResult.SchemeAuthCode; context.responseBuilder().ResponseCode = schemeAuthResultOrResp.ResponseCode; }
protected internal override void stageExecute(SalePostContext context) { string arn; SaleRepo.SaleAuthorisationResponseBuilder saleRespBuilder; Sale builtSale; nextStg(context); saleRespBuilder = context.responseBuilder(); builtSale = context.getSale(); //arn = arnGenerator.generateARN(saleRespBuilder.ResponseCode, builtSale.Terminal.BID, saleRespBuilder.AuthScheme, builtSale.Timestamp, Action.APPROVE); arn = null; if (!string.ReferenceEquals(arn, null)) { saleRespBuilder.ARN = arn; } else { //Logger.info("No ARN generated for Sale"); } }
public override void stageExecute(SalePostContext context) { CostDesignatorParameters costDesignatorParameters = null; SchemeAuthorisationResult schemeAuthResult; SaleRepo.SaleAuthorisationResponseBuilder respBuilder; nextStage(context); respBuilder = context.responseBuilder(); schemeAuthResult = respBuilder.AuthorisationResult; //Check the scheme response(if an exception is thrown, let it ripple through //if ((schemeAuthResult == null) || (respBuilder.ResponseCode.Action != core_develop.cashflows.core.authorisation.Action.APPROVE)) if ((schemeAuthResult == null)) { //Logger.debug("Auth request not approved, or no scheme response, " + "so no cost parameters will be calculated"); } else { try { costDesignatorParameters = costingUtility.determineParameters(schemeAuthResult, respBuilder.AuthScheme, context.getSale()); if (costDesignatorParameters == null) { //Logger.warn("Could not determine cost descriptor parameters."); // Setting this response code means the 'open' sale will not be removed, // and therefore the next reversal job will reverseSaleAuthorisation the // authorisation previously sent respBuilder.ResponseCode = ResponseCode.COULD_NOT_DETERMINE_COST; } else { respBuilder.CostDesignatorParameters = costDesignatorParameters; } } //catch (CostingTerminalConfigurationException cte) catch (Exception) { //Logger.warn("Terminal miscofiguration", cte); respBuilder.ResponseCode = ResponseCode.TXN_TERMINAL_CONFIG_MISMATCH; } } }