Créer des fichiers de demande et de réponse OFX dans Python API

Aspose.Finance pour Python via .NET prend en charge la création de fichiers de requête et de réponse OFX au format 1.03 et 2.2. Pour créer des documents OFX, le API fournit les classes OfxRequestDocument et OfxResponseDocument. Les exemples suivants montrent comment créer des fichiers de demande et de réponse OFX aux formats 1.03 et 2.2.

Créer un fichier de demande OFX dans .NET

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)

Créer un fichier de réponse OFX dans .NET

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)