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 transaction was received from a Nacha file (typeCode is UNKWTH, UNKDEP, UNKPRG) this property contains the description verbatim from the Nacha file. By law, this description must be displayed to the end user.

If transaction was received from an ISO-8583 interface (i.e. debit card transaction), this property contains description verbatim from DataElement 43 (Card Acceptor Name/Location) of ISO-8583 interface plus details of any fees or surcharges that may have been incurred. By law, this description must be displayed to the end user.

Otherwise, the transaction was received from a call to Helix API or it was line item in the Bulk Transfer File. This property contains the description verbatim 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. This is automatically generated by Helix driven by the typeCode of the transaction.
institutionNamestringThe name of the financial institution that originated the transaction. Will be populated when possible, but is not always available for all transaction types.
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 integer)The unique identifier created by Helix used to group related transactions together. Examples: an ACH withdrawal and a subsequent return. A debit card authorization and its corresponding completion(s). A mobile check deposit return and its corresponding original mobile check deposit.
nachaDescriptiondeprecatedUse description instead.
nachaInfoobjectA nachaInfo object
purposeCodestring (10)The alphanumeric identifier describing the purpose of the transaction, is provided to the third-party fraud and risk vendor. These values are agreed upon by the bank of record and client during onboarding
requestingCustomerIdintegerThe individual who requested/initiated the transaction (if different from the business customer who owns the account). Only relevant for business accounts.
returnCodestringThe Nacha return code representing why the transaction was returned.
runningAccountBalancedecimalThe accountBalance of the Account this transaction posted against after the transaction is settled.
settledDatedatetimeThe exact date and time the transaction was settled. Returned in time zone local to the bank.

Format: yyyy-MM-ddTHH:mm:ss.SSSZ
Example: 2021-07-04T15:30:45.123+05:00
statementDatedatetimeSame as settledDate
statusenumValid values include:

- Initiated: Transaction has been created but not yet put into a NACHA file
- Pending: Transaction has been created and put into a NACHA file
- Settled: Transaction has been posted to the account
- Voided: Transaction has been voided
subTypeenumThe description of the subtypeCode for this transaction. Applicable only to ISO-8583 based transactions (card).
subTypeCodestring (6)The Merchant Category Code of the merchant where the transaction originated. Categorizes merchants with similar lines of business together. Applicable only to ISO-8583 based transactions (card).
transactionTagstring (50)The program-wide unique identifier provided by the caller during /transfer/create. Helix does not generate this value.
transactionCountintegerThe total transactions that meet your query criteria. Note: only a single page is returned in one call. See /transaction/list for more information.~~
transactionIdlong integer (64-bit integer)The Helix-assigned unique ID for the transaction.
typestringA human-readable description of the type of transaction. For possible values see the 'Description' column on the Transaction Type Detail table
typeCodestring (6)A programmatic code for the type of transaction. See Transaction Types for details.
voidedDatedatetimeThe exact date and time the transaction was voided. Returned in time zone local to the bank.

cardMerchantInfo object

And 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. See Merchant Group Codes for more information.
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 at which the transaction originated.
merchantZipCodestring (9)The postal code of the merchant at which the transaction originated.

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 can be found in the Batch Header Record of an ACH File and is used to identify the Originator.
companyNamestring
isEarlyDepositboolean
nachaSettledDatedatetime
standardEntryClassCodestring