EXCELLA WINDOWS API SPECIFICATIONS PROGRAMMING REFERENCE MANUAL MANUAL PART NUMBER 99875313-4 NOVEMBER 2009 REGISTERED TO ISO 9001:2008 1710 Apollo Court Seal Beach, CA 90740 Phone: (562) 546-6400 FAX: (562) 546-6301 Technical Support: (651) 415-6800 www.magtek.
Copyright© 2004 - 2010 MagTek®, Inc. Printed in the United States of America Information in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of MagTek, Inc. MagTek is a registered trademark of MagTek, Inc. ExcellaTM is a trademark of MagTek, Inc. Microsoft® is a trademark of Microsoft, Inc.
REGISTERED TO ISO 9001:2008 1710 Apollo Court, Seal Beach, CA 90740 Voice: 562-546-6400 Fax: 562-546-6301 MagTek Part Number 99875313-4 SOFTWARE LICENSE AGREEMENT IMPORTANT: YOU SHOULD CAREFULLY READ ALL THE TERMS, CONDITIONS AND RESTRICTIONS OF THIS LICENSE AGREEMENT BEFORE INSTALLING THE SOFTWARE PACKAGE. YOUR INSTALLATION OF THE SOFTWARE PACKAGE PRESUMES YOUR ACCEPTANCE OF THE TERMS, CONDITIONS, AND RESTRICTIONS CONTAINED IN THIS AGREEMENT.
TABLE OF CONTENTS SECTION 1. OVERVIEW ............................................................................................................................. 1 REQUIREMENTS ..................................................................................................................................... 1 SECTION 2. EXCELLA ARCHITECTURE AND OPERATION .................................................................. 3 TERM DESCRIPTION .................................................................
MTMICRQueryInfo ................................................................................................................................ 26 Parameters ......................................................................................................................................... 26 Return Values ..................................................................................................................................... 26 Remarks .....................................................
Example .............................................................................................................................................. 44 SECTION 4. KEY-VALUE PAIRS ............................................................................................................. 45 KEY/VALUE PAIRS SENT BY THE DEMO APPLICATION TO THE DEVICE .................................... 45 Example for setting up ImageOptions key-value pairs to obtain 4 Images ........................................
TABLE OF FIGURES FIGURE 1-1. EXCELLA MICR CHECK READER AND DUAL-SIDED SCANNER ...................................................... VIII FIGURE 2-1. EXCELLA ARCHITECTURE ............................................................................................................. 3 FIGURE 2-2. DEVICES ATTACH THROUGH USB NETWORK CARD ....................................................................... 5 FIGURE 2-3. RNDIS SUPPORT FOR A USB NETWORK DEVICE.....................................................
Figure 1-1.
SECTION 1. OVERVIEW The Installation of the Excella consists of the hardware installation and the software installation. The hardware installation requirements are contained in Excella, MICR Check Reader and DualSided Scanner, Installation and Operation Manual, part number 99875310. The software installation requirements of the Excella Windows API Specifications are defined below. The sections of this manual are as follows: Section 1. Section 2. Section 3. Section 4. Section 5.
Excella Windows API Specifications 2
SECTION 2. EXCELLA ARCHITECTURE AND OPERATION The architecture of the system is shown in Figure 2-1. Descriptions of the terms and operations used follow the illustration. Application ‘C’ API XML to Key/Value and vice versa Excella Image API MSXML ‘C’ API to xfer data to a web Wininet.
Excella Windows API Specifications TERM DESCRIPTION mtmcrapi.dll. Provides API to upper level application to talk to the device. The application does not have any knowledge of how the device is connected to the computer. Thus it does not expose the transport protocol to the application. We are using HTTP protocol with XML to communicate with the device. The mtmcrapi.dll uses wininet.dll to talk to internet protocols. The mtmcrapi.dll.
Section 2. Excella Architecture and Operation DEVICES ATTACH THROUGH USB NETWORK CARD Devices attach through the USB Network card are shown in Figure 2-2. * Figure 2-2. Devices attach through USB Network Card RNDIS SUPPORT FOR A USB NETWORK DEVICE RNDIS Support for a USB Network device is shown in Figure 2-3.* Figure 2-3. RNDIS Support for a USB Network Device * Figures 2-2 and 2-3 are taken from Microsoft’s website.
Excella Windows API Specifications SUPPORT FOR EXCELLA ON PC SIDE: To support Excella on the PC side, a template INF file provided by Microsoft was modified to install the RNDIS drivers. There are two driver files provided by Microsoft: rndismp.sys (export driver and is linked to usb8023.sys) usb8023.sys (For an RNDIS USB Device) When usb8023.sys is loaded the system automatically loads rndismp.sys. Windows XP has built in support for RNDIS. Windows 2000 does not have RNDIS drivers.
Section 2.
Excella Windows API Specifications Get Device Status The following is an example in using the IP address of the Excella device to obtain device status information. Assuming the Excella device has IP address 192.168.10.100, type the following line in the address box of the Web browser. Internet Explorer is used in this example.: 192.168.10.
Section 2. Excella Architecture and Operation Get Device Usage The following is an example in using the IP address of the Excella device to obtain device usage information. Assuming the Excella device has IP address 192.168.10.100, type the following line in the address box of the Web browser. Internet Explorer is used in this example.: 192.168.10.
Excella Windows API Specifications HOW TO COMMUNICATE WITH EXCELLA USING EXCELLA API The following table lists files required to use Excella API: Files Location Description micrdev.ini Windows folder This file contains a list of Excella devices and the IP Addresses. This file is required by the mtmcrapi.dll mtmcrapi.dll Windows System32 folder Excella API wininet.dll Windows System32 folder. Win32 API for Internet Protocols. This file is provided by Microsoft msxml4.
Section 2. Excella Architecture and Operation API FUNCTIONS Table 2-1 lists functions provided by mtmcrapi.dll. Please refer to Section 3 for a complete description of these functions. Table 2-1. Functions NAME DESCRIPTION PAGE MTMICRGetDevice Returns the device name of the device present in the system. 15 MTMICROpenDevice Opens the device with the given device name. 16 MTMICRCloseDevice Closes the device with the given device name. 17 MTMICRSetValue Adds a key/value pair to a given section.
Excella Windows API Specifications SOFTWARE FLOW FOR CHECK PROCESSING Figure 2-4 illustrates the sequence of check processing. Excella Present Yes Open Device Yes Set up options in a buffer to process check Process Check Change the options Yes Continue to Process check? Change any options to process check? No Close Device Figure 2-4.
Section 2. Excella Architecture and Operation HOW TO PROCESS CHECKS To process checks, follow these steps: 1. Find the attached Excella device by calling function MTMICRGetDevice. 2. Use function MTMICROpenDevice to open the device. 3. Excella is now ready to accept the process check command using function MTMICRProcessCheck. For every check that is processed, a set of options must be sent to the device. These options define how the check will be processed, i.e.
Excella Windows API Specifications HOW TO GET A CHECK IMAGE To get a check image, follow these steps: 1. The function MTMICRProcessCheck contains information of the process operation provided by Excella device after it completes the process check operation. Use this information to find the information of the scanned images in the ImageInfo section. The ImageInfo section contains the size of the image and the image identification for each image. 2.
SECTION 3. EXCELLA API MTMICRGetDevice MTMICRGetDevice function returns the device name of the device present in the system. ULONG MTMICRGetDevice ( DWORD dwDeviceContext, char *pcDevName ); Parmeters dwDeviceContext This is the device number of the device. This must be set to 1 to get the first device in the system. Increment it by 1 to get the next device name. pcDevName Pointer to the buffer where the device name will be stored.
Excella Windows API Specifications MTMICROpenDevice MTMICROpenDevice function opens the device with the given device name. ULONG MTMICROpenDevice ( char *pcDevName ); Parmeters pcDevName Pointer to null terminated string that specifies the name of the device to open. Use function MTMICRGetDevice to obtain the device name. Return Values If the function succeeds, the return value is MICR_ST_OK.
Section 3. Excella API MTMICRCloseDevice MTMICRCloseDevice function closes the device with the given device name. ULONG MTMICRCloseDevice ( char *pcDevName ); Parameters pcDevName Pointer to null terminated string containing the name of the device to close. This is the device that is previously opened using function MTMICROpenDevice.
Excella Windows API Specifications MTMICRSetValue MTMICRSetValue function adds a key/value pair to the given device settings specified in pcOptions buffer and in a given section specified in pcSection buffer. ULONG MTMICRSetValue ( char char char char DWORD *pcOptions, *pcSection, *pcKey, *pcValue, *pdwLength ); Parameters pcOptions Pointer to null terminated string containing all key/value pairs. pcSection Pointer to null terminated string containing the section name.
Section 3.
Excella Windows API Specifications MTMICRSetIndexValue MTMICRSetIndexValue is similar to the MTMICRSetVaue, except that, MTMICRSetIndexValue adds the Index number to the pcKey before adding the key/value pair to the given Options buffer. ULONG MTMICRSetIndexValue ( char *pcOptions, char *pcSection, char *pcKey, unsigned int nIndex, char *pcValue, DWORD *pdwLength ); Parameters pcOptions Pointer to null terminated string containing all key/value pairs.
Section 3. Excella API Example char Settings [4096]; DWORD SettingsBufferSize; // Initialize Settings // Intialize the Settings variable first SettingsBufferSize =4096; // The following command will set ImageColor1 = BW under the ImageOptions section.
Excella Windows API Specifications MTMICRGetValue MTMICRGetValue function retrieves a key/value pair that was previously stored in the pcDocInfo parameter using MTMICRSetValue function ULONG MTMICRGetValue ( char *pcDocInfo, char *pcSection, char *pcKey, char *pcValue, DWORD *pdwLength ); Parameters pcDocInfo Buffer pointer containing all the key/value pairs. pcSection Pointer to null terminated string containing the section name. pcKey Pointer to null terminated string containing the key name.
Section 3. Excella API Example char Settings [4096]; char DocInfo [4096]; char device[4096] =""; DWORD SettingsBufferSize; DWORD DocInfoSize; char cValue [1024]; DWORD valueSize; DWORD dwStatus; // Initialize Settings DocInfoSize = 4096; // Use function MTMICRGetDevice to get device name for variable “device” // Call MTMICRProcessCheck function to process a document.
Excella Windows API Specifications MTMICRGetIndexValue MTMICRGetIndexValue function retrieves a key/value pair that was previously stored in the pcDocInfo parameter. MTMICRGetIndexValue function is similar to the function MTMICRGetValue. MTMICRGetIndexValue function adds index to the key name before searching for the value of the key name pcKey in the pcDocInfo.
Section 3. Excella API // Intialize Settings DocInfoSize = 4096; // Use function MTMICRGetDevice to get device name for variable “device” // Call MTMICRProcessCheck function to process a document.
Excella Windows API Specifications MTMICRQueryInfo MTMICRQueryInfo function inquires data of a given section name from the given device name. ULONG MTMICRQueryInfo ( char *pcDevName, char *pcSection, char *pcSectionData, DWORD *pdwLength ); Parameters pcDevName Pointer to null terminated string containing device name. pcSection Pointer to null terminated string containing the section name. e.g. DeviceCapabilities, DeviceUsage, DeviceStatus, etc.
Section 3. Excella API MTMICRProcessCheck MTMICRProcessCheck function sends a scan check request with the given process options to the given device name. When the device completes the scan request, the result of the scan is returned in the buffer pcDocInfo. ULONG MTMICRProcessCheck ( char *pcDevName, char *pcProcessOptions, char *pcDocInfo, DWORD *pdwDocInfoSize ); Parameters pcDevName Pointer to null terminated string containing device name.
Excella Windows API Specifications MTMICRGetImage MTMICRGetImage function sends to the given device name a request for image data results from a previously scan . ULONG MTMICRGetImage ( char *pcDevName, char *pcImageID, char *pcBuffer, DWORD *pdwLength ); Parameters pcDevName Pointer to null terminated string containing device name. pcImageID the identification of the requested image pcBuffer Pointer to buffer for storing the image data. pdwLength Specifies the size of the pcBuffer.
Section 3.
Excella Windows API Specifications MTMICRGetImages MTMICRGetImages is similar to MTMICRGetImage except MTMICRGetImages can get multiple images in one function call. ULONG MTMICRGetImages ( char *pcDevName, GET_IMAGE *pGetImage, DWORD dwTotalImages ); Parameters pcDevName Pointer to null terminated string containing device name. pGetImage Pointer to a list of GET_IMAGE structures containing the image information.
Section 3. Excella API Remarks If the function succeeds, MICR_ST_OK is returned. If the requested image is not found, MICR_ST_IMAGE_NOT_FOUND is returned. If the device fails to respond to the command, the return value is MICR_ST_DEVICE_NOT_RESPONDING. If the size of the buffer uses to store the image data is not large enough, MICR_ST_NOT_ENOUGH_MEMORY is returned.
Excella Windows API Specifications MTMICRGetSectionCount MTMICRGetSectionCount function returns the number of section present in a null terminated buffer which contains a set of key/value pairs. The key/value pairs get stored in the buffer using function MTMICRSetValue or MTMICRSetIndexValue. ULONG MTMICRGetSectionCount ( char *pcData, DWORD *pdwSectionCount ); Parameters pcData Pointer to null terminated string containing a set of key/value pairs.
Section 3.
Excella Windows API Specifications MTMICRGetSectionName MTMICRGetSectionName function returns the name of the section which has the section number given in variable dwSectionNumber. MTMICRGetSectionName parses through the buffer pcData containing a set of key/value pairs which was previously stored in the buffer by using function MTMICRSetValue or function MTMICRSetIndexValue.
Section 3. Excella API DWORD dwStatus; // Intialize Settings DocInfoSize = 4096; // Use function MTMICRGetDevice to get device name for variable “device” // Call MTMICRProcessCheck function to process a document.
Excella Windows API Specifications MTMICRGetKeyCount MTMICRGetKeyCount function returns the number of keys belong to a section with the name specified in variable pcSection. The function MTMICRGetKeyCount parses through a null terminated string which contains a set of key/value pairs. The key/value pairs get stored in the buffer using function MTMICRSetValue or MTMICRSetIndexValue.
Section 3.
Excella Windows API Specifications MTMICRGetKeyName MTMICRGetKeyName function returns the name of the key which has the key index number given in variable dwKeyNumber and belongs to the section group with the section name specified in variable pcSection. MTMICRGetKeyName parses through the buffer pcSettings containing a set of key/value pairs which was previously stored in the buffer by using function MTMICRSetValue or function MTMICRSetIndexValue.
Section 3. Excella API DWORD SettingsBufferSize; DWORD DocInfoSize; char cValue [1024]; DWORD valueSize; DWORD dwStatus; // Intialize Settings DocInfoSize = 4096; // Use function MTMICRGetDevice to get device name for variable “device” // Call MTMICRProcessCheck function to process a document.
Excella Windows API Specifications } } } } } 40
Section 3. Excella API MTMICRSetTimeout MTMICRSetTimeout function sets a duration for timeout in case there is a communication problem with an Excella device. MTMICRProcessCheck, MTMICRGetImage, MTMICRGetImages, and MTMICRQueryInfo functions use this timeout value to wait for the device to respond. By default the timeout is 5 seconds. ULONG MTMICRSetTimeout ( DWORD dwMilliSeconds ); Parmeters dwMilliSeconds Duration for timeout. The timeout unit is milliseconds.
Excella Windows API Specifications MTMICRGetTimeout MTMICRGetTimeout function returns the set timeout in milliseconds. MTMICRProcessCheck, MTMICRGetImage, MTMICRGetImages, and MTMICRQueryInfo functions use this timeout value to wait for device to respond. By default the timeout is 5 seconds. ULONG MTMICRGetTimeout ( DWORD *pdwMilliSeconds ); Parmeters pdwMilliSeconds Pointer to a DWORD.
Section 3. Excella API MTMICRSetLogFile MTMICRSetLogFile creates a log file. All messages and errors created by all API functions will be logged in this log file. By default, there is no log file. HANDLE MTMICRSetLogFile ( char *pcLogFile ); Parmeters pcLogFile Pointer to a null terminated string containing the full pathname to the log file. Return Values If the function succeeds, a valid file handle to the log file is returned. If the function fails, then a NULL is returned.
Excella Windows API Specifications MTMICRSetLogFileHandle MTMICRSetLogFileHandle specifies a handle for a log file. All messages and errors created by all API functions will be logged in the log file that has this specified handle. By default, there is no log file VOID MTMICRSetLogFileHandle ( HANDLE hFileHandle ); Parmeters hFileHandle This is a handle to a file. All the API functions will log errors and information to this log file. Return Values Nothing is returned by this function.
SECTION 4. KEY-VALUE PAIRS This section describes all the Key-Value pairs sent by the application to process a document. In the tables below, in the Value column, the word Value represents a number. The actual value can be set for Value is described in the Value Description column. For example, in Table 4-4, for the Key “Number”, the Value Description is “1 <= Value <= 4”; that is, the Key “Number” has a Value of 1 or 2 or 3 or 4.
Excella Windows API Specifications Table 4-3. Section = Endorser (Optional) Key PrintData PrintFont FontType PrintSide Key Description Required: Required. There are two internal fonts in the device Value String INTFONT1 Value Description Text string INTERNAL FONT1. INTFONT2 Internal Font 2 Required: The device can use internal defined fonts or custom fonts loaded into the device. For now, we only support internal fonts. Required: INTERNAL Default: Fonts defined internally in the device.
Section 4. Key-Value Pairs Table 4-4a. Section = ImageOptions (Optional) Key JPEGQC* JPEGQG* Key Description Compression quality number for color images Compression quality number for grayscale images Value Numeric string Numeric string Value Description Quality number for color images. The valid range is 1-100. Quality number for grayscale images. The valid range is 1-100. * The default value for this key is 50. Changing the default value of this key affects the image quality and size of a JPEG file.
Excella Windows API Specifications Compression3 FileType3 ImageSide3 ImageColor4 Resolution4 Compression4 FileType4 ImageSide4 GROUP4 TIF FRONT BW 200x200 GROUP4 TIF BACK KEY/VALUE PAIRS RETURNED BY THE DEVICE WHEN A CHECK IS PROCESSED The device returns four sections: CommandStatus, DocInfo, ImageInfo, and DeviceStatus, shown in Tables 4-7 through 4-10 respectively. Table 4-7.
Section 4. Key-Value Pairs Table 4-8. Section = DocInfo Key MICRFont Key Description DocUnits DocWidth DocHeight MICRRaw MICRAcct MICRAmt MICRAux MICRBankNum MICRChkType The width of the scanned document. The height of the scanned document Unformatted MICR decode data. Account number field Amount field Auxiliary On-Us field ABA Institution Identifier The type of the check. MICRCountry The country of origin of document.
Excella Windows API Specifications Table 4-9. Section = ImageInfo Key ImageSize1 ImageSize2 ImageSize3 ImageSize4 ImageURL1 ImageURL2 ImageURL3 ImageURL4 Number 50 Key Description This is the size of the Image 1 in bytes stored in the device. This is the size of the Image 2 in bytes stored in the device. This is the size of the Image 3 in bytes stored in the device. This is the size of the Image 4 in bytes stored in the device.
Section 4. Key-Value Pairs Table 4-10. Section = DeviceStatus Key State Key Description Give the state of the device. Value ONLINE OFFLINE ERROR Value Description Ready to process checks Not ready Not ready ManualFeeder If there is a document present in the manual feed. NOTSUP If the device does not have Manual feeder capability. No document present on the manual feed Document present on the manual feed If the device does not have Auto feeder capability.
Excella Windows API Specifications MICRPARSESTS0, Table 4-11 consists of four digits as listed below. Table 4-11.
Section 4. Key-Value Pairs RETURN CODES AND RETURN MESSAGES FROM EXCELLA DEVICE The following is the list of return codes returned by the device, the section = CommandStatus and Key = ReturnCode. Table 4-13. Operation Completed Operation Completed (0-99) ReturnCode 0 ReturnMsg “OK” Table 4-14. Operation Operation (100-149) ReturnCode 101 102 103 104 ReturnMsg “Internal Device Failure” “Unrecognized Operation” “Command Format Error” “Requested Operation Failed” Table 4-15.
Excella Windows API Specifications Table 4-17. Printer Printer (300-349) ReturnCode 301 302 303 304 305 ReturnMsg “Print Failed. Internal Error” “Unable to Print. No Cartridge” “Print Front Not Supported” “External Print Font Not Supported” “Print Front Not Supported” Table 4-18. MICR MICR (350-399) ReturnCode 351 352 ReturnMsg “MICR Failed. Internal Error” “MICR Not Supported” Table 4-19.
Section 4. Key-Value Pairs KEY/VALUE PAIRS FOR QUERY THE DEVICE The following sections are available upon query the device: 1. DeviceUsage 2. DeviceCapabilities 3. DeviceStatus Table 4-20. Section = DeviceUsage Key DocsRead ChecksRead HoursOn HoursOp InkUsed Key Description Number of Documents Read during the device life span. If there is no RTC then this will be same as ChecksRead. Number of Documents Read since the last power cycle. Number of hours on during the device life span.
Excella Windows API Specifications 56
SECTION 5. EXAMPLES OF KEY-VALUE PAIRS This section contains examples of key-value pairs send to Excella device and the key-value pairs return from Excella device when requesting four images without endorsement. The corresponding key-value pairs for these examples are also provided in XML format. The examples include key-value for querying Excella device. These are key-value pairs of DeviceStatus, key-value pairs of DeviceCapabilities, and key-value pairs of DeviceUsage.
Excella Windows API Specifications Section: Endorser Key PrintFont FontType PrintSide Value INTFONT2 INTERNAL BACK Key-Value Pairs Sent by the ExcellaDemo Application to Excella Device in XML Format
Section 5. Examples of Key-Value Pairs Manual Key-Value Pairs Returning from Excella Device Section CommandStatus Key BadData ChecksDS ErrorStatus ReturnCode ReturnMsg ReturnStatus Value NONE F OK 0 OK SUCCESS Section ImageInfo Key ImageSize1 ImageSize2 ImageSize3 ImageSize4 ImageURL1 ImageURL2 ImageURL3 ImageURL4 Number Value 26733 16976 20002 2826 /chkimg/FRONT100GRAY8_1.JPG /chkimg/BACK100GRAY8_2.JPG /chkimg/FRONT200BW_3.TIF /chkimg/BACK200BW_4.
Excella Windows API Specifications Section DeviceStatus Key State ManualFeeder AutoFeeder Lamp1 Lamp2 Ink Path Printer ScanCalibStatus RTC Battery StartTimeout Value ONLINE EMPTY EMPTY OK OK OK OK PRESENT FACTORY OK 4000 Key-Value pairs returning from Excella device in XML format - - -
Section 5.
Excella Windows API Specifications EXAMPLE 3: DEVICECAPABILITIES REPORTED BY EXCELLA DEVICE Section=DeviceCapabilities Key AutoFeed Endorse Firmware Image MICR Stamp UnitSerialNumber Value T BACK Version MX1.01.
APPENDIX A. DEMO INSTALLATION INSTALLATION To install the ExcellaDemo program with the Excella device, proceed as described below. The InstallShield is part of the API/Demo for Excella program on a CD, P/N 22310808. Install the CD and select the setup.exe file, and press Run. The first screen to appear will be the InstallShield Wizard, shown in Figure A-1. Figure A-1. InstallShield Wizard After the program is installed, the next screen to appear is as shown in Figure A-2. Figure A-2.
Excella Windows API Specifications Select Next > Figure A-3 shows the Status Setup. Figure A-3. Setup Status When the installation is complete, the final screen will be as shown in Figure A-4. Figure A-4. Installation Complete Click Finish.
Appendix A. Demo Installation DEMO PROGRAM SCREENS Next to appear will be the Excella Demo screen, shown in Figure A-5. Figure A-5. Excella Demo Screen To select a device for check processing, click on menu item Device. Then click on submenu item Connect and select a device in the device list. For example, select EXCELLA_ETHER (for Ethernet connection) or EXCELLA_USB (for USB connection), as shown in Figure A-6.
Excella Windows API Specifications Figure A-6. Selecting Connection The next step is to select a check feeding operation. The MANUAL option feeds one check at a time. The AUTO option can feed up to 70 checks at a time. In Figure A-7, MANUAL option is selected.
Appendix A. Demo Installation Figure A-7. Manual Feed Selection The next step is to place a check in the manual feeder on the Excella device, then click the GO green arrow. The check will be fed through the check path for scanning. The scanned image of the check is shown in Figure A-8.
Excella Windows API Specifications Figure A-8. Check Demo with MICR Line In the MICR Data section, the text “T123456780T 123-456-7U 3315” is the MICR information of the processed check.
Appendix A. Demo Installation The button next to the GO and STOP buttons is the “All Keys” button, which list the options for check processing. Figure A-9 shows a listing of these options: Figure A-9. Process Check Options These options are described in Section 4, Key-Pair Value Specifications. To the right of the All Keys button is the Document Information button. Click the icon from the toolbar to view the document information.
Excella Windows API Specifications Figure A-10.
Appendix A. Demo Installation The last button is the Options button. The categories of the options are Process Check, Save Images, and Advanced. The Process Check option is shown in Figure A-11. Figure A-11.
Excella Windows API Specifications NOTE: Please see Tables 3-4 and 3-5 for the list of current valid combinations for keys Image Color, Image Resolution, Image Compression, and Image File Type. Image Side: Back or Front The Save Images File is shown in Figure A-12. Figure A-12. Save Images File To save a check image click the box “Save Image”. Transaction Number is assigned by the Institution. The Image File Path and File Name were entered on the Process Check Options screen.
Appendix A. Demo Installation Figure A-13.
Excella Windows API Specifications 74
APPENDIX B. FORMAT LIST For check reading, the Excella provides the flexibility to format the MICR fields and build a specific output string that will be transmitted to the Host. These output strings are referred to as Formats. The Excella has a built-in list of Formats (described below) from which the user may select one to become the active Format every time a check is read. The Formats may be selected using the Key- Pair Values described in Section 4. Each Format is assigned a 4-digit number.
Excella Windows API Specifications Fmt 01xx: Parsed Text Format FC0100 - Parsed text with dashes FC0101 - Parsed text, replace dashes with “d” Field Labels - TR-transit, AC-account #, CK-check #, AM-amount, TP-tpc, EP-epc Example: - PTTR444455556;AC 999-222-3;CK11045 Fmt 02xx: Parsed Text Format with Error Labels FC0200 - Parsed text with dashes FC0201 - Parsed text, replace dashes with “d” Error Labels - PE-parsed error, NE-no error, TR-transit error, CK-chk # error, TC-transit check digit error, AM-
Appendix B.
Excella Windows API Specifications Fmt 14xx: [transit] [acct #] [check #] • [transit]: - all characters in the field - keep dashes • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove spaces and dashes • [check #]: - always 6 characters, zero filled Fmt 15xx: [bank #] [acct #] • [bank #]: - all characters in the field - keep spaces and dashes • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove spaces and dashes Fmt 16xx: [bank #]
Appendix B.
Excella Windows API Specifications Fmt 24xx: [transit] 'T' [acct #] 'A' [check #] 'C' [amount] '$' • [transit]: - all characters in the field - keep dashes • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove spaces and dashes • [check #]: - always 6 characters, zero filled • [amount]: - all characters in the field Fmt 25xx: 'M' 'C' [transit] 'D' [acct #] 'E' [check #] • [transit]: - all characters in the field - remove dashes and keep spaces (contig spcs = 1 spc
Appendix B. Format List Fmt 29xx: 'C' '/' [transit] '/' [acct #] '/' [check #] '/' [status] • [transit]: - all characters in the field - keep dashes • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove spaces and dashes • [check #]: - maximum of 6 digits • [status]: - this is a programmable option that must be enabled (See Table 2-4).
Excella Windows API Specifications Fmt 3300: '=' [transit] '=' [acct #] '=' [check #] '=' [status] • [transit]: - all characters in the field - remove dashes • [acct #] : - maximum of 14 digits - remove spaces and dashes • [check #]: - maximum of 8 digits - remove spaces and dashes • [status]: - this is a programmable option that must be enabled (See Table 2-4).
Appendix B.
Excella Windows API Specifications Fmt 42xx: US check : [transit] [acct #] Can check: '9' [transit] [acct #] • [transit]: - all characters in the field - remove dashes • [acct #]: - always xx characters; zero filled; when xx=00 all characters are sent.
Appendix B.
Excella Windows API Specifications Fmt 52xx: 'T' [transit] 'T' [acct #] 'A' [check #] • [transit]: - all characters in the field - remove dashes • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove spaces and dashes • [check #]: - all characters in the field - remove dashes and spaces Fmt 53xx: '/' [transit] '/' [acct #] '/' [check #] '/' [tpc] '/' [status] '/' • [transit]: - all characters in the field - remove dashes • [acct #]: - maximum of xx characters; when
Appendix B.
Excella Windows API Specifications Fmt 60xx: [transit] '/' [acct #] '/' [check #] '/' [check type] • [transit]: - all characters in the field - remove dashes • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove spaces and dashes • [check #]: - maximum of 10 characters - remove spaces and dashes - if no check #, remove preceding slash ('/') • [check type]:- personal checks ('1'); commercial checks ('2') Fmt 61xx: [transit] [acct #] [check #] • [tran
Appendix B. Format List Fmt 64xx: [transit] [acct #] [check #] [amount] • [transit]: - all characters in the field - keep dashes • [acct #]: - always xx characters, trailing spaces; when xx=00 all characters are sent - keep spaces and dashes • [check #]: - always 6 characters (N is on quick-init check), trailing spaces - remove spaces and dashes • [amount]: - all characters in the field - remove spaces and dashes - insert decimal point ('.
Excella Windows API Specifications Fmt 68xx: [transit] [acct #] [check #] [amount] • [transit]: - all characters in the field - remove dashes • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove spaces and dashes • [check #]: - all characters in the field - remove dashes and spaces • [amount]: - all characters in the field - remove dashes, spaces and leading zeros - insert decimal point ('.
Appendix B.
Excella Windows API Specifications Fmt 76xx: 'T' [transit] 'A' [acct #] 'C' [check #] 'M' [raw data] • [transit]: - all characters in the field - remove dashes and spaces • [acct #]: - maximum of xx characters; when xx=00 all characters are sent - remove dashes and spaces • [check #]: - all characters in the field- remove dashes and spaces • [raw data]: - translate MICR symbols to t,o,a,d 92
APPENDIX C. ERROR CODES AND MESSAGES The following are Error Codes and Error Messages from Excella API mtmcrapi.dll.
Excella Windows API Specifications 94 29 "Error finding key number.", 30 "Error connecting to internet.", 31 "Error HTTP Open.", 32 "Error HTTP Send.", 33 "Error creating event.", 34 "Error DOM: creating node." 35 "Error DOM: query interface.", 36 "Error DOM: add key.", 37 "Error DOM: append child.", 38 "Error DOM: get document element.", 39 "Error DOM: get xml.", 40 "Error DOM: get item.", 41 "Error DOM: get child node.", 42 "Error DOM: get base name.
INDEX A Get Device Status .............................................................. 8 Get Device Usage .............................................................. 9 API Functions .................................................................. 11 Architecture and Operation ................................................1 H C Check Demo with MICR Line ......................................... 68 Communicate With Excella Using API............................
Excella Windows API Specifications Support for Excella on PC Side..........................................6 USB Network Device, RNDIS support ............................. 5 U W USB Network Card, Device attached through ...................5 wininet.dll ..........................................................................