Você está na página 1de 135

VeriFone POS

VeriFone Training Summary

Jordy,
Luqman Alfarisi,
William.

August 30, 2016


VERIFONE POS
CONTENTS

1. Terminal Basics
2. Development Suite
3. eVo Components
4. Supporting Tools
5. TMS
6. Sample Project
7. Download using USB and TMS

2 © 2016 Wirecard
1
TERMINAL BASICS
OPERATING SYSTEM
VERIX V TERMINALS
Vx 510/Vx 570
• Counter top
• Highspeed modem
• Optional Ethernet and SmartCard

Vx 610/ Vx 670
• Portable (battery powered)
• Dial + wireless (CDMA, GPRS or WiFi)
• Optional SmartCard

Vx 810/ Vx 810 Duet


• Pin Pad or Counter top
• Ethernet and Dial on Duet
• Optional SmartCard and Contacless

4 © 2016 Wirecard
EVO TERMINALS
Vx 520/ Vx 825
• Counter top
• Highspeed modem
• Optional Ethernet and GPRS
• Optional SmartCard and Contactless

Vx 675/ Vx 680
• Portable (battery powered)
• Dial + wireless (3G, GPRS, WiFi)
• Optional SmartCard and Contacless

Vx 805/ Vx 820/ Vx820 Duet


• Pin Pad or Counter top
• Ethernet and Dial on Duet
• Optional SmartCard and Contactless

5 © 2016 Wirecard
TERMINAL BASICS
PRODUCT FEATURES

Verix V
• ARM9 Processor
• Storage using Flash and RAM

Trident
• ARM11 Processor
• Storage using Flash only

 MMU Hardware Memory Protection


 VeriShield Security

6 © 2016 Wirecard
TERMINAL BASICS
PROGRAMMING

ANSI C Native Code


• 4 Bytes Integer Size
• Big Endian
• Faster and larger than interpreted code

Commercial Tools
• ARM Realview Compiler and Debugger

Shared Libraries

7 © 2016 Wirecard
TERMINAL BASICS
OPERATING SYSTEM FEATURES

• Downloadable OS (update / replace)


• Verix V -> applications executed in place
• eVo -> applications moved to DRAM for execution

Multi-tasking
• Using simple round-robin scheduler
• Use pipes

Device Ownership
• Only one task may own a device at any time
• Device ownership can be explicitly passed to another task

8 © 2016 Wirecard
TERMINAL BASICS
OPERATING SYSTEM FEATURES

Events
• No interrupts
• wait_event()

Multiple Applications
• Applications may consist of 1 or more tasks
• GIDs (file groups) separate file space for applications

GIDs / File Groups


• 16 (17 eVo) memory partitions
• Span both Flash and RAM
• No fixed size per group
9 © 2016 Wirecard
OPERATING SYSTEM FEATURES
FILE GROUPS

GID 0 Operating System only


GID 1 Supervisor / Sponsor Application
- Can access files in GID 1-15
GID 2-14 Can access files in their group
- Can access files in GID 15
GID 15 Common Area
- Shared Common file
- Limited to GID 15
GID 46 EOS only

10 © 2016 Wirecard
OPERATING SYSTEM FEATURES
ZIP FILES

ZIP files can be used for downloads via USB


• Zip files not authenticated, code files in zip file are still
authenticated

• Use variable *UNZIP to unzip zip file. Each GID can


specify unzip file.

• OS API unzip()

11 © 2016 Wirecard
TERMINAL BASICS
SYSTEM MODE

Functions :
• Receive Downloads
• Edit Config.sys Variables
• Set Display Contrast
• Set Clock
• Clear Memory
• Executes GID1 Config.sys *GO

12 © 2016 Wirecard
TERMINAL BASICS
SYSTEM MODE

Entry to System Mode


• Press [F2] and [F4] or [7] and [Enter]
• Default password :
- Z66831 or 166831
(Z = [1][alpha][alpha])

13 © 2016 Wirecard
TERMINAL BASICS
VERIX EVO

• Verix eVo = Verix Envolved or Vx Extended OS (EOS)


• Enhances the basic Core Verix V OS
• Provides improved communications
• Special separated user group 46
- No applications can access files in this group
• New non-writable file system (“N:”) will be supported in
FLASH
• The update files are downloaded into Group 1 of terminal

14 © 2016 Wirecard
2
DEVELOPMENT SUITE
DEVELOPMENT SUITE COMPONENTS
DEVELOPMENT SUITE
SOFTWARE TO INSTALL

• ARM’s RealView Developer Suite


• Verix V Development Suite
• Verix V DTK
• VeriShield
• Font Generation Tool
• ACT2000
• VMAC Library

16 © 2016 Wirecard
DEVELOPMENT SUITE
SOFTWARE ARCHITECTURE

