protected internal override void stageExecute(SalePostContext context) { SaleRepo.SaleBuilder builder = context.saleBuild(); SalePostRequest request = context.Request; AcceptorDetail defaultAcceptorDetail = builder.Terminal.DefaultAcceptorDetail; AcceptorDetail dynamicAcceptor; if (request.hasDynamicAcceptor()) { // So we have dynamic acceptor details provided, try to use. dynamicAcceptor = _acceptorUtil.obtainExplicitAcceptor(builder.Terminal, request.getDynamicAcceptorName(), request.getDynamicAcceptorStreet(), request.getDynamicAcceptorCity(), request.getDynamicAcceptorState(), request.getDynamicAcceptorPostalCode(), request.getDynamicAcceptorCustomerServicePhone(), request.getDynamicAcceptorSubMerchantId(), defaultAcceptorDetail.CustomerServiceEmail); if (dynamicAcceptor != null) { //Logger.info("Dynamic Acceptor associated: " + dynamicAcceptor); builder.ExplictAcceptor = dynamicAcceptor; } else { //Logger.warn("Ignoring supplied Dynamic Acceptor"); } } else { //Logger.warn("No Dynamic Acceptor - doing nothing"); } nextStg(context); }
public override void stageExecute(SalePostContext context) { SaleRepo.SaleBuilder builder = context.saleBuild(); PANRange binRange = builder.getCard().getPANRange(); Scheme scheme = schemeCheck.getSchemeFromPanRange(binRange); if ((binRange == null) || (scheme == null)) { // TODO: Throw exception rather than this? context.Response.ResponseCode = ResponseCode.NO_BIN_FOR_CARD_NUMBER; return; } else { //Logger.info("Scheme: " + scheme.AuthScheme); context.Scheme = scheme; } CardDate cardExpiryDate = builder.Card.ExpiryDate; if (cardExpiryDate == null) { //Logger.warn("Card expiry date is outside of maximum limit"); context.Response.ResponseCode = ResponseCode.CARD_EXPIRY_DATE_INVALID; return; } nextStage(context); }
public virtual void setSaleBuilder(SaleRepo.SaleBuilder builder) { if (saleBuilder != null) { throw new Exception("Attempt to set builder twice"); } saleBuilder = builder; }
protected internal override void stageExecute(SalePostContext context) { SaleRepo.SaleBuilder builder = context.saleBuild(); SalePostRequest request = context.Request; string softDescriptor = request.getSoftDescriptor(); if (!string.ReferenceEquals(softDescriptor, null)) { //Logger.info("Setting Soft Desciptor on Sale: " + softDescriptor); builder.SoftDescriptor = softDescriptor; } nextStg(context); }
protected internal override void stageExecute(SalePostContext context) { SaleRepo.SaleBuilder saleBuilder = context.saleBuild(); SalePostRequest request = context.Request; if (String.IsNullOrEmpty(request.getAuthMode().ToString())) { //Logger.info("Setting Sale auth mode to default:" + defaultAuthMode); //saleBuilder.AuthMode = DefaultAuthMode; saleBuilder.AuthMode = AuthMode.FINAL; } else { //Logger.info("Setting Sale auth mode to:" + request.AuthMode); saleBuilder.AuthMode = request.getAuthMode(); } nextStg(context); }
public override void stageExecute(SalePostContext context) { SalePostResponse response = context.Response; SaleRepo.SaleBuilder saleBuilder = context.saleBuild(); PANRange binRange = null; Card card = saleBuilder.Card; ResponseCode?failureResponseCode = null;; if (card != null) { binRange = card.PANRange; } if (binRange != null) { Terminal terminal = saleBuilder.Terminal; if (terminal != null) { failureResponseCode = checkSchemeFundsRecipient(binRange, terminal, saleBuilder.FundsRecipient, binRange.Scheme, saleBuilder.DebtRepayFlag); } else { //Logger.warn("Sale doesn't have associated terminal = " + "Cannot perform Funds recipient check"); } } else { //Logger.info("Not performing FundsRecipient check - Not a VISA/Mastercard card"); } //nextStage(context); if (failureResponseCode.HasValue) { response.ResponseCode = (ResponseCode)failureResponseCode; } else { nextStage(context); } }
public override void stageExecute(SalePostContext context) { bool isDebtRepayTrans; ResponseCode errorCode; SaleRepo.SaleBuilder saleBuilder = context.saleBuild(); Card card = saleBuilder.Card; bool debtRepaymentProfileFlag = context.Request.getDebtRepayFlag(); Terminal terminal = saleBuilder.Terminal; errorCode = debtRepaymentSetUpUtility.checkDebtRepayFlag(card, debtRepaymentProfileFlag, terminal); isDebtRepayTrans = debtRepaymentSetUpUtility.isDebtRepaymentTrans(card, terminal, debtRepaymentProfileFlag); if (errorCode != null) { context.Response.ResponseCode = errorCode; } else { //Logger.info("Setting debt repayment flag: " + isDebtRepayTrans); saleBuilder.DebtRepayFlag = isDebtRepayTrans; nextStage(context); } }
//public SalePostSetupContext(SalePostFailedSaleCreation nxt) : base(nxt) //{ // _nextStage = nxt; //} //public override void Invoke(SalePostContext context) //{ // SaleRepo.SaleBuilder builder = _saleRepo.initialSaleBuilder(); // context.SaleBuilder = (SaleRepo)builder; // _next.Invoke(context); //} protected internal override void stageExecute(SalePostContext context) { SaleRepo.SaleBuilder builder = _saleRepo.initialSaleBuilder(); context.SaleBuilder = (SaleRepo)builder; nextStg(context); }
public override void stageExecute(SalePostContext context) { SaleRepo.SaleBuilder builder = saleRepo.initialSaleBuilder(); context.SaleBuilder = (SaleRepo)builder; nextStage(context); }