在 Python API 中创建 OFX 请求和响应文件
Contents
[
Hide
]
Aspose.Finance for Python via .NET 支持以 1.03 和 2.2 格式创建 OFX 请求和响应文件。为了创建 OFX 文档,API 提供了 OfxRequestDocument 和 OfxResponseDocument 类。以下示例演示了如何以 1.03 和 2.2 格式创建 OFX 文件请求和响应文件。
在 .NET 中创建 OFX 请求文件
This file contains hidden or 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
ofxRequestDoc = OfxRequestDocument() | |
ofxRequestDoc.signon_request_message_set_v1 = SignonRequestMessageSetV1() | |
signonRequest = SignonRequest() | |
ofxRequestDoc.signon_request_message_set_v1.signon_request = signonRequest | |
signonRequest.client_date = "20200611000000" | |
signonRequest.user_id = "aspose" | |
signonRequest.user_password = "password" | |
fi = FinancialInstitution() | |
fi.organization = "aspose" | |
fi.financial_institution_id = "1" | |
signonRequest.financial_institution = fi | |
signonRequest.app_version = "1.0" | |
signonRequest.app_id = "Aspose.Finance" | |
signonRequest.client_user_id = "aaaaaaa" | |
ofxRequestDoc.bank_request_message_set_v1 = BankRequestMessageSetV1() | |
stmtTransRequest = StatementTransactionRequest() | |
ofxRequestDoc.bank_request_message_set_v1.statement_transaction_requests.append(stmtTransRequest) | |
stmtTransRequest.transaction_unique_id = "1111111" | |
stmtTransRequest.statement_request = StatementRequest() | |
stmtTransRequest.statement_request.bank_account_from = BankAccount() | |
stmtTransRequest.statement_request.bank_account_from.bank_id = "sssss" | |
stmtTransRequest.statement_request.bank_account_from.account_id = "sfsdfsfsdf" | |
stmtTransRequest.statement_request.bank_account_from.account_type = AccountEnum.CHECKING | |
stmtTransRequest.statement_request.inc_transaction = IncTransaction() | |
stmtTransRequest.statement_request.inc_transaction.start_date = "20200601000000" | |
stmtTransRequest.statement_request.inc_transaction.end_date = "20200611000000" | |
stmtTransRequest.statement_request.inc_transaction.include = True | |
ofxRequestDoc.save(os.path.join(outputDir, "newOfxRequestBankStatement.xml"), OfxVersionEnum.V2X) | |
ofxRequestDoc.save(os.path.join(outputDir, "newOfxRequestBankStatement.sgml"), OfxVersionEnum.V1X) |
在 .NET 中创建 OFX 响应文件
This file contains hidden or 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
ofxResponseDoc = OfxResponseDocument() | |
ofxResponseDoc.signon_response_message_set_v1 = SignonResponseMessageSetV1() | |
signonResponse = SignonResponse() | |
ofxResponseDoc.signon_response_message_set_v1.signon_response = signonResponse | |
signonResponse.status = Status() | |
signonResponse.status.code = "0" | |
signonResponse.status.severity = SeverityEnum.INFO | |
signonResponse.status.message = "SUCCESS" | |
signonResponse.server_date = "20200611" | |
signonResponse.profile_update_date = "20200611" | |
fi = FinancialInstitution() | |
fi.organization = "aspose" | |
fi.financial_institution_id = "1" | |
signonResponse.financial_institution = fi | |
signonResponse.session_cookie = "11111111111111111" | |
ofxResponseDoc.bank_response_message_set_v1 = BankResponseMessageSetV1() | |
stmtTransResponse = StatementTransactionResponse() | |
ofxResponseDoc.bank_response_message_set_v1.statement_transaction_responses.append(stmtTransResponse) | |
stmtTransResponse.transaction_unique_id = "829631324" | |
stmtTransResponse.status = Status() | |
stmtTransResponse.status.code = "0" | |
stmtTransResponse.status.severity = SeverityEnum.INFO | |
stmtTransResponse.statement_response = StatementResponse() | |
stmtTransResponse.statement_response.currency = CurrencyEnum.USD | |
stmtTransResponse.statement_response.bank_account_from = BankAccount() | |
stmtTransResponse.statement_response.bank_account_from.bank_id = "1111111" | |
stmtTransResponse.statement_response.bank_account_from.account_id = "1111111111111" | |
stmtTransResponse.statement_response.bank_account_from.account_type = AccountEnum.CHECKING | |
stmtTransResponse.statement_response.bank_transaction_list = BankTransactionList() | |
stmtTransResponse.statement_response.bank_transaction_list.start_date = "20200601000000" | |
stmtTransResponse.statement_response.bank_transaction_list.end_date = "20200611000000" | |
transaction1 = StatementTransaction() | |
transaction1.transaction_type = TransactionEnum.DEBIT | |
transaction1.posted_date = "20200611000000" | |
transaction1.transaction_amount = "-12" | |
transaction1.financial_institution_transaction_id = "1111111111111111111111111" | |
transaction1.name = "bbbbbbbbbbbbbbbbbbbbbbb" | |
transaction2 = StatementTransaction() | |
transaction2.transaction_type = TransactionEnum.CREDIT | |
transaction2.posted_date = "20200611000000" | |
transaction2.transaction_amount = "22222.11" | |
transaction2.financial_institution_transaction_id = "2222222222222222222222222222" | |
transaction2.name = "wwwwwwwwwwwwwwwwwwwwwwww" | |
stmtTransResponse.statement_response.bank_transaction_list.statement_transactions.append(transaction1) | |
stmtTransResponse.statement_response.bank_transaction_list.statement_transactions.append(transaction2) | |
stmtTransResponse.statement_response.ledger_balance = LedgerBalance() | |
stmtTransResponse.statement_response.ledger_balance.balance_amount = "+2222.42" | |
stmtTransResponse.statement_response.ledger_balance.date_as_of = "20200611000000" | |
stmtTransResponse.statement_response.available_balance = AvailableBalance() | |
stmtTransResponse.statement_response.available_balance.balance_amount = "+222222.42" | |
stmtTransResponse.statement_response.available_balance.date_as_of = "20200611000000" | |
ofxResponseDoc.save(os.path.join(outputDir,"newOfxResponseBankStatement.xml"), OfxVersionEnum.V2X) | |
ofxResponseDoc.save(os.path.join(outputDir,"newOfxResponseBankStatement.sgml"), OfxVersionEnum.V1X) |