Exemple #1
0
        /// <summary>
        ///     Sends an amendment request to the URL specified in Configuration.AcquirerUrl_TransactionReq
        /// </summary>
        /// <param name="amendmentRequest">An AmendmentRequest object</param>
        /// <returns>
        ///     An AmendmentResponse object which contains the response from the server (transaction id, issuer authentication URL), or error information when an error occurs
        /// </returns>
        public AmendmentResponse Amend(AmendmentRequest amendmentRequest)
        {
            try
            {
                Logger.Log("sending new amend request");

                Logger.Log("building eMandate");
                var document = new EMandateMessageBuilder(LocalConfiguration, LocalInstrumentCode).GetAmend(amendmentRequest);

                Logger.Log("building idx message");
                var acquirertrxreq =
                    new IDxMessageBuilder(LocalConfiguration, LocalInstrumentCode).GetTransactionRequest(amendmentRequest, document);

                Logger.Log("signing message");
                var xml = Sign(acquirertrxreq);

                var content = PerformRequest(xml, LocalConfiguration.AcquirerUrlTransactionReq);

                return(AmendmentResponse.Parse(content, Logger));
            }
            catch (Exception e)
            {
                Logger.Log("error : {0}", e);
                return(AmendmentResponse.Get(e));
            }
        }
        /// <summary>
        ///     Sends a cancellation request to the URL specified in Configuration.AcquirerUrl_TransactionReq
        /// </summary>
        /// <param name="cancellationRequest">A CancellationRequest object</param>
        /// <returns>
        ///     A CancellationResponse object which contains the response from the server (transaction id, issuer authentication URL), or error information when an error occurs
        /// </returns>
        public CancellationResponse Cancel(CancellationRequest cancellationRequest)
        {
            try
            {
                Logger.LogDebug("sending new eMandate transaction");
                Logger.LogDebug("building eMandate");

                var document = new EMandateMessageBuilder(LocalConfiguration, LocalInstrumentCode).GetCancel(cancellationRequest);

                Logger.LogDebug("building idx message");

                var request =
                    new IDxMessageBuilder(LocalConfiguration, LocalInstrumentCode).GetTransactionRequest(cancellationRequest, document);

                Logger.LogDebug("signing message");
                var xml = Sign(request);

                var content = PerformRequest(xml, LocalConfiguration.Acquirer.TransactionRequestUrl);

                return(CancellationResponse.Parse(content, Logger));
            }
            catch (Exception e)
            {
                Logger.LogError(e, e.Message);

                return(CancellationResponse.Get(e));
            }
        }
Exemple #3
0
        /// <summary>
        ///     Sends a new authentication request to the URL specified in Configuration.AcquirerUrl_TransactionReq
        /// </summary>
        /// <param name="authenticationRequest">An AuthenticationRequest object</param>
        /// <returns>
        ///     An AuthenticationResponse object which contains the response from the server (transaction id, issuer authentication URL), or error information when an error occurs
        /// </returns>
        public AuthenticationResponse NewAuthenticationRequest(AuthenticationRequest authenticationRequest)
        {
            try
            {
                _logger.Log("sending new authentication request");

                _logger.Log("building request");
                var document = new BankIdMessageBuilder(_configuration).GetNewTransaction(authenticationRequest);

                _logger.Log("building idx message");
                var acquirertrxreq =
                    new IDxMessageBuilder(_configuration).GetTransactionRequest(authenticationRequest, document);

                _logger.Log("signing message");
                var xml = Sign(acquirertrxreq);

                var content = PerformRequest(xml, _configuration.AcquirerTransactionUrl);

                return(AuthenticationResponse.Parse(content));
            }
            catch (Exception e)
            {
                _logger.Log(e.ToString());
                return(new AuthenticationResponse(e));
            }
        }
        /// <summary>
        ///     Sends a directory request to the URL specified in Configuration.AcquirerUrl_DirectoryReq
        /// </summary>
        /// <returns>
        ///     A DirectoryResponse object which contains the response from the server (a list of debtor banks), or error information when an error occurs
        /// </returns>
        public DirectoryResponse Directory()
        {
            try
            {
                Logger.LogDebug("sending new directory request");
                Logger.LogDebug("building idx message");
                var directoryRequest = new IDxMessageBuilder(LocalConfiguration, LocalInstrumentCode).GetDirectoryRequest();

                Logger.LogDebug("signing message");
                var xml = Sign(directoryRequest);

                var content = PerformRequest(xml, LocalConfiguration.Acquirer.DirectoryRequestUrl);

                return(DirectoryResponse.Parse(content, Logger));
            }
            catch (Exception e)
            {
                Logger.LogError(e, e.Message);

                return(DirectoryResponse.Get(e));
            }
        }
Exemple #5
0
        /// <summary>
        ///     Sends a directory request to the URL specified in Configuration.AcquirerUrl_DirectoryReq
        /// </summary>
        /// <returns>
        ///     A DirectoryResponse object which contains the response from the server (a list of Issuers), or error information when an error occurs
        /// </returns>
        public DirectoryResponse GetDirectory()
        {
            try
            {
                _logger.Log("sending new directory request");

                _logger.Log("building idx message");
                var directoryreq = new IDxMessageBuilder(_configuration).GetDirectoryRequest();

                _logger.Log("signing message");
                var xml = Sign(directoryreq);

                var content = PerformRequest(xml, _configuration.AcquirerDirectoryUrl);

                return(DirectoryResponse.Parse(content));
            }
            catch (Exception e)
            {
                _logger.Log(e.ToString());
                return(new DirectoryResponse(e));
            }
        }
        /// <summary>
        ///     Sends a transaction status request to the URL specified in Configuration.AcquirerUrl_TransactionReq
        /// </summary>
        /// <param name="statusRequest">A StatusRequest object</param>
        /// <returns>
        ///     A StatusResponse object which contains the response from the server (transaction id, status message), or error information when an error occurs
        /// </returns>
        public StatusResponse GetStatus(StatusRequest statusRequest)
        {
            try
            {
                Logger.LogDebug("sending new status request");
                Logger.LogDebug("building idx message");

                var request =
                    new IDxMessageBuilder(LocalConfiguration, LocalInstrumentCode).GetStatusRequest(statusRequest);

                Logger.LogDebug("signing message");
                var xml     = Sign(request);
                var content = PerformRequest(xml, LocalConfiguration.Acquirer.StatusRequestUrl);

                return(StatusResponse.Parse(content, Logger));
            }
            catch (Exception e)
            {
                Logger.LogError(e, e.Message);

                return(StatusResponse.Get(e));
            }
        }
Exemple #7
0
        /// <summary>
        ///     Sends a transaction status request to the URL specified in Configuration.AcquirerUrl_TransactionReq
        /// </summary>
        /// <param name="statusRequest">A StatusRequest object</param>
        /// <returns>
        ///     A StatusResponse object which contains the response from the server (transaction id, status message), or error information when an error occurs
        /// </returns>
        public StatusResponse GetResponse(StatusRequest statusRequest)
        {
            try
            {
                _logger.Log("sending new status request");

                _logger.Log("building idx message");
                var acquirerstsreq =
                    new IDxMessageBuilder(_configuration).GetStatusRequest(statusRequest);

                _logger.Log("signing message");
                var xml = Sign(acquirerstsreq);

                var content = PerformRequest(xml, _configuration.AcquirerStatusUrl);

                return(StatusResponse.Parse(content, _configuration));
            }
            catch (Exception e)
            {
                _logger.Log(e.ToString());
                return(new StatusResponse(e));
            }
        }