17 © 2016 Wirecard
DEVELOPMENT SUITE
SOFTWARE REQUIREMENTS FOR COMPILING EVO

• RVDS 4.0 compiler

• Verix eVo DTK 1.2.0

• VeriShield File Signing Tool 04.00.06


- eVo no longer supports default certificate
- applications must be signed with a signing card
- requires FileSigning SmartCard
- P7S file produced is unique per card

18 © 2016 Wirecard
DEVELOPMENT SUITE
SIMPLE APPLICATION BUILD PROCESS

Example: vrxcc test.c

19 © 2016 Wirecard
DEVELOPMENT SUITE
SIMPLE APPLICATION BUILD PROCESS

Example: filesignature test.fst –nogui

20 © 2016 Wirecard
DEVELOPMENT SUITE
SIMPLE APPLICATION BUILD PROCESS

Download files
Example: ddl test.out test.out.p7s *GO=test.out\

VRXCC used to compile and link


VeriShield FileSignature to sign the application
DDL used to download the application
Set *GO to execute application

21 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS

• Load VeriShield File Signing Tools.


• Check the Dual Logon option.

22 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS

• Make sure a File Signing SmartCard is present in SmartCard reader.


• Click Diagnose button to verify SmartCard

23 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS

• Click Smart Card tab to verify contents.


• Left panel shows the Contents such as card’s serial number\
• Right panel shows Sponsor certificate and Signer certificate

24 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS

• Click Sign File button


• Click next on the welcome screen

25 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS

• Choose Sign files with new settings

26 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS

• Add files to be signed


• Then select Secured option on next window

27 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS
• Default certificate name is certif.crt, this will be downloaded to the
terminal later on
• Verify all settings, then click Sign File

28 © 2016 Wirecard
DEVELOPMENT SUITE
FILE SIGNING PROCESS

• Enter pin numbers for signing card.

29 © 2016 Wirecard
DEVELOPMENT SUITE
DOWNLOADING CERTIFICATES

Once the file signing process is completed, it will produce 3 files:


• An application signature file (.P7S)
• Sponsor certificate (SponsorCert.crt)
• Signer certificate (Certif.crt)

SponsorCert.crt and Certif.crt should be downloaded at least once

30 © 2016 Wirecard
DEVELOPMENT SUITE
DOWNLOADING APPLICATION

3 Options Available for download :


1. System Mode Download :
• Download must be configured on the terminal side before
PC download is started.
2. DOWNLOAD NEEDED on the screen
 Download will begin as DDL is run on the PC
3. *SMDL set to 1
• Terminal will begin download when terminal is powered up

31 © 2016 Wirecard
DEVELOPMENT SUITE
DOWNLOADING APPLICATION

By default, files are downloaded to I: drive in GID1


Automatic check for download on system restart:
- Set GID1 CONFIG.SYS *SMDL=1
Set passwords:
- System mode: ddl *SMPW=<password>
- GID: ddl setgroup.2 *PW=<password>

32 © 2016 Wirecard
3
EVO COMPONENTS
COMM ENGINE, NCP, ETC
EVO COMPONENTS
EVO ARCHITECTURE

34 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS OF VERIX EVO TERMINAL

 Boot strap application (VxEOS.OUT)


 Communication Engine or CommEngine (VxCE.OUT)
 Communication Interface shared library (CEIF)
 Network Control Panel (NCP)
 TCP/IP stack
 SSL shared library

35 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – VXEOS.OUT

VxEOS.out starts the CommEngine and the other


executeable files in the Vx eVo manifest file such as NCP and
other files.

This application starts when the terminal boots, and exits


when all the specified executable files has been started

36 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – COMMUNICATION ENGINE

The communication engine application is the core component


in communication infrastructure.

Example of services provided by the CommEngine:


 Obtain network events and status
 Configure and query device drivers
 Manage network connection

37 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – COMMUNICATION ENGINE

The CommEngine starts the communication infrastructure,


device drivers and TCP/IP stack.

The CommEngine will get the comm. device(s) that is


configured to run automatically and starts the device driver(s)

The CommEngine will be started by VxEOS.out depending on


the parameter *NO.VxCE

38 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – COMMUNICATION ENGINE CONFIG.

Configuration of the CommEngine network parameters can be


done via:
 Delta File
 Parameters in the GID 1 CONFIG.SYS

Configuration presedence:
 Default value (lowest)
 Delta File
 CONFIG.SYS (highest)

39 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – COMMUNICATION ENGINE CONFIG.

The Delta File that configures the CommEngine is named


VXCEHW.INI
This file contains section name and keys that can be defined
by the user.

The section name in the Delta File are:


 ETH  GPRS
 PPPDIAL  PPPGSM
 DIAL  GSM
 CDMA

