parse tanggapan permintaan ofx

OFX, Open Financial Exchange, file digunakan untuk bertukar informasi keuangan. Ini digunakan dalam klien-server serta sistem berbasis Cloud. Jadi model permintaan-respons digunakan untuk bertukar informasi keuangan. Mari kita pelajari permintaan dan tanggapan OFX:

Parse Permintaan dan Respons OFX – Instalasi C# API

Aspose.Finance for .NET API mendukung beberapa fitur untuk memproses dan mem-parsing data keuangan. Anda dapat mengunduhnya dari bagian Unduhan atau menginstal melalui galeri NuGet dengan perintah berikut:

PM> Install-Package Aspose.Finance

Selain itu, evolusi OFX patut disebutkan di sini. OFX versi 1 hingga 1.6 didasarkan pada sintaks SGML. Versi yang lebih baru bergantung pada spesifikasi XML. Untuk pemahaman yang lebih baik, kami akan membuat file permintaan dan respons OFX dalam kedua format (1.03 & 2.2).

Buat Permintaan OFX Secara terprogram menggunakan C#

Protokol OFX adalah standar untuk pertukaran data keuangan dua arah. Anda dapat dengan mudah membuat permintaan dengan mengikuti langkah-langkah di bawah ini:

  1. Inisialisasi objek Dokumen Permintaan Ofx.
  2. Buat Sign on Request instance
  3. Tetapkan properti yang berbeda
  4. Simpan permintaan OFX dalam format 1.03 dan 2.2

Cuplikan kode di bawah ini menjelaskan cara membuat Permintaan OFX secara terprogram menggunakan bahasa C#:

// Inisialisasi objek OfxRequestDocument
OfxRequestDocument document = new OfxRequestDocument();
document.SignonRequestMessageSetV1 = new SignonRequestMessageSetV1();

// Inisialisasi SignonRequest dan atur properti yang berbeda
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;

// Buat permintaan OFX untuk kedua versi
document.Save(outputDir + @"newOfxRequestBankStatement.xml", OfxVersionEnum.V2x);
document.Save(outputDir + @"newOfxRequestBankStatement.sgml", OfxVersionEnum.V1x);

Buat Respons OFX Secara Terprogram dengan C#

Anda dapat membuat respons OFX dalam aplikasi berbasis .NET secara terprogram menggunakan C#. Langkah-langkah berikut menjelaskan proses pembuatan respons OFX:

  1. Inisialisasi objek kelas Offx Response Document.
  2. Deklarasikan Sign on Response dan tetapkan nilai
  3. Simpan respons dengan Enum Versi Ofx Enumerasi

Cuplikan kode berikut menunjukkan cara membuat respons OFX secara terprogram menggunakan C#:

// Inisialisasi objek OfxResponseDocument
OfxResponseDocument document = new OfxResponseDocument();
document.SignonResponseMessageSetV1 = new SignonResponseMessageSetV1();

// Menginisialisasi instance 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";

// Simpan respons dalam spesifikasi format OFX 1.03 dan 2.2
document.Save(outputDir + @"newOfxResponseBankStatement.xml", OfxVersionEnum.V2x);
document.Save(outputDir + @"newOfxResponseBankStatement.sgml", OfxVersionEnum.V1x);

Kesimpulan

Standar OFX adalah platform-independen sehingga pengguna dapat memilih lingkungan sistem atau platform untuk menggunakan fitur pemrosesan keuangan. Ini memungkinkan bank, pialang, dan perusahaan pemrosesan penggajian untuk menciptakan solusi yang disesuaikan. Anda dapat menghubungi melalui Forum Dukungan Gratis. Kami akan dengan senang hati membantu Anda!

Lihat juga