Transactions

class q2_sdk.hq.db.transactions.TransactionsRow[source]

Bases: RepresentationRowBase

TransactionID: IntElement = 'TransactionID'
CustomerID: IntElement = 'CustomerID'
UserID: IntElement = 'UserID'
CreateDate: StringElement = 'CreateDate'
TransactionType: StringElement = 'ShortName'
TransactionAmount: FloatElement = 'TransactionAmount'
OriginatingAccountID: IntElement = 'OriginationAccountID'
class q2_sdk.hq.db.transactions.AchDetailRow[source]

Bases: RepresentationRowBase

TransactionID: IntElement = 'TransactionID'
CompanyName: StringElement = 'CompanyName'
BatchDiscretionaryData: StringElement = 'BatchDiscretionaryData'
CompanyIdentification: StringElement = 'CompanyIdentification'
CompanyEntryDescription: StringElement = 'CompanyEntryDescription'
CompanyDescriptiveDate: StringElement = 'CompanyDescriptiveDate'
EffectiveEntryDate: StringElement = 'EffectiveEntryDate'
ABA: StringElement = 'ABA'
AccountNumber: StringElement = 'AccountNumber'
Amount: FloatElement = 'Amount'
IdentificationNumber: StringElement = 'IdentificationNumber'
Name: StringElement = 'Name'
DetailDiscretionaryData: StringElement = 'DetailDiscretionaryData'
Addenda: StringElement = 'Addenda'
EmailAddress: StringElement = 'EmailAddress'
AchClassCode: StringElement = 'AchClassCode'
RecipientDisplayName: StringElement = 'RecipientDisplayName'
ParentID: IntElement = 'ParentID'
SettlementID: IntElement = 'SettlementID'
HasChildren: BoolElement = 'HasChildren'
AccountType: StringElement = 'AccountType'
AccountNickName: StringElement = 'AccountNickName'
AbaMasked: StringElement = 'AbaMasked'
AccountNumberMasked: StringElement = 'AccountNumberMasked'
UserRoleID: IntElement = 'UserRoleID'
SubsidiaryID: IntElement = 'SubsidiaryID'
AccountTypeDescription: StringElement = 'AccountTypeDescription'
IsSameDayAch: BoolElement = 'IsSameDayAch'
RecipientID: IntElement = 'RecipientID'
CustomerID: IntElement = 'CustomerID'
class q2_sdk.hq.db.transactions.Transactions(logger, hq_credentials=None, ret_table_obj=None)[source]

Bases: DbObject

Programmatic access to the Q2 database. Not as flexible as a true ORM, but takes the guesswork out of database schemas and ensures safety in the transactions.

Parameters:
  • logger – Reference to calling request’s logger (self.logger in your extension)

  • hq_credentials (Optional[HqCredentials]) – HQ Connectivity Information (Defaults to settings file)

  • ret_table_obj (Optional[bool]) – Flag to return list of LXML elements if False or TableRow objects from DB calls if True (Defaults to settings file)

REPRESENTATION_ROW_CLASS

alias of TransactionsRow

async get_suspect()[source]
Return type:

list[TransactionsRow]

async get_ach_details(transaction_ids, with_recipient_id=False)[source]

Takes a list of transaction ids and queries the database for additional ach details :param: transaction_ids: A list of generated transaction ids that are ach transaction types :param: with_recipient_id: When set to true, the results include RecipientID

Return type:

list[AchDetailRow]