40 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – COMMUNICATION ENGINE CONFIG.

41 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – COMMUNICATION ENGINE CONFIG.

Configuration via CONFIG.SYS file is done by changing the


value of the parameter.

The format of the parameter is:


<SectionName>.<KeyName> = <KeyValue>

42 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – CEIF

CommEngine Interface Library (CEIF) is the library that is


used for interfacing the application and the CommEngine

Application services provided:


 Registration
 Device management
 Communication infrastructure control
 Broadcast messages
 IP configuration
 Device driver configuration
 Connection status & configuration query

43 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – CEIF

To use the CEIF, the application needs to include the file:


 ceif.h
 ceifConst.h
 vos_ddi_ini.h

It is also needed to link in the library stub file ceif.o

The application header file must refer to N:15/CEIF.lib

44 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – NETWORK CONNECTION

45 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – NETWORK CONTROL PANEL (NCP)

Network Control Panel (NCP) is the component that provides


user the configuration of other eVo components i.e.
CommEngine, SSL library, etc.

The NCP application is stored in GID 46 of the terminal.

NCP links libraries of other eVo components available for


applications:
 TCP/IP stack
 SSL
 CEIF
 OSDL

46 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – NETWORK CONTROL PANEL (NCP)

Default UI for all VxEOS components:


 Configuration, status & management
 Software downloads
 Network diagnostics and logging
 Device drivers configuration

Once started, NCP creates comunication channels with other


EOS components:
 Registers with CommEngine via ceAPI
 Initializes services to handle application requests
 Does nothing waiting to get acitvated

47 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – NETWORK CONTROL PANEL (NCP)

NCP activation sequence :


 A ceAPI, ceAcitvateNCP() is called to activate NCP
 The calling application will lose ownership of the console.
The task ID of this application is preserved in order to
return the ownership of console back to it.
 Application may continue its normal execution (without
console)

48 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – NETWORK CONTROL PANEL (NCP)

NCP deactivation:
 While on IDLE screen, if user select “Exit” or press
“CANCEL” key, NCP will return console ownership to the
calling application
 Invoking applications is notified via EVT_ACTIVATE event.
 NCP does nothing waiting for another acitvation request.

49 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – TCP/IP STACK

To use TCP/IP related functions, we need to link the


application with NET.LIB.

We also must include the svc_net.h in the application code


and link the application with svc_net.o.

svc_net.h is a library that contains functions for socket,ping,


arp, etc.

50 © 2016 Wirecard
EVO COMPONENTS
COMPONENTS – SSL SHARED LIBRARY

To use the SSL library, we need to include the ssl.h and link in
ssl.o
The application header file must refer to N:15/SSL.lib
(i.e. vrxhdr –ISSL.lib=N:15/SSL.lib)

51 © 2016 Wirecard
4
SUPPORTING TOOLS
SOFTWARE
TOOLS
SUPPORTING TOOLS

Several tools used for the development of the application:


 Source Insight
 CMDHerePowerToy
 Beyond Compare

53 © 2016 Wirecard
5
TMS
VERICENTRE
TMS
VERICENTRE

VeriCentre is the the TMS used for managing the remote


download of VeriFone terminals.

The application’s file needs to be uploaded first to the TMS


before it can be downloaded to the terminal.

The file that will be uploaded to the TMS is .tdd and .exp file.
Both files is created by using the application’s .dld file on the
compdld application.

The .exp file contains the parameter of the application.

55 © 2016 Wirecard
TMS
VERICENTRE

Upload of the application file is done by selecting the Legacy


Import in the Management tab then upload the .tdd and .exp
file.

56 © 2016 Wirecard
TMS
VERICENTRE

57 © 2016 Wirecard
TMS
VERICENTRE

Using VeriCentre the uploaded files can be downloaded


remotely by configuring the communication parameter (i.e.
Host IP and the terminal IP when using LAN connection).

Before downloading, we need to configure the application


properties in the Model and Application Manager.

Configuration needed :
 Terminal file path
 File download type

58 © 2016 Wirecard
TMS
VERICENTRE

Downloads can be done partially (only the parameters


downloaded) or full (applications and parameter both
downloaded).

The application files is configured in the Files tab in the


Application Properties to determine which file will be
downloaded during partial download or full download.

All RAM file except cdt.dat, hdt.dat and cpt.dat needs to be


configured to have the download type full.

59 © 2016 Wirecard
TMS
VERICENTRE

60 © 2016 Wirecard
TMS
VERICENTRE

61 © 2016 Wirecard
TOOLS
VERICENTRE

Parameter of the applicaton that is uploaded can also be


configured in the TMS to be downloaded.

The parameter in the TMS can also be deleted if there is no


need to download or update the parameter in the terminal.

By using the VeriCentre, the application that is uploaded to


