Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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");
            }
        }
Ejemplo n.º 3
0
        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;
                }
            }
        }