ofx 요청 응답 구문 분석

OFX, Open Financial Exchange, 파일은 금융 정보를 교환하는 데 사용됩니다. 클라이언트-서버 및 클라우드 기반 시스템에서 사용됩니다. 따라서 요청-응답 모델은 재무 정보를 교환하는 데 사용됩니다. OFX 요청 및 응답을 알아보겠습니다.

OFX 요청 및 응답 구문 분석 – C# API 설치

Aspose.Finance for .NET API는 재무 데이터 처리 및 구문 분석을 위한 여러 기능을 지원합니다. 다운로드 섹션에서 다운로드하거나 다음 명령을 사용하여 NuGet 갤러리를 통해 설치할 수 있습니다.

PM> Install-Package Aspose.Finance

또한 여기에서 OFX의 진화를 언급할 가치가 있습니다. OFX 버전 1~1.6은 SGML 구문을 기반으로 합니다. 이후 버전은 XML 사양에 의존합니다. 더 나은 이해를 위해 OFX 요청 및 응답 파일을 두 형식(1.03 및 2.2)으로 만듭니다.

C#을 사용하여 프로그래밍 방식으로 OFX 요청 만들기

OFX 프로토콜은 금융 데이터의 양방향 교환을 위한 표준입니다. 다음 단계에 따라 요청을 쉽게 생성할 수 있습니다.

  1. Ofx 요청 문서 개체 초기화
  2. Sign on Request 인스턴스 생성
  3. 다른 속성 설정
  4. OFX 요청을 1.03 및 2.2 형식으로 저장

아래 코드 조각은 C# 언어를 사용하여 프로그래밍 방식으로 OFX 요청을 만드는 방법을 설명합니다.

// OfxRequestDocument 개체 초기화
OfxRequestDocument document = new OfxRequestDocument();
document.SignonRequestMessageSetV1 = new SignonRequestMessageSetV1();

// SignonRequest 초기화 및 다른 속성 설정
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;

// 두 버전 모두에 대한 OFX 요청 생성
document.Save(outputDir + @"newOfxRequestBankStatement.xml", OfxVersionEnum.V2x);
document.Save(outputDir + @"newOfxRequestBankStatement.sgml", OfxVersionEnum.V1x);

C#을 사용하여 프로그래밍 방식으로 OFX 응답 만들기

C#을 사용하여 프로그래밍 방식으로 .NET 기반 응용 프로그램에서 OFX 응답을 만들 수 있습니다. 다음 단계에서는 OFX 응답 생성 프로세스를 설명합니다.

  1. Ofx 응답 문서 클래스 객체 초기화
  2. Sign on Response 선언 및 값 설정
  3. Ofx Version Enum 열거로 응답 저장

다음 코드 조각은 C#을 사용하여 프로그래밍 방식으로 OFX 응답을 만드는 방법을 보여줍니다.

// OfxResponseDocument 개체 초기화
OfxResponseDocument document = new OfxResponseDocument();
document.SignonResponseMessageSetV1 = new SignonResponseMessageSetV1();

// SignonResponse 인스턴스 초기화
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";

// OFX 1.03 및 2.2 형식 사양으로 응답 저장
document.Save(outputDir + @"newOfxResponseBankStatement.xml", OfxVersionEnum.V2x);
document.Save(outputDir + @"newOfxResponseBankStatement.sgml", OfxVersionEnum.V1x);

결론

OFX 표준은 플랫폼에 독립적이므로 사용자는 금융 처리 기능을 사용할 시스템 환경이나 플랫폼을 선택할 수 있습니다. 이를 통해 은행, 중개 회사 및 급여 처리 회사에서 맞춤형 솔루션을 만들 수 있습니다. 무료 지원 포럼을 통해 연락하실 수 있습니다. 기꺼이 도와드리겠습니다!

또한보십시오