E-Payment Integrator 2020 C++ Edition

Questions / Feedback?

Check21 Class

Properties   Methods   Events   Configuration Settings   Errors  

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

Syntax

Check21

Remarks

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

  • File Header Record (1)
  • Cash Letter Header Record (1)
  • Bundle Header Record (1)
  • Check detail record structure (0 to CheckCount), 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 class makes creating the above file very easy. First set the Origin properties with information about the institution that is originating this file, and the destination it is to be deposited to. Also set the ReturnRoutingNumber.

  Check21.OriginName = "First Bank of Thor"
  Check21.OriginRoutingNumber = "111012822"
  Check21.OriginContactName = "Jake Olsen"
  Check21.OriginContactPhone = "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 class 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, set the CheckCount, and then fill the Check array properties with information read off the check's MICR line, as well as the Payee's name and the amount of the check.
  Check21.CheckCount = 1
  Check21.CheckMICROnUs(0) = "1234567890101" ' Account number on the check
  Check21.CheckMICRRoutingNumber(0) = "902113700"
  Check21.CheckAmount(0) = "50000" ' $500.00
  Check21.CheckSequenceNumber(0) = "407" 
  Check21.CheckPayeeName = "Bruce Banner"
Then set information about the Bank of First Deposit. This may be identical to the Origin. The CheckBOFDConversionIndicator should also be set to "2" if this bank converted the original check into the image being included.
  Check21.CheckBOFDRoutingNumber(0) = "111012822"
  Check21.CheckBOFDAccountNumber(0) = "181818181818181818"
  Check21.CheckBOFDBranch(0) = "Asgard"  
  Check21.CheckBOFDConversionIndicator(0) = "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 CheckFrontImageFilename and CheckBackImageFilename properties to point to image files on disk, or you may set the binary data directly in CheckFrontImageData and CheckBackImageData. You also need to set a unique identifier that can be used to retrieve the images at a later date.
  Check21.CheckImageFormat(0) = ifTIFF ' default
  Check21.CheckImageCompression(0) = icJPEG ' default
  Check21.CheckCanRecreateImages(0) = True ' default
  Check21.CheckFrontImageFilename(0) = "front.jpg"
  Check21.CheckFrontImageReferenceKey(0) = "72234215front"
  Check21.CheckBackImageFilename(0) = "back.jpg"
  Check21.CheckBackImageReferenceKey(0) = "72234215back"
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 properties and call BuildAndUploadFile method instead.

Property List


The following is the full list of the properties of the class 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.
CheckCountThe number of records in the Check arrays.
CheckAmountThe US dollar value of the check.
CheckBackImageCreationDateDate assigned by the image creator for the image contained in BackImageData .
CheckBackImageDataThis property contains the scanned image of the back of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckBackImageFilenameThis property contains location of a scanned image of the back of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckBackImageReferenceKeyA designator assigned by the ECE institution that uniquely identifies the BackImageData .
CheckBOFDAccountNumberA number that identifies the depository account at the Bank of First Deposit.
CheckBOFDBranchA code that identifies the branch at the Bank of First Deposit.
CheckBOFDConversionIndicatorA code that indicates the conversion within the processing institution between original paper check, image, and IRD.
CheckBOFDRoutingNumberA number that identifies the Bank of First Deposit.
CheckBOFDTruncatorIdentifies if this BOFD is the truncator of the original check.
CheckCanRecreateImagesA code that indicates whether the sender has the ability to recreate the check images (from the original source) for the duration of the agreed to retention time frame.
CheckFrontImageCreationDateDate assigned by the image creator for the image contained in FrontImageData .
CheckFrontImageDataThis property contains the scanned image of the front of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckFrontImageFilenameThis property contains location of a scanned image of the front of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckFrontImageReferenceKeyA designator assigned by the ECE institution that uniquely identifies the FrontImageData .
CheckImageCompressionA code that identifies the algorithm or method used to compress the images stored in the FrontImageData and BackImageData properties.
CheckImageCreatorRoutingNumberA number that identifies the financial institution that created the image (if different from BOFDRoutingNumber ).
CheckImageFormatA code that identifies the type of image format used for the images contained in the FrontImageData and BackImageData properties.
CheckMICRAuxOnUsA code used on commercial checks at the discretion of the payor bank, read off of the MICR line on a check.
CheckMICROnUsAccount number data specified by the payor bank and read from the MICR line on a check.
CheckMICRProcessingCodeThe external processing code from the MICR line of a check, if present.
CheckMICRRoutingNumberPayor bank routing number, read from the MICR line of a check.
CheckPayeeNameThe name of the payee from the check.
CheckSequenceNumberECE Institution Item Sequence Number, assigned by the institution that creates 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.
FTPPasswordThe password to login with.
FTPRemoteFileThe name of the file as it will appear on the server after upload.
FTPRemoteHostThe domain name or IP address of the FTP server the file is to be uploaded to.
FTPRemotePathThe current path on the FTP server.
FTPRemotePortThe port for the FTP service (default is 21).
FTPTimeoutA timeout to use when uploading via FTP.
FTPUserThe user id to login as.
OriginContactNameA contact at the institution that creates the file.
OriginContactPhoneThe phone number of the ContactName at the institution that created the file.
OriginNameThe short name of the ECE institution that created the file.
OriginRoutingNumberA number that identifies the ECE institution that originates the file.
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.
SSLAcceptServerCertEncodedThe certificate (PEM/base64 encoded).
SSLCertEncodedThe certificate (PEM/base64 encoded).
SSLCertStoreThe name of the certificate store for the client certificate.
SSLCertStorePasswordIf the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store.
SSLCertStoreTypeThe type of certificate store for this certificate.
SSLCertSubjectThe subject of the certificate used for client authentication.
SSLServerCertEncodedThe certificate (PEM/base64 encoded).
SSLStartModeDetermines how the class starts the SSL negotiation.

Method List


The following is the full list of the methods of the class 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 class and all properties to their default values.

Event List


The following is the full list of the events fired by the class 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 class 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.
CodePageThe system code page used for Unicode to Multibyte translations.
LicenseInfoInformation about the current license.
ProcessIdleEventsWhether the class uses its internal event loop to process events when the main thread is idle.
SelectWaitMillisThe length of time in milliseconds the class will wait when DoEvents is called if there are no events to process.
UseInternalSecurityAPITells the class whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2021 /n software inc. - All rights reserved.
E-Payment Integrator 2020 C++ Edition - Version 20.0 [Build 7941]