E-Payment Integrator 2020 .NET Edition

Questions / Feedback?

Check21 Component

Properties   Methods   Events   Configuration Settings   Errors  

The Check21 component is used to construct a file containing scanned images of paper checks, and optionally upload it to an FTPS server.




An X9.37 file created by this component will contain the following records:

  • File Header Record (1)
  • Cash Letter Header Record (1)
  • Bundle Header Record (1)
  • Check detail record structure (0 to Checks.Count), which contains:
    • Check Detail Record (1)
    • Check Detail Addenda A (1)
    • Front Image View Detail Record (0 or 1)
    • Front Image View Data Record (0 or 1)
    • Back Image View Detail Record (0 or 1)
    • Back Image View Data Record (0 or 1)
  • Bundle Control Record (1)
  • Cash Letter Control Record (1)
  • File Control Record (1)

This component makes creating the above file very easy. First set the Origin fields with information about the institution that is originating this file, and the destination it is to be deposited to. Also set the ReturnRoutingNumber.

  Check21.Origin.OriginName = "First Bank of Thor"
  Check21.Origin.RoutingNumber = "111012822"
  Check21.Origin.ContactName = "Jake Olsen"
  Check21.Origin.ContactPhone = "800-555-5555"
  Check21.DestinationRoutingNumber = "051000321"
  Check21.DestinationName = "First Bank of Loki"
  Check21.ReturnRoutingNumber = "111012822"
This file must be differentiated from other files, so now set the CashLetterId and CycleNumber properties, as well as the Filename. (Alternatively Filename may be left empty, and the component will write the file to memory and store it in the FileData property).

  Check21.CashLetterId = "123456"
  Check21.CycleNumber = "01"
  Check21.Filename = "sample_output.dat"
This file is going to contain scanned images of paper checks, so RecordType should be set to rtChecksAndImages and make sure the DocumentationType is set to a compatible value ("G" through "J" are valid when RecordType is rtChecksAndImages).
  Check21.RecordType = rtChecksAndImages
  Check21.DocumentationType = "G"
This sample file is to contain only one check, but a real file may contain any number of checks. To add a check, create a new CheckDetail object and fill the fields with information read off the check's MICR line, as well as the Payee's name and the amount of the check.
  CheckDetail check = new CheckDetail()
  check.MICROnUs = "1234567890101" ' Account number on the check
  check.MICRRoutingNumber = "902113700"
  check.Amount = "50000" ' $500.00
  check.SequenceNumber = "407" 
  check.PayeeName = "Bruce Banner"
Then set information about the Bank of First Deposit. This may be identical to the Origin. The BOFDConversionIndicator should also be set to "2" if this bank converted the original check into the image being included.
  check.BOFDRoutingNumber = "111012822"
  check.BOFDAccountNumber = "181818181818181818"
  check.BOFDBranch = "Asgard"  
  check.BOFDConversionIndicator = "2"
Finally, you must include images of the front and back of the check, and indicate the format and compression used to create those images. You may use FrontImageFilename and BackImageFilename fields to point to image files on disk, or you may set the binary data directly in FrontImageData and BackImageData. You also need to set a unique identifier that can be used to retrieve the images at a later date.
  check.ImageFormat = ifTIFF ' default
  check.ImageCompression = icJPEG ' default
  check.CanRecreateImages = True ' default
  check.FrontImageFilename = "front.jpg"
  check.FrontImageReferenceKey = "72234215front"
  check.BackImageFilename = "back.jpg"
  check.BackImageReferenceKey = "72234215back"
Finally add the check image to the component's Checks collection.
Now call BuildFile to build the file and save it to the Filename you indicated earlier. If you have an FTPS server (TLS/SSL-secured FTP) to upload the files to, you may set the FTP fields and call BuildAndUploadFile method instead.

Property List

The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

BusinessDateThe year, month, and day that designates the business date at the Bank of First Deposit.
CashLetterIdA code used to uniquely identify the cash letter inside the file.
ChecksCollection of checks to be written to the file.
CollectionTypeA code that indicates the type of cash letter and bundle contained in the file.
CycleNumberDenotes the cycle under which the file is created.
DestinationNameThe short name that identifies the institution that receives the file.
DestinationRoutingNumberThis number identifies the institution that receives the file.
DocumentationTypeA code that indicates the type of documentation that supports all Checks records in the file.
FileDataContains the binary contents of the X9.37 file created by the BuildFile method.
FilenamePath and name of the file to be written to disk by the BuildFile method.
FTPInformation about the FTP or FTPS server you're uploading to.
OriginContains information about the originator of this file and the checks contained within.
RecordTypeA code that indicates the type of records contained in this file.
ReturnRoutingNumberA routing number indicating the location to which returns and return notifications should be sent.
SettlementDateThe date that the institution that created the file expects settlement.
SSLAcceptServerCertInstructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertThe certificate to be used during SSL negotiation.
SSLServerCertThe server certificate for the last established connection.
SSLStartModeDetermines how the component starts the SSL negotiation.

Method List

The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

BuildAndUploadFileBuilds an X9.37 file and uploads it to an FTP server.
BuildFileBuilds an X9.37 file.
ConfigSets or retrieves a configuration setting.
DoEventsProcesses events from the internal message queue.
InterruptInterrupt the current method.
ResetReset the internal state of the component and all properties to their default values.

Event List

The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ErrorInformation about non-fatal errors encountered during file construction.
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusShows the progress of the secure connection.
StatusTraces the commands sent to the server, and the respective replies.

Configuration Settings

The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.

AllowAllBOFDIndicatorsAllows for any value to be specified within the BOFDIndicator field.
ArchiveTypeIndicates the type of archive that supports each Check in this file.
ASCIIOutputIndicates whether to output ASCII or EBCDIC.
BOFDIndicatorIndicates whether the origin is also the bank of first deposit.
BundleCountTotal number of bundles in the file.
BundleCreationDateThe date the bundle is created.
BundleIdUnique identifier for the bundle inside the Cash Letter.
BundleIndexIndex of the current bundle.
CashLetterCreationDateThe date the cash letter is created.
CashLetterCreationTimeThe time the cash letter is created.
CheckIsCredit[i]Indicates whether a Check is to be sent as a Credit (61) Record.
CountryCodeA code that identifies the country in which the payor bank is located.
DetailAddendumRecordNumberThe Check Detail Addendum A Record Number.
FedWorkTypeFederal Reserve work type.
FileCreationDateThe date the file is created.
FileCreationTimeThe time the file is created.
FileIdA code used to uniquely identify this file.
FileUserFieldA User Field.
IncludeAddendAWhether to include Detail Addendum A Record.
OverwriteIndicates whether local files can be overwritten.
OverwriteRemoteFileIndicates whether remote files can be overwritten on the FTP server.
ResendIndicatorIndicates whether the file being built has been previously transmitted in its entirety.
ReservedFieldA field reserved for future use.
ReturnAcceptanceA code that indicates whether the institution that creates this file will or will not support electronic return processing.
TestFileIndicates whether the file being built is a test file or a production file.
BuildInfoInformation about the product's build.
GUIAvailableTells the component whether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
UseInternalSecurityAPITells the component whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2022 4D Payments Inc. - All rights reserved.
E-Payment Integrator 2020 .NET Edition - Version 20.0 [Build 8153]