Ejemplo n.º 1
0
        public TransactionModel AuthorizationRequest(TransactionModel atm)
        {
            using (var proxy = _proxyClient)
            {
                proxy.Connect();
                TranTritonNodeRequestDto req = new TranTritonNodeRequestDto
                                               (
                    atm.TerminalId,
                    atm.TransactionCode,
                    atm.Amount1,
                    atm.Amount2,
                    atm.Track2,
                    atm.PinBlock,
                    atm.TranSeqNo,
                    atm.MiscellaneousX,
                    atm.PosCondCode
                                               );

                _log.Debug("Sending Request to Core Node: " + req);
                TranCoreNodeResponseDto responseDto = proxy.ServiceProxy.RequestTransaction(req); // Send to CoreNode
                _log.Debug("Recieved Response from Core Node: " + responseDto);

                atm.AuthorizationCode   = responseDto.ResponseCode;
                atm.AuthorizationDesc   = responseDto.ResponseDescription;
                atm.AuthorizationAction = responseDto.ResponseAction;

                atm.TranSeqNo        = responseDto.TranSeqNo;
                atm.Balance          = responseDto.AmountCash;
                atm.AuthorizationNum = responseDto.Stan;
                return(atm);
            }
        }
Ejemplo n.º 2
0
        public TranCoreNodeResponseDto RequestTransaction(TranTritonNodeRequestDto req)
        {
            using (var client = ScsServiceClientBuilder.CreateClient <IHostNodeRequestService>(new ScsTcpEndPoint(Config.HostIpAddress, Config.HostPort)))
            {
                client.Connect();
                TranCoreNodeResponseDto autResponseDto;
                IAuthorizationService   svr    = new AuthorizationService();
                TranHostNodeRequestDto  autReq = svr.AuthorizationRequest(req);
                if (autReq != null)
                {
                    _log.Debug("Sending Core Request Object");
                    TranHostNodeResponseDto res = client.ServiceProxy.RequestTransaction(autReq);
                    // Send to HostNode
                    _log.Debug("Getting Host Response Object");
                    autResponseDto = new TranCoreNodeResponseDto
                    {
                        Stan                = res.Stan,
                        ResponseCode        = res.ResponseCode,
                        ResponseDescription = res.ResponseDescription,
                        ResponseAction      = res.ResponseAction,
                        AmountTran          = res.AmountTran,
                        AmtTranFee          = res.AmtTranFee,
                        AmountCash          = res.AmountCash,
                        TranSeqNo           = res.TranSeqNo
                    };
                }
                else
                {
                    _log.Debug("Pin Translation failed, sending response.");
                    //send response back to terminal for decline
                    autResponseDto = new TranCoreNodeResponseDto
                    {
                        ResponseCode        = "99",
                        ResponseDescription = "Pin Translation Error",
                        ResponseAction      = "Decline transaction",
                        TranSeqNo           = req.TranSeqNo,
                        AmountTran          = req.Amount1,
                        AmtTranFee          = req.Amount2
                    };
                }

                return(autResponseDto);
            }
        }