the TMS can be configured to be specific to a terminal.

List of download done and the progress of the download can


be monitored in the VeriCentre TMS.

62 © 2016 Wirecard
TOOLS
VERICENTRE

63 © 2016 Wirecard
6
PROJECT SAMPLE
HELLO WORLD, BUILD MENU
PROJECT SAMPLE
GENERAL PROCESS

Build Signing Download

• Compile and Build • Sign output file • Download signed output


using build.bat (.out) using dl.bat and other
and compile.txt download method

65 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-BUILD

66 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-BUILD

67 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-BUILD

68 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

69 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

70 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

71 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

72 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

73 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

74 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

75 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

76 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

77 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

78 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

79 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

80 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-SIGNING

81 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-DOWNLOAD

82 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-DOWNLOAD

83 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-DOWNLOAD

84 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-DOWNLOAD

85 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-DOWNLOAD

86 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-DOWNLOAD

87 © 2016 Wirecard
PROJECT SAMPLE
HELLO WORLD-OUTPUT

88 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU

• Modify general standard development program (Softpay


Program) to create new menu

89 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU
• Open Softpay Project in Source Insight.

PvsMenu.txt

90 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU

Name of the menu/submenu. It will be shown in the terminal’s display.

91 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU

Name of “Menu Identifier” to be called. Add new “Menu Identifier” in


“Menuct.txt” and define the name in “Oper.h”

92 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU

“Line parameter” of message response of the menu. This parameter will


call the response using ISO8583 message determined in “EmaBMP.txt”.

93 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU

“Line parameter” of printed response of the menu. This parameter will call
the print response of the menu determined in “EnglFoot.txt”.

94 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU

“Line parameter” of header shown of the menu. This parameter will show
the header name of the menu determined in “EmaData.txt”.

95 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU

Parameter to determine the type of Access of the menu.

96 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU-MODIFY

PvsMenu.txt

97 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU-MODIFY

Emabmp.txt

98 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU-MODIFY

Englfoot.txt

99 © 2016 Wirecard
PROJECT SAMPLE
BUILD MENU-MODIFY

EmaData.txt

100 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Oper.h

101 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Menuct.txt

102 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Menuct.txt

Menu Operation Call.

103 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Menuct.txt

104 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Menuct.txt

Menu Function Call.

105 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

106 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Function Call

107 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Function Call

108 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

109 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Show Header Menu in


EmaData to Terminal’s
Display

110 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-MODIFY

Write “Hello Hello” to


Terminal’s Display

111 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-BUILD&SIGN

112 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-BUILD&SIGN

113 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-BUILD&SIGN

114 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-BUILD&SIGN

115 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-BUILD&SIGN

116 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-BUILD&SIGN

• build_all -> compile and link


• \a -> recompile all source code (.c)
• \d -> create data (.txt, .dat,. fld, .c)
• TRI : build for monochrome terminal
• Compile.txt : file to start compiling process

117 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-BUILD&SIGN

118 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-DOWNLOAD

119 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-DOWNLOAD

120 © 2016 Wirecard


PROJECT SAMPLE
BUILD MENU-OUTPUT

121 © 2016 Wirecard


7
DOWNLOAD
DOWNLOAD VIA USB AND TMS
DOWNLOAD
DOWNLOAD VIA USB

• Copy comdld file.to C:/

123 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA USB

• Run command prompt from comdld file

124 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA USB

• Open “compdld command.txt” and run the command on cmd

This will create


EVOMDEV file

125 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA USB

• Open EVOMDEMV file.


• Copy folder “1”,”15”, “F1”, and “F15” to directory:
C:\compdld\USB\USB

126 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA USB

• Edit VLR.bat to create config for GID 1/15.

127 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA USB

• Run VLR.bat and copy “config.$$$” to Folder “1”/”15” in


C:\compdld\USB\USB

128 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA USB

• Create “verfione.zip” file from folder “1”,”15”, “F1”, and “F15” in:
C:\compdld\USB\USB
• Copy “verifone.zip” to USB Flash disk

129 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA USB

• Plug Flash Disk to Terminal.


• Download all files.

130 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA TMS

• Open Download Menu in Terminal’s OS.

131 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA TMS

• Set IP of TMS

132 © 2016 Wirecard


DOWNLOAD
DOWNLOAD VIA TMS

• Set subnet mask.


• Download file

133 © 2016 Wirecard


THANK YOU
FOR YOUR ATTENTION

Wirecard Asia Pacific | PT Prima Vista Solusi


Graha Pratama Level 19, Jl. MT Haryono Kav 15
Jakarta 12810, Indonesia

www.wirecard.asia | contact.asia@wirecard.com
NOTES
NETWORK CONNECTION STATE

135 © 2016 Wirecard

Você também pode gostar