Created
February 24, 2021 21:02
-
-
Save aspose-com-gists/8c846b821b082fd82bf1df3960b49786 to your computer and use it in GitHub Desktop.
Parse or Create OFX Request or Response Programmatically with C# API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Initialize OfxRequestDocument object | |
OfxRequestDocument document = new OfxRequestDocument(); | |
document.SignonRequestMessageSetV1 = new SignonRequestMessageSetV1(); | |
// Initialize SignonRequest and set diffent properties | |
SignonRequest signonRequest = new SignonRequest(); | |
document.SignonRequestMessageSetV1.SignonRequest = signonRequest; | |
signonRequest.ClientDate = "20200611000000"; | |
signonRequest.UserId = "aspose"; | |
signonRequest.UserPassword = "password"; | |
FinancialInstitution fi = new FinancialInstitution(); | |
fi.Organization = "aspose"; | |
fi.FinancialInstitutionId = "1"; | |
signonRequest.FinancialInstitution = fi; | |
signonRequest.AppVersion = "1.0"; | |
signonRequest.AppId = "Aspose.Finance"; | |
signonRequest.ClientUserId = "aaaaaaa"; | |
document.BankRequestMessageSetV1 = new BankRequestMessageSetV1(); | |
StatementTransactionRequest stmtTransRequest = new StatementTransactionRequest(); | |
document.BankRequestMessageSetV1.StatementTransactionRequests.Add(stmtTransRequest); | |
stmtTransRequest.TransactionUniqueId = "1111111"; | |
stmtTransRequest.StatementRequest = new StatementRequest(); | |
stmtTransRequest.StatementRequest.BankAccountFrom = new BankAccount(); | |
stmtTransRequest.StatementRequest.BankAccountFrom.BankId = "sssss"; | |
stmtTransRequest.StatementRequest.BankAccountFrom.AccountId = "sfsdfsfsdf"; | |
stmtTransRequest.StatementRequest.BankAccountFrom.AccountType = AccountEnum.CHECKING; | |
stmtTransRequest.StatementRequest.IncTransaction = new IncTransaction(); | |
stmtTransRequest.StatementRequest.IncTransaction.StartDate = "20200601000000"; | |
stmtTransRequest.StatementRequest.IncTransaction.EndDate = "20200611000000"; | |
stmtTransRequest.StatementRequest.IncTransaction.Include = true; | |
// Create OFX request for both versions | |
document.Save(outputDir + @"newOfxRequestBankStatement.xml", OfxVersionEnum.V2x); | |
document.Save(outputDir + @"newOfxRequestBankStatement.sgml", OfxVersionEnum.V1x); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Initialize OfxResponseDocument object | |
OfxResponseDocument document = new OfxResponseDocument(); | |
document.SignonResponseMessageSetV1 = new SignonResponseMessageSetV1(); | |
// Initialize SignonResponse instance | |
SignonResponse signonResponse = new SignonResponse(); | |
document.SignonResponseMessageSetV1.SignonResponse = signonResponse; | |
signonResponse.Status = new Status(); | |
signonResponse.Status.Code = "0"; | |
signonResponse.Status.Severity = SeverityEnum.INFO; | |
signonResponse.Status.Message = "SUCCESS"; | |
signonResponse.ServerDate = "20200611"; | |
signonResponse.ProfileUpdateDate = "20200611"; | |
FinancialInstitution fi = new FinancialInstitution(); | |
fi.Organization = "aspose"; | |
fi.FinancialInstitutionId = "1"; | |
signonResponse.FinancialInstitution = fi; | |
signonResponse.SessionCookie = "11111111111111111"; | |
document.BankResponseMessageSetV1 = new BankResponseMessageSetV1(); | |
StatementTransactionResponse stmtTransResponse = new StatementTransactionResponse(); | |
document.BankResponseMessageSetV1.StatementTransactionResponses.Add(stmtTransResponse); | |
stmtTransResponse.TransactionUniqueId = "829631324"; | |
stmtTransResponse.Status = new Status(); | |
stmtTransResponse.Status.Code = "0"; | |
stmtTransResponse.Status.Severity = SeverityEnum.INFO; | |
stmtTransResponse.StatementResponse = new StatementResponse(); | |
stmtTransResponse.StatementResponse.Currency = CurrencyEnum.USD; | |
stmtTransResponse.StatementResponse.BankAccountFrom = new BankAccount(); | |
stmtTransResponse.StatementResponse.BankAccountFrom.BankId = "1111111"; | |
stmtTransResponse.StatementResponse.BankAccountFrom.AccountId = "1111111111111"; | |
stmtTransResponse.StatementResponse.BankAccountFrom.AccountType = AccountEnum.CHECKING; | |
stmtTransResponse.StatementResponse.BankTransactionList = new BankTransactionList(); | |
stmtTransResponse.StatementResponse.BankTransactionList.StartDate = "20200601000000"; | |
stmtTransResponse.StatementResponse.BankTransactionList.EndDate = "20200611000000"; | |
StatementTransaction transaction1 = new StatementTransaction(); | |
transaction1.TransactionType = TransactionEnum.DEBIT; | |
transaction1.PostedDate = "20200611000000"; | |
transaction1.TransactionAmount = "-12"; | |
transaction1.FinancialInstitutionTransactionId = "1111111111111111111111111"; | |
transaction1.Name = "bbbbbbbbbbbbbbbbbbbbbbb"; | |
StatementTransaction transaction2 = new StatementTransaction(); | |
transaction2.TransactionType = TransactionEnum.CREDIT; | |
transaction2.PostedDate = "20200611000000"; | |
transaction2.TransactionAmount = "22222.11"; | |
transaction2.FinancialInstitutionTransactionId = "2222222222222222222222222222"; | |
transaction2.Name = "wwwwwwwwwwwwwwwwwwwwwwww"; | |
stmtTransResponse.StatementResponse.BankTransactionList.StatementTransactions.Add(transaction1); | |
stmtTransResponse.StatementResponse.BankTransactionList.StatementTransactions.Add(transaction2); | |
stmtTransResponse.StatementResponse.LedgerBalance = new LedgerBalance(); | |
stmtTransResponse.StatementResponse.LedgerBalance.BalanceAmount = "+2222.42"; | |
stmtTransResponse.StatementResponse.LedgerBalance.DateAsOf = "20200611000000"; | |
stmtTransResponse.StatementResponse.AvailableBalance = new AvailableBalance(); | |
stmtTransResponse.StatementResponse.AvailableBalance.BalanceAmount = "+222222.42"; | |
stmtTransResponse.StatementResponse.AvailableBalance.DateAsOf = "20200611000000"; | |
// Save response in OFX 1.03 and 2.2 format specification | |
document.Save(outputDir + @"newOfxResponseBankStatement.xml", OfxVersionEnum.V2x); | |
document.Save(outputDir + @"newOfxResponseBankStatement.sgml", OfxVersionEnum.V1x); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment