API Documentation

Card Event Notification File

A record of debit card properties which tie back to events in the corresponding Event Notification File.

Card Event Notification File Definition

This file is created by CorePro on an hourly basis. It has the following properties:

  1. Fixed-length. Header row is 129 bytes excluding line endings. Each content row is 3388 bytes excluding line endings.
  2. ANSI encoded
  3. Line endings are Windows-style CarriageReturn + LineFeed (\r\n, or 0x0D0A)
  4. File will be available in the relative directory of /EventNotification
  5. File name follows a specific, case-sensitive pattern of: yyyyMMddhhmm_DEBITCARDEVENTNOTIFICATION.TXT
  6. Root-relative path on sftp.corepro.io for that file would be: /EventNotification/201809060605_DEBITCARDEVENTNOTIFICATION.TXT

Format Disclaimer
Q2 Open reserves the right to append new field(s) to the end of any Header or Content line without notice. This is to allow new data points to be added as needed in a timely fashion.

Implementation Note
Your code should be written such that unexpected characters after the "last" field but prior to the end of each line should be ignored. That is, if the file is documented as being 872 bytes per line, receiving a file with 984 bytes per line should not disrupt your processing. This applies to both Header and Content lines.

File Name Disclaimer
The date in file name should be used as a guideline for human eyes only. Any date-related programmatic dependencies should rely on the FileCreatedDate or FileEffectiveDate contained within the header line of each file, as these will be precise to the second and will be in the appropriate timezone.

Header Row

Property Data Type (Length) Alignment Start Position Description
RecordType string (1) Left 1 The flag for the header row. Will always be H.
FileName string (50) Left 2 The name of this request file excluding path. Will be named following this pattern:
  1. yyyyMMddhhmm_DEBITCARDEVENTNOTIFICATION.TXT
  2. Example: 201901210939_DEBITCARDEVENTNOTIFICATION.TXT
RecordCount integer (10) Right 52 The number of records represented within the file.
NOTE: This field is zero-padded on the left side. e.g.: 0000000872
FileCreatedDate datetime (34) Left 62 The date the file was created.
Follows same format as API e.g.: 2014-10-20T10:30:31.456-05:00. See date format details.
FileEffectiveDate datetime (34) Left 96 The date to which the data in the file pertains.
Follows same format as API e.g.: 2014-10-20T23:59:59.999-05:00. See date format details.

Content Row

Property Data Type (Length) Alignment Start Position Description
UserEventID integer (19) Right 1 The unique identifier for an event. Use this field alone to cross reference against the Event Notification File or the Realtime Event sent via Azure Service Bus.
NOTE: This field is zero-padded on the left side. e.g.: 0000000872
CustomerId integer (10) Right 20 The unique identifier for a Customer.
NOTE: This field is zero-padded on the left side. e.g.: 0000000872
CardId integer (10) Right 30 The unique identifier for the card to which this event applies.
NOTE: This field is zero-padded on the left side. e.g.: 0008309285
TransactionId integer (19) Right 40 The unique identifier for the transaction object to which this event applies. May be 0000000000 if this event does not apply to a specific TransactionId.
NOTE: This field is zero-padded on the left side. e.g.: 0008309285
AuthorizationTransactionId integer (19) Right 59 The unique identifier for the associated authorization transaction.
May be 0000000000 if it does not apply.NOTE: This field is zero-padded on the left side. e.g.: 0008309285
RequestTypeCode string (3) Left 78 The method of request from the debit rails. Possible values are REQ (Request; CorePro approved or denied the message) and ADV (Advice; The network provider approved or denied the message and notified CorePro afterwards).
RESERVED string (12) Left 81 This range of bytes is reserved for future use.
MerchantCategoryCOde string (4) Left 93 The exact Merchant Category Code value received from the network provider.
MerchantGroupTypeCode string (6) Left 97 A grouping of multiple Merchant Category Codes into fewer, more useful sets. See Merchant Group Types for more information.
CashbackAmount integer (10) Right 103 The amount of cashback provided when the transaction occurred. NOTE: This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
SurchargeAmount integer (10) Right 113 The amount of the surcharge applied when the transaction occurred. NOTE: This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
CashDepositAmount integer (10) Right 123 The amount of cash deposited when the transaction occurred. NOTE: This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
CheckDepositAmount integer (10) Right 133 The amount of the check deposited when the transaction occurred. NOTE: This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
TerminalId string (15) Left 143 The identification code of the device at the merchant that accepted the card information.
MerchantId string (15) Left 158 The identification code of the merchant that accepted the card information.
MerchantLocation string (25) Left 173 The location of the merchant at which the transaction originated.
MerchantCity string (13) Left 198 The city of the merchant at which the transaction originated.
MerchantStateCode string (2) Left 211 The two-character state abbreviation of the merchant at which the transaction originated.
MerchantZipCode string (9) Left 213 The postal code of the merchant at which the transaction originated.
MerchantCountryCode string (2) Left 222 The two-character country abbreviation of the merchant at which the transaction originated.
PanEntryModeTypeCode string (10) Left 224 The method by which the card number was input to the merchant's device. Possible values:
  • KEY - Manually (key) entered
  • MAG - Magnetic stripe read
  • MAN - Manual, no terminal
  • UNK - Unknown
PinEntryModeTypeCode string (10) Left 234 The method by which the card holder was validated at the merchant's device. Possible values:
  • N/A - Not Applicable
  • PIN - Network Provider-verified PIN
  • PWD - Password authentication
CardHolderPresenceTypeCode string (10) Left 244 The presence of the card holder at the time the transaction was originated. Possible values:
  • INSTALL - Cardholder not present, installment payment
  • MAILTEL - Cardholder not present, mail or telephone order
  • MOBILE - Mobile
  • NOTPRESENT - Cardholder not present, unspecified
  • PRESENT - Cardholder present
  • RECUR - Cardholder not present, recurring payment
  • TRANSFER - Money Transfer
  • UNKNOWN - Unknown
  • WEB - Web
CardPresenceTypeCode string (10) Left 254 The presence of the physical card at the time the transaction was originated. Possible values:
  • NOTPRESENT - Card not present
  • PRESENT - Card present
TerminalUnattendedTypeCode string (10) Left 264 Possible values:
  • ATTENDED - Terminal was attended
  • NOTERM - No terminal
  • UNATTENDED - Terminal was unattended
TerminalPremisesTypeCode string (10) Left 274 Location of the merchant's device in relation to the merchant's location. Possible values:
  • ECOMM - Electronic Commerce
  • OFFPREM - Off premise
  • ONPREM - On premise
CustomerTag string (50) Left 284 The tag property of the customer object.
CardTag string (50) Left 334 The tag property of the card object.
Amount integer (10) Right 384 The amount of funds this transaction represents. This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
AvailableDate datetime (34) Left 394 The date the transaction was made available / is projected to be made available. Follows same format as API e.g.: 2014-10-20T10:30:31.456-05:00. See date format details.
CreatedDate datetime (34) Left 428 The date the transaction was created. Follows same format as API e.g.: 2014-10-20T10:30:31.456-05:00. See date format details.
CustomField1 string (50) Left 462 The customField1 property of the transaction object.
Description string (255) Left 512 The NACHA-supplied description for this transaction.
DenialReason string (255) Left 767 Text describing why a transaction was denied from taking place.
FeeCode string (3) Left 1022 The programmatic value for the type of fee this transaction represents. Possible values:
  • RGD - Regulation D Fee
  • RTN - Return Item Fee
  • NSF - Insufficient Funds Fee
