Home
NOTE - Motorola Solutions
Contents
1. Status 1 Signature capture requested Figure 6 JavaPOS service demo provided by Symbol 34 JavaPOS Interface for FPE Terminals Interface Guide Appendix A Sample Applications There are 6 applications coming together with JPOS service implementation 1 2 Start lODriver JcommApp exe on Windows JCommApp on Linux Executes lODriver application that is central connection point to POS terminal for other applications Comm Demo JcommDemo exe on Windows JCommDemo on Linux This is GUI demo working directly with IODriver Allows sending messages to IODriver and monitors incoming messages Also allows changing of IODriver parameters If this application is run after IODriver is started then communication is performed through IODriver initialized in JCommApp exe otherwise it starts its own in process lODriver JPos Demo JPosDemo exe on Windows JPosDemo on Linux Executes JavaPOS demo application demonstrating work of JavaPOS object implementations If this application is ran after IODriver is started e g JCommApp exe on Windows platform JCommApp on Linux then communication is performed through IODriver initialized in JCommApp otherwise it starts its own in process lODriver Java FPE Sim JFPEDemo exe on Windows JavaFPE Sim on Linux Executes FPEInterface demonstration application If this application is run after IODriver is started then communication is performed th
2. MSR 26 JavaPOS Interface for FPE Terminals Interface Guide Device type Exclusive Java Class jpos MSR Service Class com hypercom jpos msr MSRService Service Factory Class com hypercom jpos ServicelnstanceFactory JCL Entry name MSR Configurable static parameters Parameters that are specified in the XML file of JCL Property Default Value Description terminalld null Should be valid terminal serial number 12 digit number If property value is not specified then terminal id is taken from current IODriverOptions Taken into account only for communication via Ethernet port Properties Property Value Description CaplSO boolean read only 1 0 True open CapJISOne boolean read only False 1 0 open CapJISTwo boolean read only False 1 0 open CapTransmitSentinels boolean False read only 1 5 open AccountNumber string read Filled when card is swiped Arrives with card data only 1 0 open event DecodeData boolean read write 1 0 open As in UnifiedPOS specification ErrorReportingType int32 read write 1 2 open ExpirationDate string read only 1 0 open FirstName string read only 1 0 open Middlelnitial string read only 1 0 open ParseDecodeData boolean read write 1 0 open As in UnifiedPOS specification ServiceCode string read only 1 0 open Suffix string read on
3. updateKey keyNum int32 key string void raises exception use after beginEFT Transaction Simply sets the local variable holding working key value The working key value will be used when calling FPElnterface beginPinEntry function Values of workingKey and MasterKeyindex are updated in JCL file so they will be remembered for the next sessions verifyMAC message string void raises exception use after beginEFT Transaction Throws exception Not supported function Properties Property Value Description CapDisplay int32 read only PPAD_DISP_RESTRICTED_LIST PIN pad will be able to 1 3 open show only predefined messages that are set to Prompt property CapKeyboard boolean read True Keyboard control is only 1 3 open available separately CapLanguage int32 read only PPAD LANG ONE Support only one language 1 3 open EN US CapMACCalculation boolean True read only 1 3 open CapTone boolean read only False We don t provide control of 1 3 open key tones AccountNumber Account number Simple local variable that is string read write access after used in open beginEFT Transaction AdditionalSecurityInformation PIN Pad sequence number Used in only DUKPT string read only 1 3 open encryption mode In all other cases is empty Amount int32 read write 1 3 Any int Simple local variable open AvailableLanguagesList string
4. Change Date Description 94 DY PN 11 2006 Initial Symbol Release Hypercom Version 1 1 Table of Contents Revision HIStOrY ccecoccceccccaonaoccoccccnnnnnnnnaccccnnnnnnnnncccnnnnnnnnnnnnnnnnnnnnnnnnnnn ne ii About This GUlde 2a NANG cesa bndebasncndn ba ssndh Gesa rats dash nnn V abe AL LA PAY V Notational Conventions ANAN NANA Aa V Related Documents ba ARAB AANI vi Service Informatio nama D nn ab ete ences bag akma RANA vi Component Model aaa aaa AN NAAN AUN 7 lODriver Architecture 522588 nent AA ARA 10 FPElnterface architecture cccccccccccccc2e0en00000000000000000000 000000 nnn 11 JavaPOS Service Architecture eg AA eh anne Aisne 13 Device Sharing Model 2 i2i2424 4456444442404046 NG AA 14 lODriver Level Synchronization sms 14 FPElnterface Level Synchronization ss 14 JavaPOS Device Sharing Model 15 SCL CONNQUIAN ON viccssvesccsserenissrecussvascvsrscensdssdessavabsven censvssabedesedundasseeesssseansbaedns 16 Common Properties isai a a tente a entente nette sons 17 Common MethodS 22224224224 PAANAN BANDANA NAA GA 18 PIN PAG NA 19 Configurable Static Parameters ins 19 Method SA AA alae ses seve aa AA A NN 19 Propenl ena NAA success seecnaateusdadt nance ides snsbeeaneceennernsiaend er nus dieser ire 20 PANO DIS DI AY ns AA AAP 22 Configurable Static Parameters sens 22 Meth dS ina une nan nantes 22 Properties aaa ns nl dan n
5. pioseni Oe 1ODriver isClaimed boolean claim int void release void fireMessage Object void fireloDriverStateChanged EvtlODriverState void fireloDriverStateChangedT oListeners EvtlODriverState EventListenerList void addinputListener InputListenerRemote void removelnputListener InputListenerRemote void addiODriverStateListener IODriverStateListenerRemote void removelODriverStateListener IODriverStateListenerRemote void addinputListener String InputListenerRemote void removelnputListener String InputListenerRemote void addlODriverStateListener String ODriverStateListenerRemote void removelODriverStateListener String ODriverStateListenerRemote void setOptions IODriverOptions void open void send bytel void getOptions IODriverOptions close void isOpen boolean isConnected boolean open String void close String void isOpen String boolean isConnected String boolean send String byte void isClaimed String boolean claim String int void release String void AbstractlOService serial SeriallOService Loads from XML li demo CommApp SETTING FILE String CommSettings xml CommApp main String void options SerialOptions new SerialOptions serialPort SerialPort null outputStream Output
6. COMMON METHODS Methods common to all supported services Method Description checkHealth level int32 Supported level value is CH_INTERNAL void raises exception use When the method is called it passes Terminal Status S FPE after open claim enable command and makes sure it receives valid response Later it is possible to add CH_INTERACTIVE level support that shows FPEDemo modal dialog where the user can test functionality interactively claim timeout int32 Calls ClaimManager claim lt device_type gt method In case void raises exception the call does not throw an exception device can continue claim initializations otherwise claim forbidden in the current system state clearInput Clears input even queue as it is written in the Unified POS void raises exception specification clearOutput Not used because all output methods are synchronous void raises exception close Works as specified in UnifiedPOS void raises exception directlO command int32 This method delegates its job to IODriver send method inout data int32 inout obj V Note In case of jpos MSR this method can be used to object void raises exception obtain Hypercom specific MSR service property open logicalDeviceName Works as specified in UnifiedPOS string void raises exception release Calls ClaimManager release lt device_type gt method
7. JavaPOS Interface for FPE Terminals Interface Guide symbol The Enterprise Mobility Company JavaPOS Interface for FPE Terminals Interface Guide 72E 91668 01 Revision A November 2006 symbol The Enterprise Mobility Company 2006 by Symbol Technologies Inc All rights reserved No part of this publication may be reproduced or used in any form or by any electrical or mechanical means without permission in writing from Symbol This includes electronic or mechanical means such as photocopying recording or information storage and retrieval systems The material in this manual is subject to change without notice The software is provided strictly on an as is basis All software including firmware furnished to the user is on a licensed basis Symbol grants to the user a non transferable and non exclusive license to use each software or firmware program delivered hereunder licensed program Except as noted below such license may not be assigned sublicensed or otherwise transferred by the user without prior written consent of Symbol No right to copy a licensed program in whole or in part is granted except as permitted under copyright law The user shall not modify merge or incorporate any form or portion of a licensed program with other program material create a derivative work from a licensed program or use a licensed program in a network without written permission from Symbol The user agrees to maintain
8. void raises exception Hypercom JavaPOS service library v1 1 5 introduces following specific feature of directlO method implementation for MSR service If directlO method called on MSR control is passed data parameter equal to TS then the first element of data data 0 INOUT method parameter after method execution will contain ASCII numeric code of TrackDataSource as it is described in FPE Interface specification 3 e g 0 TRACK READER 1 RDIF EXPRESS PAY 2 RFID PAY PASS 3 RFID VISA WAVE 4 RFID UNKNOWN APP See Appendix D for MSR control usage sample code PIN PAD Device type Java Class Service Class Service Factory Class JCL Entry name Configurable Static Parameters Parameters that are specified in the XML file of JCL Exclusive jpos PINPad com hypercom jpos pinpad PINPadService com hypercom jpos ServicelnstanceFactory PINPad Property Default Value Description masterKey Index 1 1 9 Used master key index workingKey Hexadecimal 16 byte value Working key to use pinFormName PINFRM The form name should be used during PIN entry operation promptFormName PROMPTS Form is used to show prompts when Prompt property is changed globalPromptNumber 1 1 Means that no prompt will be set 1 2 3 4 values are allowed globalPromptString null Text displayed in the prompt terminalld null
9. EN US Only one language is read only 1 3 open supported AvailablePromptsList siring Support for all prompts read only 1 3 open described in Unified POS EncryptedPIN string read only PIN block Contains PIN block 1 3 open available after EFT Transaction MaximumPINLength int32 Default 7 This actually depends on read write 1 3 open the form in the form builder MerchantID string read write Any string Simple Local variable 1 3 open MinimumPINLength int32 Default 4 This actually depends on read write 1 3 open the form in the form builder 21 Property Value Description PINEntryEnabled boolean read only 1 3 open True or False True if enablePINEntry was started Prompt int32 read write 1 3 open One of prompt numbers described in Unified POS If this property is set when device is enabled the terminal displays corresponding form with prompt text PromptLanguage nis read write 1 3 open One of language codes specified in the LanguagesList property Changes Prompt property language TerminallD string read write Any string Simple local variable 1 3 open Track1 Data binary read write Any Simple local variable 1 3 open Track2Data binary read write Any Simple local variable 1 3 open Track3Data binary read write Any Simple local variable 1 3 open Track4Data binary read write Any Simple local var
10. LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt x Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name PPAD MSG SELECTCARDTYPE G2 type String value PPAD MSG SELECTCARDTYPE G2 5 lt prop name PPAD MSG SELECTCARDTYPE G1 type String value PPAD MSG SELECTCARDTYPE G1 5 lt prop name PPAD MSG PLEASEWAIT FORM type String value WAITFRM gt 36 JavaPOS Interface for FPE Terminals Interface Guide lt prop name PPAD_MSG_ENTERPIN_FORM type String value PIN gt lt prop name PPAD_MSG_IDLE_FORM type String value IDLEFRM gt lt prop name PPAD_MSG_INSERTCARD_FORM type String value INSERTFRM gt lt prop name PPAD_MSG_CANCELED_G2 type String value PPAD_MSG_CANCELED_G2 gt lt prop name PPAD
11. PPAD MSG IDLE G2 gt prop name PPA SG IDLE G1 type String value PPAD_MSG_IDLE_G1 gt prop name PPA SG INSERTCARD G2 type String value PPAD MSG INSERTCARD G2 5 lt prop name PPAD MSG INSERTCARD G1 type String value PPAD MSG INSERTCARD G1 5 lt prop name PPAD MSG NOTREADY G2 type String value PPAD MSG NOTREADY G2 5 lt prop name PPAD MSG NOTREADY G1 type String value PPAD_MSG_NOTREADY_G1 gt lt prop name PPAD_MSG_SLIDE_CARD_FORM type String value SWIPEFRM gt lt prop name terminalld type String value 000000000000 gt lt prop name PPAD MSG AMOUNTOK G2 type String value PPAD MSG AMOUNTOK G2 5 lt prop name PPAD MSG AMOUNTOK G1 type String value PPAD MSG AMOUNTOK G1 5 lt prop name PPA SG_AMOUNTOK_FORM type String value CBYNFRM gt lt prop name PPA SG_ENTERVALIDPIN_FORM type String value VALPINFRM gt lt prop name PPAD MSG PLEASEWAIT G2 type String Value PPAD MSG PLEASEWAIT G2 5 lt prop name PPAD MSG PLEASEWAIT G1 type String value PPAD_MSG_PLEASEWAIT_G1 gt lt JposEntry gt prop name PPA pa T lt JposEntry logicalName SignatureCapture gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos sigcap SignatureCaptureService gt lt vendor
12. 5 lt prop name promptFormName type String value SWIPEFRM gt lt prop name masterKeyIndex type Integer value 1 gt lt prop name PPAD_MSG_CANCELED_FORM type String value CANCELFRM gt lt prop name PPAD_MSG_RETRIESEXCEEDED_G2 type String value PPAD_MSG_RETRIESEXCEEDED_G2 gt lt prop name workingKey type String value 1234567123454789 gt lt prop name PPAD_MSG_RETRIESEXCEEDED_G1 type String value PPAD_MSG_RETRIESEXCEEDED_G1 gt lt prop name PPAD_MSG_APPROVED_G2 type String value PPAD_MSG_APPROVED_G2 gt lt prop name PPAD_MSG_APPROVED_G1 type String value PPAD_MSG_APPROVED_G1 gt lt prop name PPAD MSG ENTERPIN type Long value 1 gt lt prop name PPAD_MSG_IDLE_G2 type String value PPAD_MSG_IDLE_G2 gt lt prop name PPAD_MSG_IDLE_G1 type String value PPAD_MSG_IDLE_G1 gt lt prop name PPAD_MSG_INSERTCARD_G2 type String value PPAD_MSG_INSERTCARD_G2 gt lt prop name PPAD MSG INSERTCARD G1 type String value PPAD_MSG_INSERTCARD_G1 gt lt prop name PPAD_MSG_NOTREADY_G2 type String value PPAD_MSG_NOTREADY_G2 gt lt prop name PPAD MSG NOTREADY G1 type String value PPAD MSG NOTREADY G1 5 lt prop name PPAD MSG SLIDE CARD FORM type String value SWIPEFRM gt lt prop name PPAD MSG AMOUNTOK G2 type String value PPAD MSG AMOUNTOK G2 5 37 lt prop name
13. PPAD_MSG_AMOUNTOK_G1 type String value PPAD_MSG_AMOUNTOK_G1 gt lt prop name PPAD_MSG_AMOUNTOK_FORM type String value CBYNFRM gt lt prop name PPAD_MSG_ENTERVALIDPIN_FORM type String value VALPINFRM gt lt prop name PPAD_MSG_PLEASEWAIT_G2 type String value PPAD_MSG_PLEASEWAIT_G2 gt lt prop name PPAD_MSG_PLEASEWAIT_G1 type String value PPAD_MSG_PLEASEWAIT_G1 gt lt JposEntry gt lt JposEntry logicalName NewPINPad gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos pinpad PINPadService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FP JavaPOS for FPE lt Ot her non JavaPOS required property an terminal name Hypercom terminal url http www hypercom com gt mostly vendor properties and WAITFRM gt ERTFRM gt bus specific properties i e RS232 gt lt prop name PPAD MSG SELECTCARDTYPE G2 type String value PPAD MSG SELECTCARDTYPE G2 5
14. Should be valid terminal serial number 12 digit number If property value is not specified then terminal id is taken from current lODriverOptions Taken into account only for communication via Ethernet port creditT ransactionKey ALL Function key events to be sent to ECR This is optional property If it s not specified the default the value ALL is assign to it If an other value e g FuncKey1 is assigned to the property then ECR will receive notification when it is pressed and all the other ones will be ignored Methods Method Description beginEFTTransaction PINPadSystem string transactionHost int32 void raises exception use after open claim enable Nothing to do in our case Simple switches on transactionBegun flag enablePINEntry void raises exception use after beginEFT Transaction Executes Form Request that shows PIN entry form Sets Prompt property to PPAD MSG ENTERPIN 1 value computeMAC inMsg string outMsg object void raises exception use after beginEFTTransaction Calls FPEInterface requestMacData function and waits for MAC data event back 19 20 JavaPOS Interface for FPE Terminals Interface Guide Method Description endEFTTransaction completionCode int32 void raises exception use after beginEFT Transaction Nothing to do in our case Simple switches off transactionBegun flag
15. Symbol s copyright notice on the licensed programs delivered hereunder and to include the same on any authorized copies it makes in whole or in part The user agrees not to decompile disassemble decode or reverse engineer any licensed program delivered to the user or any portion thereof Symbol reserves the right to make changes to specification and any software or product to improve reliability function or design Symbol does not assume any product liability arising out of or in connection with the application or use of any product circuit or application described herein No license is granted either expressly or by implication estoppel or otherwise under any Symbol Technologies Inc intellectual property rights An implied license only exists for equipment circuits and subsystems contained in Symbol products Symbol Spectrum One and Spectrum24 are registered trademarks of Symbol Technologies Inc Bluetooth is a registered trademark of Bluetooth SIG Microsoft Windows and ActiveSync are either registered trademarks or trademarks of Microsoft Corporation Other product names mentioned in this manual may be trademarks or registered trademarks of their respective companies and are hereby acknowledged Symbol Technologies Inc One Symbol Plaza Holtsville New York 11742 1300 http www symbol com ii JavaPOS Interface for FPE Terminals Interface Guide Revision History Changes to the original manual are listed below
16. g JPosDemo desktop Desktop Config File from the directory where you installed the JavaPOS application you may link this files to your user Desktop if needed V Note The application launchers execute Java machine referring to class libraries residing in the lib directory If it is necessary to run programs with some different parameters or integrate into other applications the libraries should be added in the class path 35 Appendix B Sample JCL xml file lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE JposEntries PUBLIC JavaPOS DTD EN jpos res jcl dtd gt lt JposEntries gt lt Saved by JavaPOS jpos config loader JCL version 2 1 0 RC3 on 5 28 05 3 11 PM 5 lt JposEntry logicalName Keyboard gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos keyboard KeyboardService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name deviceBus type String value Unknown gt lt JposEntry gt lt JposEntry logicalName NewSignatureCapture gt lt creation factoryClass com
17. hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos sigcap SignatureCaptureService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name terminalld type String value 100004541886 gt lt prop name globalPromptString type String value Please Sign Below gt lt prop name globalPromptNumber type Integer value 1 gt lt prop name bufferSize type Integer value 99999 gt lt prop name penUpTimeout type Integer value 9 gt lt prop name uuEncodedFlag type Boolean value true gt lt prop name waitFormName type String value WAITFRM gt lt prop name resolution type String value High gt lt prop name messageEnabledFlag type Boolean value true gt lt prop name deviceBus type String value Unknown gt lt JposEntry gt lt JposEntry logicalName PINPad gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos pinpad PINPadService 5 lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category
18. name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name deviceBus type String value Unknown gt lt prop name resolution type String value High gt lt prop name globalPromptNumber type Integer value 1 gt lt prop name globalPromptString type String value Please Sign Below gt lt prop name waitFormName type String value WAITFRM gt lt prop name penUpTimeout type Integer value 9 gt lt JposEntry gt lt JposEntry logicalName MSR gt 39 lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos msr MSRService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category MSR version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name swipeFormName type String value SWIPEFRM gt lt prop name deviceBus type String value Unkno
19. 24 2002 http www nrf arts org 2 Hypercom JavaPOS for FPE terminals Version 1 1 Hypercom February 2005 3 FPE Interface Specification Version 3 21 April 21 2006 Symbol Technologies Inc One Symbol Plaza Holtsville New York 11742 1300 http www symbol com 72E 91668 01 Revision A November 2006
20. Cannot set to true because CapRealTimeData is false LOGGING SUPPORT The FPElnterface and JPOS services perform logging during working process To switch logging on it s necessary to set log level to value that differs from LOG NO See table below To set log level it s necessary to set Dcom hypercom util LogLevel lenel nos option of java machine command line Log Level Value Notes LOG NO 0 No log is written LOG ERROR 1 Only error messages are written LOG INFO 2 Informational and error messages are written LOG DEBUG 3 All messages are written including detailed debug messages 32 JavaPOS Interface for FPE Terminals Interface Guide USE OF JPOS SERVICES IN JAVA BASED POS APPLICATIONS To use JPOS service it is necessary to initialize JCL registry first It is initialized from XML file containing definitions of service classes to be used The sample code below shows one of the ways how to do it This sample uses JCL xml file The file configured for Symbol services is distributed together with JPOS service implementation library See Appendix D for MSR control usage sample code import jpos loader import jpos public static void main String args Initializing JCL registry try System setProperty jpos config populatorFile JCL xml JposServiceManager manager JposServiceLoader getManager manager getEntryRegistry load catch Excepti
21. G ENTERVALIDPIN G2 type String value PPAD MSG ENTERVALIDPIN G2 5 lt prop name PPAD MSG SELECTCARDTYPE FORM type String value GETTENDFRM gt lt prop name PPAD MSG ENTERVALIDPIN G1 type String value PPAD MSG ENTERVALIDPIN G1 5 lt prop name PPAD MSG NOTREADY FORM type String value NOTREADY gt lt prop name PPAD MSG ENTERPIN G2 type String value PPAD MSG ENTERPIN G2 5 38 JavaPOS Interface for FPE Terminals Interface Guide lt prop name PPAD_MSG_ENTERPIN_G1 type String value PPAD_MSG_ENTERPIN_G1 gt lt prop name masterKeyIndex type Integer value 1 gt lt prop name promptFormName type String value SWIPEFRM gt lt prop name PPAD_MSG_CANCELED_FORM type String value CANCELFRM gt lt D prop name PPAD MSG RETRIESEXCEEDED G2 type String value PPAD MSG RETRIESEXCEEDED G2 5 lt prop name PPAD MSG APPROVED G2 type String value PPAD MSG APPROVED G2 5 lt prop name PPAD MSG RETRIESEXCEEDED G1 type String value PPAD MSG RETRIESEXCEEDED G1 5 lt prop name workingKey type String value 1234567123454789 gt lt prop name PPAD_MSG_APPROVED_G1 type String value PPAD_MSG_APPROVED_G1 gt prop name PPA SG_ENTERPIN type Long value 1 gt Pat SG IDLE G2 type String value
22. LLEGAL The device does not support windows scrollText direction int32 units int32 void raises exception use after open claim enable Always throws E_ILLEGAL Scrolling is not supported setBitmap bitmapNumber int32 fileName string width int32 alignmentX int32 alignmentY int32 void raises exception use after open claim enable Always throws E_ILLEGAL Bitmaps are not supported setDescriptor descriptor int32 attribute int32 void raises exception use after open claim enable Always throws E_ILLEGAL Descriptors are not supported Properties Property Value Description CapBlink int32 read only 1 0 DISP_CB_BLINKEACH open CapBitmap boolean read only False 1 7 open CapBlinkRate boolean read only True 1 6 open CapBrightness boolean read only False 1 0 open CapCharacterSet int32 read only DISP CCS ASCII 1 0 open CapCursorType int32 read only DISP CCT NONE 1 6 open CapCustomGlyph boolean read False only 1 6 open CapDescriptors boolean read False only 1 0 open CapHMarquee boolean read only False 1 0 open CapICharWait boolean read only False 1 0 open CapMapCharacterSet boolean False read only 1 7 open CapReadBack int32 read only DISP_CRB_NONE 1 6 open CapReverse int32 read only 1 6 DISP CR NONE open CapScreenMode boo
23. Listener void removeFPElnterfaceEventListener FPET erminalEventListener void getlODriver IODriverRemote displayForm String void 4 4 44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 getTenderType TenderType setT enderT ype T enderT ype void getResetT ender ResetT ender setResetT ender ResetT ender void getCashBackT ype CashBackT ype setCashBackT ype CashBackT ype void getCashBackFormName String setCashBackForm Name String void getCashBackPrompti String setCashBackPrompt1 String void getCashBackPrompt2 String setCashBackPrompt2 String void getCashBackYesNoPromptFlag CashBackY esNoPromptFlag setCashBackY esNoPromptFlag CashBackY esNoPromptFlag void getCashBackYesNo Form Name String setCashBackYesNo Form Name String void getCashBackY eesNo Prompt1 String setCashBackY esNoPrompt1 String void getCashBackYesNoPrompt2 String setCashBackYesNoPrompt2 String void getEncryptionT ype EncryptionType setEncryptionT ype EncryptionT ype void getMasterKeyIndex MasterKeyIndex setMasterKeyIndex MasterKeyIndex void getWorkingKey String setWorkingKey String void getPINFormName String setPINFormName String void getPINPrompt1 String setPINPrompt1 String void getPINPrompt2 String setPINPrompt2 String void getPurchaseBalanceYesNoFlag PurchaseBa
24. PE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name swipeFormName type String value SWIPEFRM gt lt prop name deviceBus type String value Unknown gt lt prop name gloablPromptString2 type String value OR USE SPEEDPASS gt lt prop name gloablPromptStringl type String value PLEASE SLIDE YOUR CARD gt lt JposEntry gt lt JposEntry logicalName SignatureCapture gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos sigcap SignatureCaptureService 5 lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name deviceBus type String value Unknown gt lt prop name resolution type String value High gt lt prop name globalPromptNumber type Integer value 1 gt lt prop name waitFormName type String value WAITFRM gt lt prop name globalPromptString type String value Please Sign Below gt lt prop name penUpTimeout type Integer valu
25. Stream null inputStream InputStream null receiver Receiver null TIME LIMIT long 75 m_dwLastMessageSent long MUTEX_TIMEOUT long 5000 m_bConnected boolean false criticalSection Object new Object SeriallOService InputListener setOptions IODriverOptions void open void send byte void getOptions IODriverOptions close void isOpen boolean isOpen String boolean Figure 3 ODriver class diagram AbstractlOService tepip TCPIPIOService receiver SocketsReceiver MUTEX_TIMEOUT long 5000 TERMINAL KEEP ALIVE PERIOD long 121000 options TCPIPOptions new TCPIPOptions isServiceOpen boolean false TCPIPIOService InputListener setOptions lODriverOptions void open void send byte void getOptions IODriverOptions close void isOpen boolean isConnected boolean open String void close String void send String byte void isOpen String boolean isConnected String boolean UU serial SerialOptions 1ODriverOptions SerialOptions getSerialPort String setSerialPort String void setBaudRate int void getBaudRate int setDataBits int void getDataBits int setParity int void getParity int setStopBits int void getStopBits int getCommType int options Ss N uses Serializable Clon
26. _MSG_CANCELED_G1 type String value PPAD_MSG_CANCELED_G1 gt lt prop name globalPromptNumber type Integer value 1 gt lt prop name PPAD_MSG_APPROVED_FORM type String value APPROVFRM gt lt prop name PPAD MSG RETRIESEXCEEDED FORM type String value RETEXCFRM gt lt prop name deviceBus type String value HID gt lt prop name PPAD_MSG_DECLINED_FORM type String value DECLFRM gt lt prop name PPAD MSG SLIDE CARD G2 type String value PPAD MSG SLIDE CARD G2 5 lt prop name PPAD MSG SLIDE CARD G1 type String value PPAD MSG SLIDE CARD G1 5 lt prop name globalPromptString type String value Please Enter PIN gt lt prop name PPAD MSG DECLINED G2 type String value PPAD MSG DECLINED G2 M 5 lt prop name pinFormName type String value PINFRM gt lt prop name PPAD MSG DECLINED G1 type String value PPAD MSG DECLINED G1 5 lt prop name cashbackEnabled type Boolean value true gt lt prop name PPAD MSG ENTERVALIDPIN G2 type String value PPAD MSG ENTERVALIDPIN G2 5 lt prop name PPAD MSG SELECTCARDTYPE FORM type String value GETTENDFRM gt lt prop name PPAD MSG ENTERVALIDPIN G1 type String value PPAD MSG ENTERVALIDPIN G1 5 lt prop name PPAD MSG NOTREADY FORM type String value NOTREADY gt lt prop name PPAD MSG ENTERPIN G2 type String value PPAD MSG ENTERPIN G2 5 lt prop name PPAD MSG ENTERPIN G1 type String value PPAD MSG ENTERPIN G1
27. ach method basis and also has the possibility to demarcate transactions By default each method begins and finishes a separate transaction by calling claim and release methods of IODriver before and after FPE command transmission Each such method also made thread safe In case it is necessary to perform multiple FPEInterface method calls in guaranteed transactional sequence the FPElnterface provides the same methods as IODriver claim isClaimed release The methods use IODriver s method calls inside having one difference that they are reentrant inside one FPEInterface object This means that it s allowed to call claim method multiple times without calling release for one FPElnterface instance and it won t throw an exception in case if first call completed successfully 15 JavaPOS Device Sharing Model WARNING This section is deprecated It describes sharing model based on the ClaimManager that is switched off by default The main problem with Unified POS standard is that it assumes that each separate POS component has its own separate hardware device In the case of Symbol terminals there is one hardware device that includes several device features inside Each of the OPOS devices PINPad MSR SignatureCapture Keyboard and Line Display is declared as exclusive use device in the UnifiedPOS standard The supplied solution is to deny claiming some POS devices depending on current system state The table below shows supplied de
28. ave another sent If the Symbol product was purchased from a Symbol Business Partner contact that Business Partner for service Component Model Figure 1 and Figure 2 show the base components included in the system Terminal Any Symbol PD8700 terminal with running FPE application lODriver Application running in a separate process and working as Input Output bridge between Terminal and FPElnterface controllers However it can run in the same process as User Application in some cases The IODriver have two base implementations differing in communication type One is Serial port driver and another one is TCP IP port driver The lODriver allows sharing one communication port among multiple user applications FPElnterface Service object providing functional interface to the user components The user components can call methods of FPEInterface and it translates the methods and parameters into the formatted FPE protocol data packets and submits to IODriver It also works in the opposite direction getting output from IODriver and converting it to understandable event objects that are fired further to the user components POS devices MSR PINPad LineDisplay Keyboard Signature Capture devices working according to Unified POS standard and use FPElnterface functions for implementing their functionality User Application Any user application that uses JavaPOS objects The User Application 2 on the diagram uses also FPElnterface and lODr
29. e 9 gt lt JposEntry gt lt JposEntries gt COMMON PROPERTIES These are properties common to all supported services Property Value Description AutoDisable Supported in MSR PINPad and SignatureCapture CapPowerReporting int32 read only 1 3 open Always PR_NONE There is no reliable way to detect if the ICE6000 5500 is powered on or off CheckHealthText string read only 1 3 open Initially has value Reports either Internal HCheck Successful when checkHealth has successful result and Internal HCheck Error lt description gt if checkHealth failes The lt description gt contains error description Claimed boolean read only 1 3 open True or False Simple local variable of JavaPOS class determining claimed state Updated when claim or release methods are called DataCount Initially Zero Simple local variable Number of int32 read only 1 3 open unhandled events in queue DataEventEnabled True or False Simple local variable boolean read write 1 3 open DeviceEnabled boolean read write 1 3 open amp claim True or False Simple local variable FreezeEvents True or False Simple local variable boolean read write 1 3 open OutputID Not Supported Not Supported int32 read only 1 3 PowerNotify Not supported Not Supported int32 read write 1 3 open PowerSiate Not supported Not suppor
30. eDescriptors int32 read only 1 0 open 0 DeviceRows int32 read only 1 0 open 16 ICE6000 DeviceWindows int32 read only 0 Only device window is 1 0 open supported GlyphHeight int32 read only 1 6 0 Not supported open GlyphWidth int32 read only 1 6 0 Not supported open InterCharacterWait int32 read Default 0 Allowed to be changed write 1 0 open but does not affect terminal MapCharacterSet boolean read write 1 7 open Default False Allowed to be changed but does not affect behavior MarqueeFormat int32 read write 1 0 open Default DISP_MF_PLACE Allowed to be changed but does not affect behavior MarqueeRepeatWait int32 read write 1 0 open Default 0 Allowed to be changed but does not affect behavior MarqueeType int32 read write 1 0 open Default DISP_MT_NONE Throws E_ILLEGAL when attempted to be changed 25 Property Value Description MarqueeUnitWait int32 read write Default 0 Allowed to be changed 1 0 open but does not affect behavior Maximumx int32 read only 1 7 0 open MaximumY int32 read only 1 7 0 open Rows int32 read only 1 0 open DeviceRows ScreenMode int32 read write 1 7 0 Throws E_ILLEGAL if not open amp claim 0 is attempted to be written ScreenModeList string read only 1 7 open 15x42 ICE6000
31. eable 1ODriverOptions COMM SERIAL int lODriverOptions clone Object getCommType int JODriverOptions options gt tcpip TCPIPOptions TCPIPOptions TCPIPOptions String int String setT CPIPhost String void getTCPIPhost Stri setT CPIPPort in getT CPIPPort getCommType int setT erminalld String void getT erminalld String 11 FPElnterface architecture The FPETerminallnterface has the following groups of functions begin prefixed functions are used for starting a user process request prefixed functions are used for non blocking request of a terminal data that is delivered by event after get prefixed functions similar to request but blocking and returning data as return value set prefixed functions are used to set some terminal parameters Other functions may have miscellaneous usage See FPETerminallnterface JavaDoc for more detailed function descriptions 12 JavaPOS Interface for FPE Terminals Interface Guide FPETerminalEv entAdapter Serializable TenderConfiguration FPETerminal FPETerminal FPETerminal String setT erminalld String void claim int void isClaimed boolean release void open String int void open String void isOpen boolean close void addFpeEventListener FPET erminalEvent
32. ercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name swipeFormName type String value SWIPEFRM gt lt prop name terminalld type String value 000000000000 gt lt prop name deviceBus type String value Unknown gt lt prop name gloablPromptString2 type String value OR USE SPEEDPASS gt lt prop name gloablPromptStringl type String value PLEASE SLIDE YOUR CARD gt lt JposEntry gt lt JposEntry logicalName NewKeyboard gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos keyboard KeyboardService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt 40 JavaPOS Interface for FPE Terminals Interface Guide lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name terminalId type String value 000000000000 gt lt prop name deviceBus type String value Unknown gt lt JposEntry gt lt JposEntry logicalName Li
33. est V SU token messageEnabledFlag true optional Boolean flag that identifies whether to enable or disable signature capture message FPE interface Form Request V SS token Methods Method Description beginCapture formName string void raises exception use after open claim enable Executes FPETerminallnterface beginSignatureCapture with parameters specified in static parameters endCapture void raises exception use after open claim enable Terminates signature capture Shows Wait Form with text Capture terminated 30 JavaPOS Interface for FPE Terminals Interface Guide Properties Property Value Description CapDisplay boolean read only True 1 0 open CapRealTimeData boolean False read only 1 2 open CapUserTerminated boolean True User can terminate read only 1 0 open signature capture by pressing Ok or Cancel button Maximumx int32 read only 1 0 open Returns X Axis Resolution static property value MaximumY int32 read only 1 0 open Returns Y Axis Resolution static property value PointArray array of points read only 1 0 open claim amp enable As in Unified POS specification RawData binary read only 1 0 open claim amp enable As in Unified POS specification RealTimeDataEnabled boolean read write 1 2 open False Throws E_ILLEGAL
34. fault exclusion matrix The X is put in the cells where two devices one in the row and one in the column cannot be claimed simultaneously PIN pad Line Display Signature MSR Keyboard Capture PIN pad X X X X X Line X X Display Signature X X Capture MSR X X Keyboard X X For making claim operation each POS device ask a singleton ClaimManager object if the device is allowed to make claim The ClaimManager can be a local in process object or remote shared object that manages POS devices of different applications It has exclusion matrix inside that can be reconfigured in case if exclusion policy should be changed WARNING By default JPOS services do not use ClaimManager To switch usage on it is necessary to set the com hypercom fpe jpos isUseClaimManager system property to true by specifying it in client java application parameter java Dcom hypercom fpe jpos isUseClaimManager true 16 JavaPOS Interface for FPE Terminals Interface Guide JCL CONFIGURATION POS controls read additional parameters from JCL module that provides visual configuring tools of configuration parameters and stores parameter data in XML format The parameters supported by each implemented service are described in Configurable static parameters section of each service description Sample configuration for Line Display Signature Capture and MSR category devices is listed below please refer to Appendix B
35. for sample configuration of all supported device categories lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE JposEntries PUBLIC JavaPOS DTD EN lib jpos res jcl dtd gt lt JposEntries gt lt Saved by JavaPOS jpos config loader JCL version 2 1 0 RC3 on 1 26 04 8 20 AM s lt JposEntry logicalName LineDisplay gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos linedisplay LineDisplayService 5 lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name deviceBus type String value Unknown gt lt prop name foregroundColor type Integer value 0 gt lt prop name backgroundColor type Integer value 255 gt lt prop name fontSize type Integer value 0 gt lt JposEntry gt lt JposEntry logicalName MSR gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos msr MSRService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category MSR version 1 7 gt lt product description Hypercom JavaPOS for F
36. iable 1 5 open TransactionType string read Any Simple local variable write 1 3 open 22 JavaPOS Interface for FPE Terminals Interface Guide LINEDISPLAY Device type Exclusive Java Class jpos LineDisplay Service Class Service Factory Class JCL Entry name com hypercom jpos linedisplay LineDisplayService com hypercom jpos ServicelnstanceFactory LineDisplay Configurable Static Parameters Parameters that are specified in the XML file of JCL Property Default value Description backgroundColor 255 0 255 LineDisplay font background color foregroundColor 0 O 255 LineDisplay font foreground color fontSize 0 0 1 2 3 4 Font size terminalld null Should be valid terminal serial number 12 digit number If property value is not specified then terminal id is taken from current IODriverOptions Taken into account only for communication via Ethernet port Methods Method Description clearDescriptors void raises exception use after open claim enable Always throws E ILLEGAL The device does not support descriptors clearText void raises exception use after open claim enable Calls FPETerminallnterface clearDisplayBuffers function FPE Clear All Display Lines N createWindow viewportRow int32 viewportColumn int32 viewportHeight int32 viewportWidth int32 windowHeight int32 windowWidth int32 void raises exception
37. iver directly that is not Unified POS standard but sometimes it can help the user application to access more sophisticated terminal functions 8 JavaPOS Interface for FPE Terminals Interface Guide User Application 2 User Application 1 MSR POS qr Usage device l PINPad POS device Keyboard SignatureCapture POS device POS device LineDisplay POS device FPEInterface mh instance 1 User instance 2 Us r process 1 process 2 PNA l I I l I I O driver process SET KU GA AA AA 1 I l l l i Terminal l l Terminal process Figure 1 Symbol JavaPOS linternal Component Model This diagram shows an example of how JavaPOS objects can be used by two applications running simultaneously when terminal is connected via serial 25232 port User Application 1 User Application 2 direct usage Keyboard SignatureCapture PINPad POS POS device POS device device LineDisplay POS device FPElnterface instance 1 User FPElnterface instance 2 process 2 User process 1 I O driver process Figure 2 Symbol JavaPOS Internal Component Model This diagram shows an example of how JavaPOS objects can be used by two applications running simultaneously when terminals are connected via Ethernet port Terminal p
38. lanceYesNoFlag setPurchaseBalanceYesNoFlag PurchaseBalanceYesNoFlag void getPurchasBalanceFormName String setPurchaseBalanceFormName String void getPurchaseBalancePrompt1 String setPurchaseBalancePrompt1 String void getPurchaseBalancePrompt2 String setPurchaseBalancePrompt2 String void getSwipeFormName String setSwipeFormName String void getSwipePrompt1 String setSwipePrompt1 String void getSwipePrompt2 String setSwipePrompt2 String void getFrequentShopperYesNoFlag FrequentShopperY esNoFlag setFrequentShopperY esNoFlag FrequentShopperYesNoFlag void TenderConfiguration TenderConfiguration T enderT ype Figure 4 FPETerminallnterface class diagram The internal structure is more complicated Here are the most important classes are presented JavaPOS Service Architecture 13 JposServicelnstanceFactory ServicelnstanceFactory leaf ServicelnstanceFactory createlnstance String JposEntry JposServicelnstance BaseService FPEPosService PROP IODRIVER HOST String iodriver host PROP IODRIVER PORT String iodriver port PROP TERMINAL ID String terminalld autoDisable boolean dataEventEnabled boolean checkHealthText String checkHealthNumber int 0 claimed boolean EventQueue deviceEnabled boolean deviceServiceVersion in
39. lean read False only 1 7 open CapVMarquee boolean read only False 1 0 open BlinkRate int32 read write 1 6 Default 990 open CharacterSet int32 read write DISP_CS_ASCII Only one character set is 1 0 open claim amp enable supported 24 JavaPOS Interface for FPE Terminals Interface Guide Property Value Description CharacterSetList string read only 1 0 open 998 999 DISP_CS_ASCIl and DISP CS ANSI Columns int32 read only 1 0 open DeviceColumns CurrentWindow int32 read write 1 0 open 0 Always zero Throws E ILLEGAL when attempting to change to non zero value CursorColumn int32 read write 1 0 open 0 lt CursorColumn lt Columns Updated each time new line is displayed if CursorUpdate True CursorRow int32 read write 1 0 open 0 lt CursorRow lt Rows Updated each time new line is displayed if CursorUpdate True CursorType int32 read write 1 6 open DISP_CT_NONE CursorUpdate boolean read write 1 0 open True or False If True the CursorRow and CursorColumn are updated CustomGlyphList string read Empty string Not only 1 6 open supported DeviceBrightness int32 read write 1 0 open claim amp enable 100 Allowed to be changed but does not affect real brightness DeviceColumns int32 read only 1 0 open 43 ICE6000 Devic
40. lt prop name PPAD MSG SELECTCARDTYPE G1 type String value PPAD MSG SELECTCARDTYPE G1 5 lt prop name PPAD MSG PLEASEWAIT FORM type String value lt prop name PPAD MSG ENTERPIN FORM type String value PIN gt lt prop name PPAD MSG IDLE FORM type String value IDLEFRM gt lt prop name PPAD MSG INSERTCARD FORM type String value INSI lt prop name PPAD MSG CANCELED G2 type String value PPAD_MSG_CANCELED_G2 gt lt prop name PPAD_MSG_CANCELED_G1 type String value PPAD_MSG_CANCELED_G1 gt lt prop name globalPromptNumber type Integer value 1 gt lt prop name PPAD_MSG_APPROVED_FORM type String value APPROVFRM gt lt prop name PPAD MSG RETRIESEXCEEDED FORM type String value RETEXCFRM gt lt prop name deviceBus type String value HID gt lt prop name PPAD_MSG_DECLINED_FORM type String value DECLFRM gt lt prop name PPAD MSG SLIDE CARD G2 type String value PPAD MSG SLIDE CARD G2 5 lt prop name PPAD MSG SLIDE CARD G1 type String value PPAD MSG SLIDE CARD G1 5 lt prop name globalPromptString type String value Please Ent PIN gt lt prop name PPAD MSG DECLINED G2 type String value PPAD_MSG_DECLINED_G2 gt lt prop name pinFormName type String value PINFRM gt lt prop name PPAD MSG DECLINED G1 type String value PPAD MSG DECLINED G1 5 lt prop name cashbackEnabled type Boolean value true gt lt prop name PPAD MS
41. ly 1 0 open Surname siring read only 1 0 open Title string read only 1 0 open Track1Data binary read only 1 0 open Property Value Description Track1DiscretionaryData binary read only 1 0 open Track2Data binary read only 1 0 open Track2DiscretionaryData binary read only 1 0 open Track3Data binary read only 1 0 open Track4Data binary read only 1 5 open TracksToRead int32 read write 1 0 open As in UnifiedPOS specification TransmitSentinels boolean read write 1 5 open 27 28 JavaPOS Interface for FPE Terminals Interface Guide KEYBOARD Device type Java Class Service Class Service Factory Class JCL Entry name Configurable static parameters Parameters that are specified in the XML file of JCL Exclusive jpos Keyboard com hypercom jpos keyboard KeyboardService com hypercom jpos ServicelnstanceFactory Keyboard Property Default Value Description terminalld null Should be valid terminal serial number 12 digit number If property value is not specified then terminal id is taken from current lODriverOptions Taken into account only for communication via Ethernet port Properties Property Value Description 1 2 open CapKeyUp boolean read only False 1 2 open EventTypes int32 read write KBD_ET_DOWN The KBD_ET_UP is no
42. mplementations are written with using Sun JDK Version 1 3 V NOTE Screens and windows pictured in this guide are samples and can differ from actual screens KO IMPORTANT Any references in this guide to Hypercom Corporation Hypercom logo Hypercom file names and file paths Hypercom software and terminals reflect hardware and software manufactured by Hypercom Corporation for Symbol Technologies Inc Notational Conventions The following conventions are used in this document If applicable the term FormBuilder in this guide refers to software Italics are used to highlight the following o Chapters and sections in this and related documents o Drop down list and list box names o Check box and radio button names o Icons on a screen Bold text is used to highlight the following o Names of windows o Dialog box components bullets indicate o Action items o Lists of alternatives o Lists of required steps that are not necessarily sequential Sequential lists e g those that describe step by step procedures appear as numbered lists Special icons vi JavaPOS Interface for FPE Terminals Interface Guide NOTE Notes contain neutral or positive information supplementing the main text It is often information that applies only to special cases IMPORTANT Important statements draw attention to information crucial to using the product successfully Pay special attention to Important statements WARNING Warnings provide info
43. n near aan enr eden 23 MS R aap Ah 26 Configurable static parameters nn 26 Properties ss ntm ne a AKA Tn Reen sede ei 26 Keyboard PAANYAYA PE PA AA AA AA APA AA 28 Configurable static parameters nennnnnns 28 Properties PAA AMA ans APA APA ADHA PAA PAA AAH APA AN 28 iV JavaPOS Interface for FPE Terminals Interface Guide Signature CAPO aasaran ima earar aara an a aaa daraa aa jevetenstuenontaciss savedsvecuaencucsoetaes 29 Configurable Static Parameters ss 29 Me thOdS ae E TA T 29 Properties ina ara AA Aa 30 LOGGING SUDPPON Sinaksak Aa AA nG La a tata aa ac E Nan 31 Use of JPOS Services in Java Based POS Applications 32 JPOS Service test application saaan maana asana GA 33 Appendix A Sample Applications 34 Appendix B Sample JCL xml file 11 0 0 0000000aaaaanaaauaaaaaaaaaaaanananaaaaaaaaananaaa 35 Appendix C CommSettings xml Sample IODriver options file 41 Appendix D Sample MSR control usage 42 RelerenG V M R E TANA ETTET A 44 ABOUT THIS GUIDE Introduction This document describes JavaPOS interface implementation details for Symbol PD87xx PD47xx PIN pads such as PD8700 PD4700 and PD4750 using FPE as the communication protocol between terminal and host The supported POS objects are PIN pad MSR Magnetic stripe reader Signature Capture Keyboard Line Display The implementation fits Unified POS version 1 7 standards described in http www nrf arts org POS object i
44. neDisplay gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos linedisplay LineDisplayService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt x Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name deviceBus type String value Unknown gt lt prop name foregroundColor type Integer value 0 gt lt prop name backgroundColor type Integer value 255 gt lt prop name fontSize type Integer value 0 gt lt JposEntry gt lt JposEntries gt 41 Appendix C CommSettings xml Sample IODriver options file lt xml version 1 0 gt lt comm app options comm type 1 registry port 4209 gt lt IODriverUrl gt localhost 4209 iodriver lt IODriverUrl gt lt tcp iPOptions TCPIPPort 5110 comm type 1 gt lt TCPIPhost gt localhost lt TCPIPhost gt lt tcp iPOptions gt lt active iODriver options TCPIPPort 5110 comm type 1 xmlns xsi http www w3 org 2001 XMLSchema instance xsi type java com hypercom commservice tcpip TCPIPOptions gt lt TCPIPhost gt localhost lt TCPIPhost gt lt active iODriver options gt lt log options log level 3 log
45. on ex ex printStackTrace return Using JPOS controls try PINPad pinPad new PINPad PinPad open PINPad The logical name PINPad must have correspondent entry in JCL xml file Call other functions of pinpad See UnifiedPOS specification for more details About them catch Exception ex ex printStackTrace 33 JPOS SERVICE TEST APPLICATION Symbol also provides a JPOS service test application demonstrating how the implemented services work File Devices Tools Help JavaPOS SignatureCapture Device Control r Device Information SignatureCapture Hypercom Corp ao r Actions Logical name SignatureCapture Form Name SIGNATURE Open Claim Timeout 0 Clear input Check heatth capPowe Hypercom JavaPOS Demo Direct 10 DE Hypercom JavaPOS Demo ATOA Version113 Copyright c 2003 2005 Hypercom Corporation reCapture Device Control rue SignatureCapture Hypercom Corp 1007000 false rEvents 1024 1024 Device Enabled Terminal L4100 Fpe version Major 0003 Minor 0004 OS boot version L4100 C Data Event Enabled i 513 683 514 678 511 675 506 674 499 677 492 678 485 680 47 C Freeze events RIO o 00 08 04 00 04 00 2C FE 21 BE CO 35 58 1E DE FA EF F7 21 B9 05 C8 4 realTimeDataEnabled false
46. output 0 gt lt log file gt lt log file gt lt log options gt lt serial options comm type 0 stop bits 1 data bits 8 parity 0 baud rate 19200 gt lt serial port gt COM1 lt serial port gt lt serial options gt lt comm app options gt 42 JavaPOS Interface for FPE Terminals Interface Guide Appendix D Sample MSR control usage import jpos import jpos loader JposServiceManager import jpos loader JposServiceLoader lt p gt lt b gt Title lt b gt Hypercom JavaPOS library lt p gt lt p gt lt b gt Description lt b gt This sample demonstrates the usage of JPOS MSR device To run this sample its necessary to execute jcommapp batch file that starts IODriver application lt p gt lt p gt lt b gt Copyright lt b gt Copyright c 2003 2006 lt p gt lt p gt lt b gt Company lt b gt Hypercom lt p gt author Jelena Lubimova version Revision FF FF XX ta public abstract class SampleMSRUsage public static void main String args Initializing JCL registry try System setProperty jpos config populatorFile JCL xml JposServiceManager manager JposServiceLoader getManager manager getEntryRegistry load catch Exception ex ex printStackTrace return Using LineDisplay MSR msr new MSR try Initializing device msr open MSR msr claim 5000 msr setDeviceEnabled true msr setDa
47. rmation that is essential to the safety of the user the equipment or both Failure to do as instructed may result in physical damage H CAUTION Cautions advise that a negative result such as a loss of data may occur Related Documents For the latest version of this and all payment solutions guides go to http www symbol com manuals Service Information For service information warranty information technical assistance or problems with the equipment contact the regional Symbol Global Customer Interaction Center in your area by visiting www symbol com contactsupport Before calling have the model number serial number and several bar code symbols at hand Call the Global Customer Interaction Center from a phone near the scanning equipment so that the service person can try to troubleshoot the problem If the equipment is found to be working properly and the problem is reading bar codes the Support Center will request samples of the bar codes for analysis at our plant If the problem cannot be solved over the phone it may be necessary to return the equipment for servicing If that is necessary the Global Customer Interaction Center will provide specific directions NOTE Symbol Technologies is not responsible for any damages incurred during shipment if the approved shipping container is not used Shipping the units improperly can possibly void the warranty If the original shipping container was not kept contact Symbol to h
48. rocess 10 JavaPOS Interface for FPE Terminals Interface Guide lODriver Architecture notifies AbstractlOService inputListener InputListener inputListener Serializable Cloneable CommAppOptions CommAppOptions setlODriverUn String void getlODriverUnl String setLogOptions LogOptions void getLogOptions LogOptions setSerialOptions SerialOptions void getSerialOptions SerialOptions setTcpIPOptions TCPIPOptions void getTcplPOptions TCPIPOptions setRegistryPort int void getRegistryPort int s tCommT ype int void getCommT ype int getActivelODriverOptions IODriverOptions setActivelODriverOptions IODriverOptions void 4 Ee T R Es x X pe AbstractIOService InputListener open void isOpen boolean close void setOptions IODriverOptions void getOptions IODriverOptions send byte void isConnected boolean send String byte void isConnected String boolean open String void isOpen String boolean close String void a notifies lODriv er UnicastRemoteObject listenerListMap HashMap new HashMap isDriverClaimed boolean false claimLock Object new Object claimLockSet HashSet new HashSet ioService AbstractlOService null messageDispatchT hread MessageDispatchThread new MessageDisp realize ci
49. rough ODriver initialized in JCommApp otherwise it starts its own in process IODriver Trace tracer exe on Windows tracer on Linux Executes JavaPOS Tracing application showing raw protocol messages sent to from POS terminal in hexadecimal format Can be used to monitor all messages send received from the connected terminals JCL Editor jcleditor exe on Windows jcleditor on Linux Executes JCL file editor coming together with JCL library This is not a Symbol product To start JavaPOS applications on Windows do one of the following Run lt application_name gt exe e g JPosDemo exe from bin directory under the one where you installed the JavaPOS application by default its C Program Files HypercomJavaPOS bin Choose Start Programs Hypercom lt application_name gt e g JPos Demo To start JavaPOS applications installed on Linux do one of the following Run lt application_name gt script from any directory of Shell or Root Console Konsole Works fine for JavaPOS applications installed as RPM package and by Unix Linux GUI installer provided Symlinks were successfully added to default directory suggested by installation otherwise call from bin directory e g root hypercom HypercomJavaPOS JPosDemo Double click on application shell script lt application_name gt e g JPosDemo from bin directory under the one where you installed the JavaPOS application Double click on lt application_name gt desktop e
50. rough these objects There is also special synchronization level on the JavaPOS layer that synchronizes different types of POS device objects lODriver Level Synchronization The lODriver functional interface provides three synchronization control functions claim claim String terminalld isClaimed isClaimed String terminalld release release String terminalld These functions help to control access to send function performing sending of FPE data packet to terminal Before using send function the user component must call claim function to mark start of output transaction After claim call completes successfully the user component is allowed to call send function possibly several times and when necessary data is transmitted the release function should be called to mark end of output transaction In case if one component has started transaction while another tries to start another transaction the second component receives an exception performing claim function call In this case the component is not allowed to make data transmission until the first component finishes IO driver does not deny calling of send function without previous claim operation and it is the user responsibility to synchronize transactions in this case The send function has atomic behavior thus any new send call is not starting data transmission until the previous is finished FPElnterface Level Synchronization The FPElnterface performs synchronization on e
51. t queue LinkedList freezeEvents boolean physicalDeviceDescription String queue EventQueuel physicalDeviceName String put EventObject void state int clear void callbacks EventCallbacks get EventObject queue EventQueue isEmpty boolean jposEntry JposEntry size int terminal FPETerminal eventDispatcher EventDispatcher new EventDispat claimManager ClaimManagerRemote null claimToken ClaimTokenRemote null isUseClaimManager boolean Boolean getBoolean terminalVersionlnfo Versioninformation null terminalType TerminalType null 7 FPEPosService isDirectlOResponseExpected boolean aes elle i msr MSRService SignatureCaptureService17 FPEPosService a sigcap SignatureCaptureServ ice A FPEPosService POSKeyboardService17 keyboard KeyboardService FPEPosService LineDisplayService17 FPEPosService linedisplay LineDisplayServ ice Runnable PINPadSerice17 pinpad PINPadService Figure 5 JavaPOS device service diagram 14 JavaPOS Interface for FPE Terminals Interface Guide DEVICE SHARING MODEL The system assumes that multiple objects in different applications can communicate to terminal simultaneously This means that Input Output operations must be somehow synchronized The synchronization is performed on two levels on IODriver level and on FPEInterface level The other components as POS objects and user application can control synchronization t
52. t allowed 1 1 open POSKeyData int32 read only Key code filled by last key event only 1 2 open POSKeyEventType int32 read KBD_KET_KEYDOWN KBD KET KEYUP SIGNATURE CAPTURE Device type Java Class Service Class Service Factory Class JCL Entry name Exclusive jpos SignatureCapture com hypercom jpos sigcap SignatureCaptureService com hypercom jpos ServicelnstanceFactory SignatureCapture Configurable Static Parameters Property Default Value Description resolution High High or Low resolution string value High 1024x1024 Low 640 480 penUpTimeout 9 1 9 Pen Up timeout in seconds After this time signature is automatically transferred to host globalPromptNumber 1 1 Means that no prompt will be set 1 2 3 4 values are allowed globalPromptString null Text displayed in the prompt waitFormName WAITFRM Wait form displayed after capturing terminalld null Should be valid terminal serial number 12 digit number If property value is not specified then terminal id is taken from current lODriverOptions Taken into account only for communication via Ethernet port bufferSize null optional Integer property represents size of signature buffer in bytes FPE interface Form Request V SB token uuEncodedFlag false optional Boolean flag that identifies whether to use UUEncoding for Signature capture FPE interface Form Requ
53. taEventEnabled true Object obj new Object String strDirectIO TS int buff new int strDirectIO length for int i 0 i lt strDirectIO length i filling buffer with string which later will be passed as directIo method data parameter buff i strDirectIO charAt i try Waiting until message received Thread sleep 5000 catch Exception e e printStackTrace Xxx 43 directIO Method Syntax directIO command int32 inout data int32 inout obj object void raises exception x Comments When directIO method called on MSR control is passed data parameter equal to TS x then the first element of data data 0 will contain TrackDataSource code as it is described in FPE Interface specification E g 0 TRACK READER 1 RDIF EXPRESS PAY x 2 RFID PAY PASS x 3 RFID VISA WAVE a NAY RFID UNKNOWN APP calling directIO method on MSR control with TS passed as data parameter msr directIO 1 buff obj after directIO method execution first element of data array will contain buff 0 System out println Track Data source buff 0 Finishing session msr close catch JposException ex ex printStackTrace 44 JavaPOS Interface for FPE Terminals Interface Guide References 1 UnifiedPOS Retail Peripheral Architecture Version 1 7 July
54. ted int32 read only 1 3 open State int32 read only 1 3 JPOS_S_CLOSE JPOS_S_IDLE If open method was not called before than it has JPOS S CLOSE value In all other cases device is in JPOS S IDLE state DeviceControlDescription string read only 1 3 This is defined in JavaPOS API sources DeviceControlVersion int32 read only 1 3 This is defined in JavaPOS API sources DeviceServiceDescription string read only 1 3 open PINPad MSR etc Hypercom znames JavaPOS service The lt name gt has values PINPad MSR LineDisplay SignatureCapture KeyBoard depending on component DeviceServiceVersion int32 read only 1 3 open 1007000 Corresponds to 1 7 version of Unified POS PhysicalDeviceDescription string read only 1 3 open getTerminallnfo getVersionInfo Holds terminal type and OS version description The property value is filled inside open method It requests terminal information by issuing Terminal Type T and Version Information F FPE commands 18 JavaPOS Interface for FPE Terminals Interface Guide Property Value Description PhysicalDeviceName Terminal name The property value is filled inside open string read only 1 3 open ICE6000 or method It requests terminal information getTerminallnfo getVersionInfo ICE5500 or other by issuing Terminal Type T FPE compatible command terminal
55. use after open claim enable Always throws E ILLEGAL The device does not support windows defineGlyph glyphCode int32 glyph binary void raises exception use after open claim enable Throws E ILLEGAL The device does not support glyph destroyWindow Always throws E ILLEGAL The device does not void raises exception use after open claim enable support windows displayBitmap Always throws E ILLEGAL Bitmap displaying is fileName string width int32 alignmentX int32 align mentY int32 void raises exception use after open claim enable not supported displayText data string attribute int32 void raises exception use after open claim enable Calls FPETerminallnterface displayLine Uses CursorRow and CursorPos as X Y Supports only DISP_DT_NORMAL and DISP_DT_BLINK attributes FPE UpdateDisplay M displayTextAt row int32 column int32 data string attribute int32 void raises exception use after open claim enable Calls FPETerminallnterface displayLine Supports only DISP_DT_NORMAL and DISP_DT_BLINK attributes FPE UpdateDisplay M 23 Method Description readCharacterAtCursor inout cursorData int32 void raises exception use after open claim enable Throws E_ILLEGAL The device does not support reading refreshWindow window int32 void raises exception use after open claim enable Always throws E_I
56. wn gt lt prop name gloablPromptString2 type String value OR USE SPEEDPASS gt lt prop name gloablPromptStringl type String value PLEASE SLIDE YOUR CARD gt lt JposEntry gt lt JposEntry logicalName NewLineDisplay gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos linedisplay LineDisplayService gt lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category LineDisplay version 1 7 gt lt product description Hypercom JavaPOS for FPE terminal name Hypercom JavaPOS for FPE terminal url http www hypercom com gt lt Other non JavaPOS required property mostly vendor properties and bus specific properties i e RS232 gt lt prop name terminalld type String value 000000000000 gt lt prop name deviceBus type String value Unknown gt lt prop name foregroundColor type Integer value 0 gt lt prop name backgroundColor type Integer value 255 gt lt prop name fontSize type Integer value 0 gt lt JposEntry gt lt JposEntry logicalName NewMSR gt lt creation factoryClass com hypercom fpe jpos ServiceInstanceFactory serviceClass com hypercom fpe jpos msr MSRService 5 lt vendor name Hypercom Corporation url http www hypercom com gt lt jpos category MSR version 1 7 gt lt product description Hyp
Download Pdf Manuals
Related Search
Related Contents
Microsoft Wireless Mobile Mouse 1000, 5pcs MXL 440/441 Manuel DeltaSol® CS/4 NGS Chronus 700 Operation and Service Manual Cooper Lighting Halo L5063870 User's Manual Copyright © All rights reserved.
Failed to retrieve file