/// <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)); } }
/// <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)); } }
/// <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)); } }
/// <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)); } }