Ejemplo n.º 1
0
        public PayStockExtendedResponse PayStockExtended(PayStockExtendedRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Stock.PayStock", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = externalRequest.Request.DeviceType,
                Password   = externalRequest.Request.Password,
                User       = externalRequest.Request.Username
            };
            LoginResponseInternal   loginResponse   = AuthenticationProvider.LoginInternal(loginRequest);
            PayStockRequestInternal internalRequest = new PayStockRequestInternal()
            {
                SessionID  = loginResponse.SessionID,
                Amount     = externalRequest.Request.Amount,
                DeviceType = externalRequest.Request.DeviceType,
                Bank       = externalRequest.Request.Bank,
                Account    = externalRequest.Request.Account,
                Voucher    = externalRequest.Request.Voucher
            };
            PayStockResponseInternal internalResponse = PayStockInternal(internalRequest);
            PayStockExtendedResponse externalResponse = new PayStockExtendedResponse()
            {
                Response = new PayStockExtendedResponseBody()
                {
                    ResponseCode    = internalResponse.ResponseCode,
                    ResponseMessage = internalResponse.ResponseMessage,
                    TransactionID   = internalResponse.TransactionID,
                    Fee             = internalResponse.Fee
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Stock.PayStock", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }
Ejemplo n.º 2
0
        public BalanceExtendedResponse BalanceExtended(BalanceExtendedRequest balanceExtendedRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Sales.BalanceExtended", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = balanceExtendedRequest.Request.DeviceType,
                Password   = balanceExtendedRequest.Request.Password,
                User       = balanceExtendedRequest.Request.Username
            };
            LoginResponseInternal loginResponse = AuthenticationProvider.LoginInternal(loginRequest);

            BalanceRequestInternal internalObject = new BalanceRequestInternal()
            {
                SessionID  = loginResponse.SessionID,
                DeviceType = balanceExtendedRequest.Request.DeviceType
            };
            BalanceResponseInternal     internalResponse = BalanceProvider.BalanceInternal(internalObject);
            BalanceExtendedResponse     response         = new BalanceExtendedResponse();
            BalanceExtendedResponseBody responseBody     = new BalanceExtendedResponseBody()
            {
                ResponseCode    = internalResponse.ResponseCode,
                ResponseMessage = internalResponse.ResponseMessage,
                TransactionID   = internalResponse.TransactionID,
                Balance         = internalResponse.StockBalance
            };

            response.Response = responseBody;
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Sales.BalanceExtended", Logger.LoggingLevelType.Medium);
            return(response);
        }
Ejemplo n.º 3
0
        public SaleStateByExternalIDExtendedResponse SaleStateByExternalIDExtended(SaleStateByExternalIDExtendedRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Sales.SaleStateByExternalID", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = externalRequest.Request.AccessType,
                Password   = externalRequest.Request.Password,
                User       = externalRequest.Request.AccessId
            };
            LoginResponseInternal         loginResponse   = AuthenticationProvider.LoginInternal(loginRequest);
            GetTransactionRequestInternal internalRequest = new GetTransactionRequestInternal()
            {
                SessionID      = loginResponse.SessionID,
                DeviceType     = _deciveTypeForNewSaleWithExternalID,
                ParameterValue = externalRequest.Request.ExternalID,
                ParameterType  = GetTransactionRequestInternalParameterType.HostReference
            };
            GetTransactionResponseInternal        internalResponse = GetTransactionInternal(internalRequest);
            SaleStateByExternalIDExtendedResponse externalResponse = new SaleStateByExternalIDExtendedResponse()
            {
                Response = new SaleStateByExternalIDExtendedResponseBody()
                {
                    Amount          = (int)internalResponse.Amount,
                    Customer        = internalResponse.Recipient,
                    Date            = internalResponse.TransactionDate,
                    ReloadState     = internalResponse.TransactionResult == 0 ? "Recarga Exitosa" : "Recarga Fallida",
                    ReloadStateCode = internalResponse.TransactionResult.ToString(),
                    IdTransaccion   = internalResponse.TransactionID.ToString()
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Sales.SaleStateByExternalID", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }
Ejemplo n.º 4
0
        public NewSaleWithExternalIDExtendedResponse NewSaleWithExternalIDExtended(NewSaleWithExternalIDExtendedRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Sales.NewSaleWithExternalID", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = externalRequest.Request.AccessType,
                Password   = externalRequest.Request.Password,
                User       = externalRequest.Request.AccessId
            };
            LoginResponseInternal loginResponse   = AuthenticationProvider.LoginInternal(loginRequest);
            TopUpRequestInternal  internalRequest = new TopUpRequestInternal()
            {
                SessionID    = loginResponse.SessionID,
                Recipient    = externalRequest.Request.Customer,
                MNODefinedID = externalRequest.Request.ExternalId,
                MNO          = externalRequest.Request.IdProduct,
                HostTransRef = externalRequest.Request.ExternalId,
                DeviceType   = _deciveTypeForNewSaleWithExternalID,
                Amount       = externalRequest.Request.Amount
            };
            TopUpResponseInternal internalResponse = TopUpProvider.TopUpInternal(internalRequest);
            NewSaleWithExternalIDExtendedResponse externalResponse = new NewSaleWithExternalIDExtendedResponse()
            {
                Response = new NewSaleWithExternalIDExtendedResponseBody()
                {
                    Result        = internalResponse.ResponseCode.ToString() == "0" ? "true" : "false",
                    Message       = internalResponse.ResponseCode.ToString() == "0" ? "Recarga Exitosa" : "Recarga Fallida",
                    IdTransaction = internalResponse.TransactionID,
                    SaleData      = internalResponse.ResponseMessage
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Sales.NewSaleWithExternalID", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }
Ejemplo n.º 5
0
        internal static LoginResponseInternal LoginInternal(LoginRequestInternal loginRequest)
        {
            LogUtils.LogMethodInvocationStart(true, loginRequest);


            UMarketSCClient       utibaClient = new UMarketSCClient();
            loginResponse         loginInfo;
            createsessionResponse newSession;
            LoginResponseInternal loginResponse = null;

            try
            {
                using (OperationContextScope scope = new OperationContextScope(utibaClient.InnerChannel))
                {
                    HttpRequestMessageProperty messageProperty = new HttpRequestMessageProperty();
                    messageProperty.Headers.Add(HttpRequestHeader.UserAgent, UserAgent);
                    OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, messageProperty);

                    newSession = utibaClient.createsession(new createsession());
                    String passwordHash           = GetSHA1(loginRequest.User.ToLower() + loginRequest.Password);
                    String passwordAndSessionHash = GetSHA1(newSession.createsessionReturn.sessionid + passwordHash.ToLower()).ToUpper();

                    login loginObject = new login();
                    loginObject.loginRequest = new loginRequestType()
                    {
                        sessionid   = newSession.createsessionReturn.sessionid,
                        device_type = loginRequest.DeviceType,
                        initiator   = loginRequest.User,
                        pin         = passwordAndSessionHash
                    };
                    loginInfo = utibaClient.login(loginObject);
                }
                loginResponse = new LoginResponseInternal()
                {
                    ResponseCode    = loginInfo.loginReturn.result,
                    ResponseMessage = loginInfo.loginReturn.result_message,
                    TransactionID   = loginInfo.loginReturn.transid,
                    SessionID       = newSession.createsessionReturn.sessionid
                };

                if (loginResponse.ResponseCode != 0)
                {
                    loginResponse.SetResponseNamespace(ApiResponseInternal.ResponseNamespace.BAC);
                }
            }
            catch (Exception e)
            {
                if (loginResponse == null)
                {
                    loginResponse = new LoginResponseInternal();
                }
                loginResponse.SetThrowedException(e);
            }
            return(loginResponse);
        }
Ejemplo n.º 6
0
        public GetTransactionExtendedResponse GetTransactionExtended(GetTransactionExtendedRequest getTransactionRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Sales.GetTransactionExtended", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = getTransactionRequest.Request.DeviceType,
                Password   = getTransactionRequest.Request.Password,
                User       = getTransactionRequest.Request.Username
            };
            LoginResponseInternal loginResponse = AuthenticationProvider.LoginInternal(loginRequest);

            GetTransactionRequestInternal getTransactionRequestInternal = new GetTransactionRequestInternal()
            {
                SessionID      = loginResponse.SessionID,
                DeviceType     = getTransactionRequest.Request.DeviceType,
                ParameterType  = (GetTransactionRequestInternalParameterType)getTransactionRequest.Request.ParameterType,
                ParameterValue = getTransactionRequest.Request.Parameter
            };
            //switch (getTransactionRequest.Request.ParameterType)
            //{
            //    case GetTransactionRequestInternalParameterType.TransID: getTransactionRequestInternal.TransactionID = int.Parse(getTransactionRequest.Request.Parameter); break;
            //    case "HostReference": getTransactionRequestInternal.HostTransRef = getTransactionRequest.Request.Parameter; break;
            //    case "OperatorReference": getTransactionRequestInternal.HostTransRef = getTransactionRequest.Request.Parameter; break;
            //}
            GetTransactionResponseInternal     internalResponse       = GetTransactionInternal(getTransactionRequestInternal);
            GetTransactionExtendedResponse     getTransactionResponse = new GetTransactionExtendedResponse();
            GetTransactionExtendedResponseBody responseBody           = new GetTransactionExtendedResponseBody()
            {
                Amount            = internalResponse.Amount,
                Recipient         = internalResponse.Recipient,
                ResponseCode      = internalResponse.ResponseCode,
                ResponseMessage   = internalResponse.ResponseMessage,
                TransactionDate   = internalResponse.TransactionDate,
                TransactionID     = internalResponse.TransactionID,
                TransactionResult = internalResponse.TransactionResult,
                TransactionType   = internalResponse.TransactionType,
                Initiator         = internalResponse.Initiator,
                Debtor            = internalResponse.Debtor,
                Creditor          = internalResponse.Creditor
            };

            getTransactionResponse.Response = responseBody;
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Sales.GetTransactionExtended", Logger.LoggingLevelType.Medium);
            return(getTransactionResponse);
        }
Ejemplo n.º 7
0
        internal static LoginResponse Login(LoginRequest getSessionRequest)
        {
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                User       = getSessionRequest.Request.AccessId,
                Password   = getSessionRequest.Request.Password,
                DeviceType = getSessionRequest.Request.AccessType
            };
            LoginResponseInternal loginResponseInternal = AuthenticationProvider.LoginInternal(loginRequest);
            LoginResponse         loginResponse         = new LoginResponse();
            LoginResponseBody     loginResponseBody     = new LoginResponseBody()
            {
                LoginResult = loginResponseInternal.SessionID,
                Message     = loginResponseInternal.ResponseMessage
            };

            loginResponse.Response = loginResponseBody;
            return(loginResponse);
        }
Ejemplo n.º 8
0
        internal static GetSessionResponse GetSession(GetSessionRequest getSessionRequest)
        {
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                User       = getSessionRequest.Request.User,
                Password   = getSessionRequest.Request.Password,
                DeviceType = getSessionRequest.Request.DeviceType
            };
            LoginResponseInternal  loginResponse          = AuthenticationProvider.LoginInternal(loginRequest);
            GetSessionResponse     getSessionResponse     = new GetSessionResponse();
            GetSessionResponseBody getSessionResponseBody = new GetSessionResponseBody()
            {
                ResponseCode    = loginResponse.ResponseCode,
                ResponseMessage = loginResponse.ResponseMessage,
                SessionID       = loginResponse.SessionID,
                TransactionID   = loginResponse.TransactionID
            };

            getSessionResponse.Response = getSessionResponseBody;
            return(getSessionResponse);
        }
Ejemplo n.º 9
0
        public TopUpExtendedResponse TopUpExtended(TopUpExtendedRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Stock.TopUp", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = externalRequest.Request.DeviceType,
                Password   = externalRequest.Request.Password,
                User       = externalRequest.Request.Username
            };
            LoginResponseInternal loginResponse  = AuthenticationProvider.LoginInternal(loginRequest);
            TopUpRequestInternal  internalObject = new TopUpRequestInternal()
            {
                Amount       = externalRequest.Request.Amount,
                DeviceType   = externalRequest.Request.DeviceType,
                HostTransRef = externalRequest.Request.HostTransRef,
                MNO          = externalRequest.Request.MNO,
                MNODefinedID = externalRequest.Request.MNODefinedID,
                Recipient    = externalRequest.Request.Recipient,
                SessionID    = loginResponse.SessionID
            };
            TopUpResponseInternal internalResponse = TopUpProvider.TopUpInternal(internalObject);
            TopUpExtendedResponse response         = new TopUpExtendedResponse()
            {
                Response = new TopUpExtendedResponseBody()
                {
                    ResponseCode    = internalResponse.ResponseCode,
                    ResponseMessage = internalResponse.ResponseMessage,
                    TransactionID   = internalResponse.TransactionID,
                    HostTransRef    = internalResponse.HostTransRef,
                    Fee             = internalResponse.Fee,
                    BalanceStock    = internalResponse.BalanceStock
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Stock.TopUp", Logger.LoggingLevelType.Medium);
            return(response);
        }
Ejemplo n.º 10
0
        public MoviPaymentExtendedResponse MoviPaymentExtended(MoviPaymentExtendedRequest movipaymentExtendedRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método MoviPin.MoviPaymentExtended", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = movipaymentExtendedRequest.Request.DeviceType,
                Password   = movipaymentExtendedRequest.Request.Password,
                User       = movipaymentExtendedRequest.Request.Username
            };
            LoginResponseInternal loginResponse = AuthenticationProvider.LoginInternal(loginRequest);

            MoviPaymentRequestInternal internalObject = new MoviPaymentRequestInternal()
            {
                Amount     = movipaymentExtendedRequest.Request.Amount,
                Type       = movipaymentExtendedRequest.Request.Type,
                DeviceType = movipaymentExtendedRequest.Request.DeviceType,
                SessionID  = loginResponse.SessionID,
                CouponID   = movipaymentExtendedRequest.Request.CouponID
            };
            MoviPaymentResponseInternal     internalResponse = MoviPaymentInternal(internalObject);
            MoviPaymentExtendedResponse     response         = new MoviPaymentExtendedResponse();
            MoviPaymentExtendedResponseBody responseBody     = new MoviPaymentExtendedResponseBody()
            {
                ResponseCode      = internalResponse.ResponseCode,
                ResponseMessage   = internalResponse.ResponseMessage,
                TransactionID     = internalResponse.TransactionID,
                Fee               = internalResponse.Fee,
                ResultNameSpace   = internalResponse.ResultNameSpace,
                ScheduleID        = internalResponse.ScheduleID,
                TransExtReference = internalResponse.TransExtReference
            };

            response.Response = responseBody;
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método MoviPin.MoviPaymentExtended", Logger.LoggingLevelType.Medium);
            return(response);
        }