Transaction

A transaction represents a movement of funds. This includes requests via the /transfer/create route, interest paid, manual adjustments, debit card transactions, incoming ACH requests, etc.

The transaction resource is used for retrieving one or more transactions. Transactions that are initiated via the /transfer/create route with external bank accounts (or via a recurring contribution) can be voided as long as the ACH request has not yet been delivered to NACHA.

transaction Object

PropertyData Type (length)Description
accountIdintegerThe Helix-assigned unique ID for the account this transaction posted against
amountdecimalThe amount of funds the transaction represents.
availableDatedatetimeThe exact date and time the funds associated with the transaction became available. Returned in time zone local to the bank.
Format: yyyy-MM-ddTHH:mm:ss.SSSZ
Example: 2021-07-04T15:30:45.123+05:00
cardIdintegerThe Helix-generated unique ID for the card that created the transaction. Will be empty or 0 if this transaction is not tied to a card.
cardMerchantInfoobjectA cardMerchantInfo object
checkobjectCheck object related to check deposit transaction types.
createdDatedatetimeThe exact date and time the transaction was created. Returned in time zone local to the bank.
Format: yyyy-MM-ddTHH:mm:ss.SSSZ
Example: 2021-07-04T15:30:45.123+05:00
customerIdintegerCustomer who owns the bank account associated with the transaction.
customField1stringOnly used internally by Q2
depositAvailabilityobjectdepositAvailability object related to deposit transaction types.
descriptionstringRepresents a client-specified description of the transaction.

- If from a Nacha file (typeCode is UNKWTH, UNKDEP, UNKPRG), contains description verbatim from Nacha file (must be displayed to the end user).
- If from ISO-8583 interface (debit card transaction), contains description verbatim from DataElement 43 (Card Acceptor Name/Location) plus any fees/surcharges (must be displayed to the end user).
- Otherwise, contains description passed by the client code.
feeCodeenumThe code of the fee this transaction represents. Possible values:
- ACH: Same Day ACH Fee
- DAF: Dormancy Fee
- IAF: Inactivity Fee
- ICF: International Card Fee
- NSF: Insufficient Funds Fee
- RGD: Regulation D Fee
- RTN: Return Item Fee
feeDescriptionenumThe description of the fee this transaction represents. See feeCode for possible values.
friendlyDescriptionstringA human-readable description of the transaction. Automatically generated by Helix based on typeCode.
institutionNamestringThe name of the financial institution that originated the transaction. Populated when possible.
isCreditbooleantrue if the amount is crediting the given accountId, false otherwise.
isEarlyDirectDepositbooleantrue if the transaction was an early direct deposit.
isSameDaySettlebooleantrue if the transaction is Same Day ACH.
masterIdlong integer (64-bit)The unique identifier created by Helix used to group related transactions together. Examples: ACH withdrawal + return, debit card auth + completion(s), check deposit + return.
nachaDescriptiondeprecatedDeprecated. Use description instead.
nachaInfoobjectA nachaInfo object
purposeCodestring (10)Identifier describing the purpose of the transaction, provided to the fraud/risk vendor. Values agreed on during onboarding.
requestingCustomerIdintegerThe individual who requested/initiated the transaction (if different from the account owner). Relevant for business accounts.
returnCodestringThe Nacha return code representing why the transaction was returned.
runningAccountBalancedecimalThe accountBalance of the Account this transaction posted against after settlement.
settledDatedatetimeThe exact date and time the transaction was settled. Returned in bank local time.
Format: yyyy-MM-ddTHH:mm:ss.SSSZ
Example: 2021-07-04T15:30:45.123+05:00
statementDatedatetimeSame as settledDate.
statusenumValid values:
- Initiated: Created but not yet in NACHA file
- Pending: Created and in NACHA file
- Settled: Posted to account
- Voided: Transaction voided
subTypeenumDescription of subtypeCode for this transaction (card transactions only).
subTypeCodestring (6)Merchant Category Code. Categorizes merchants with similar lines of business (card transactions only).
transactionTagstring (50)Unique identifier provided by caller during /transfer/create. Helix does not generate this.
transactionCountintegerThe total transactions that meet your query criteria. Note: only a single page is returned per call. See /transaction/list.
transactionIdlong integer (64-bit)Helix-assigned unique ID for the transaction.
typestringHuman-readable description of the transaction type. See Transaction Type Detail table.
typeCodestring (6)Programmatic code for the type of transaction. See Transaction Types.
voidedDatedatetimeThe exact date and time the transaction was voided. Returned in bank local time.
wireInfoobjectA wireInfo object

cardMerchantInfo Object

An object containing additional merchant data for card transactions:

PropertyData Type (length)Description
merchantCitystring (13)The city of the merchant at which the transaction originated.
merchantCountryCodestring (2)The country code of the card acceptor.
merchantGroupcodestring (6)A grouping of multiple Merchant Category Codes into fewer, more useful sets.
merchantIdstring (15)The identification code of the merchant that accepted the card information.
merchantLocationstring (23)The location of the merchant at which the transaction originated.
merchantStateCodestring (2)The two-character state abbreviation of the merchant.
merchantZipCodestring (9)The postal code of the merchant.

nachaInfo Object

An object containing additional ACH file data for externally-originated ACH deposits into Helix accounts:

PropertyData Type (length)Description
companyDiscretionaryDatastring
companyEntryDescriptionstring
companyIdentificationstringThe companyIdentification field is in the Batch Header Record of an ACH File and identifies the Originator.
companyNamestring
isEarlyDepositboolean
nachaSettledDatedatetime
standardEntryClassCodestring

wireInfo Object

An object containing additional data for wire transactions:

PropertyData Type (length)Description
beneficiaryAccountNumberMaskedstringMasked account number at beneficiary’s financial institution.
Example: **********1234
beneficiaryAddressLine1stringAddress line 1 of the beneficiary.
beneficiaryAddressLine2stringAddress line 2 of the beneficiary.
beneficiaryAddressLine3stringAddress line 3 of the beneficiary.
beneficiaryFIAddressLine1stringAddress line 1 of beneficiary’s financial institution.
beneficiaryFIAddressLine2stringAddress line 2 of beneficiary’s financial institution.
beneficiaryFIAddressLine3stringAddress line 3 of beneficiary’s financial institution.
beneficiaryFINamestringName of the beneficiary’s financial institution.
beneficiaryFIRoutingNumberstringRouting number of the beneficiary’s financial institution.
beneficiaryNamestringFull name of the beneficiary.
intermediaryFINamestringName of intermediary financial institution.
intermediaryFIRoutingNumberstringRouting number of intermediary financial institution.
intermediaryFIAddressstringAddress of intermediary financial institution.
intermediaryFICitystringCity of intermediary financial institution.
intermediaryFIStatestringU.S. state abbreviation of intermediary financial institution.
intermediaryFIPostalCodestringPostal code of intermediary financial institution.
originatorAddressLine1stringAddress line 1 of the originator.
originatorAddressLine2stringAddress line 2 of the originator.
originatorAddressLine3stringAddress line 3 of the originator.
originatorNamestringFull name of the originator (sender).
originatorToBeneficiaryInformationstringProvides details about the payment to the beneficiary.
receiverRoutingNumberstring
receiverShortNamestring
senderReferencestring
senderRoutingNumberstringRouting number of the financial institution originating the transfer.
senderShortNamestringShortened name of the originating financial institution.
wireCreatedDatedatetime
wireIdlong integer (64-bit)
wireTypestring