FeeDescription string (50) Left 1025 A human-readable description of the feeCode.
FriendlyDescription string (255) Left 1075 A human-readable, automatically generated description of the transaction that caused the event. Driven by the typeCode of the transaction.
FromAccountAmount integer (10) Right 1330 Total balance of the customer account that was debited, after the debit was applied, including funds that have holds placed on them. Represents all settled transactions to date. This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
FromAccountId integer (10) Right 1340 The unique identifier for the customer account that was debited.NOTE: This field is zero-padded on the left side. e.g.: 0008309285
FromAccountNumberMasked string (50) Left 1350 Masked version of the Account number of the customer account that was debited. e.g. ********1234
FromAvailableAmount integer (10) Right 1400 Balance available for immediate withdrawal from the customer account that was debited after the debit was applied. This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
FromCategory string (50) Left 1410 The caller-specified category to which the customer account that was debited belongs.
FromCreatedDate string (34) Left 1460 Date the customer account was created.
FromCustomField1 string (50) Left 1494 The customField1 property of the customer object that was debited.
FromCustomField2 string (50) Left 1544 The customField2 property of the customer object that was debited.
FromCustomField3 string (50) Left 1594 The customField3 property of the customer object that was debited.
FromCustomField4 string (50) Left 1644 The customField4 property of the customer object that was debited.
FromCustomField5 string (50) Left 1694 The customField5 property of the customer object that was debited.
FromLegalName1 string (100) Left 1744 The first legal name used to identify the customer account that was debited.
FromLegalName2 string (100) Left 1844 A secondary legal name used to identify the customer account that was debited.
FromName string (50) Left 1944 A caller-specified, user-friendly name for the customer account that was debited.
FromPendingAmount integer (10) Right 1994 Balance of pending deposit transactions on the customer account that was debited, after the debit was applied. This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
FromPrimaryCustomerId integer (10) Right 2004 Denotes the customer considered the primary owner for the account that was debited.
NOTE: This field is zero-padded on the left side. e.g.: 0008309285
FromSubCategory string (50) Left 2014 The caller-specified subcategory to which the customer account that was debited belongs.
FromTag string (50) Left 2064 A caller-specified, unique identifier for the customer account that was debited.
InstitutionName string (50) Left 2114 The name of the institution from which the transaction originated.
MasterId long integer (19) Right 2164 The unique identifier created by CorePro used to group related transactions together that caused this event.
NOTE: This field is zero-padded on the left side. e.g.: 0000000123458309285
ModifiedById integer (10) Right 2183 The unique identifier for the Customer, Admin User, or 0 for system generated events.
NOTE: This field is zero-padded on the left side. e.g.: 0008309285
PayloadTypeId integer (10) Right 2193 The "type" of payload in the data node. Represents a predefined set of properties that could potentially appear in the data node. (properties with null values for a particular instance of the payload will be excluded)
SettledDate datetime (34) Left 2203 The date the transaction was settled / is projected to settle. Follows same format as API e.g.: 2014-10-20T10:30:31.456-05:00. See date format details.
SubType string (255) Left 2237 The description of the subtype for this transaction.
SubTypeCode string (6) Left 2492 The code of the subtype for this transaction.
Tag string (50) Left 2498 The tag property from the transaction object.
ToAccountAmount integer (10) Right 2548 Total balance of the customer account that was credited, after the credit was applied, including funds that have holds placed on them. Represents all settled transactions to date. This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
ToAccountId integer (10) Right 2558 The unique identifier for the customer account that was credited.
NOTE: This field is zero-padded on the left side. e.g.: 0008309285
ToAccountNumberMasked string (50) Left 2568 Masked version of the Account number of the customer account that was credited. e.g. ********1234
ToAvailableAmount integer (10) Right 2618 Balance available for immediate withdrawal from the customer account that was credited after the credit was applied. This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
ToCategory string (50) Left 2628 The caller-specified category to which the customer account that was credited belongs.
ToCreatedDate datetime (34) Left 2678 Date the customer account was created.
ToCustomField1 string (50) Left 2712 The customField1 property of the customer object that was credited.
ToCustomField2 string (50) Left 2762 The customField2 property of the customer object that was credited.
ToCustomField3 string (50) Left 2812 The customField3 property of the customer object that was credited.
ToCustomField4 string (50) Left 2862 The customField4 property of the customer object that was credited.
ToCustomField5 string (50) Left 2912 The customField5 property of the customer object that was credited.
ToLegalName1 string (100) Left 2962 The first legal name used to identify the customer account that was credited.
ToLegalName2 string (100) Left 3062 A secondary legal name used to identify the customer account that was credited.
ToName string (50) Left 3162 The name property of the account object that was credited.
ToPendingAmount integer (10) Right 3212 Balance of pending deposit transactions on the customer account that was credited, after the credit was applied. This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
ToPrimaryCustomerId integer (10) Right 3222 Denotes the customer considered the primary owner for the account that was credited.
NOTE: This field is zero-padded on the left side. e.g.: 0008309285
ToSubCategory string (50) Left 3232 The caller-specified subcategory to which the customer account that was credited belongs.
ToTag string (50) Left 3282 A caller-specified, unique identifier for the customer account that was credited.
Type string (50) Left 3332 A human-readable representation of the type of transaction that caused this event.
TypeCode string (6) Left 3382 The typeCode of the transaction object.

Example Card Event Notification File

Content: See 201901210939_DEBITCARDEVENTNOTIFICATION.TXT

Updated Content: See 202005061456_DEBITCARDEVENTNOTIFICATION.TXT


NOTE: Your browser or text editor may wrap the text to fit the window or silently convert the delimiter tab characters to spaces. Actual source file does not wrap and has delimiter tab characters.

Ready to start a conversation?

Email Us