Emulator Instructions

Emulator Instructions

Starting the Emulator  | Sample Verifone POS (Setup & Sale Flow) | Training Mode Configuration    

Starting the Emulator

Step1

Start the AVD manager 
 

Step2

The AVD manager should have the Carbon Mobile 5 and Carbon 8-10 emulators to choose from . choose Carbon Mobile 5
 

Step3

Once the emulator starts, you will see two Verifone apps -

Connect Express - Verifone POS application 

Transaction Configuration - Allows to simulate various scenarios by changing the training mode settings. Refer to the training mode section below for more details.
 
 

Sample Verifone POS (Setup & Sale Flow)

 

Step1

The device will automatically show the inventory, select a few items and hit Pay
 

Step2

You will be asked to pay by card or cash
 

Step3

This is starting screen of the payment application. Choose a tip option
 

Step4

Choose Sale option
 

Step5

Follow the prompts on the screen to complete the transaction. With the default config that is provide the device will simulate a card swipe and enter pin automatically. 
 

Training Mode Configuration

The PaymentApplicationCore and CardReaderService offer training modes for both the Host interface and CardReader interface. Both can be configured through the PaymentSettings application within the training menu.

Host Training Mode

Set the following parameters in PaymentSettings > training to simulate various types of approval or decline from DemoHost:
 
COL_HOST_ACCEPT COL_HOST_AUTH_CODE Host Response
0 3035 Decline
1 3030 Approved (Default)
2 5933 Approved Offline
3 5A33 Failed to connect
4 3035 Decline because of error in protocol
5 TBD Referral
6 3035 Unknown

There are currently two Host Applications supported in Keystone - DemoHost and Payware. Set the following parameter to choose which Host Application to use:
 
COL_HOST_APP Behavior
payware Use Payware Host
demo_host Use Demo Host (Default)

The DemoHost currently waits for a time configured in the training before responding to requests. This allows requests to the Host to simulate the time taken to setup the connection with the Host. This time can be changed via the following parameter:
 
COL_DEMO_HOST_SIMULATION_TIME_MS Behavior
Time in milliseconds DemoHost will wait for this long before sending the response back to the Payment Application
Default : 1000ms

Until the ability to setup an account on the Payware device is implemented, there are 10 Payware accounts setup on the Payware gateway, which are named 1 - 10. To setup a device, follow this procedure.

CRS Training Mode

CRS Training Mode can be configured by setting numeric values into the CrsMode and CrsFailReason parameters as follows:
 
CrsMode CrsFailReason Behavior
0 NA Normal card detection and transaction.
1, 2, 3 1 Simulated cancellation waiting for card detection.
1, 2, 3 2 Simulated timeout waiting for card detection.
1 0 Simulated successful MSR swipe transaction.
1 3 Simulated MSR swipe with please try again, followed by successful MSR swipe transaction.
1 4 Simulated MSR swipe with use CHIP instead, followed by successful CHIP insert transaction.
2 0 Simulated successful CHIP insert transaction.
2 3 Simulated CHIP insert with please try again, followed by successful CHIP insert transaction.
2 5 Simulated CHIP insert with use MSR instead, followed by successful MSR swipe transaction.
3 0 Simulated successful CTLS tap transaction.
3 3 Simulated CTLS tap with please try again, followed by successful CTLS tap transaction.
3 4 Simulated CTLS tap with use CHIP instead, followed by successful CHIP insert transaction.
4 NA Simulated manual card data entry (PAN, expiration date, CVV)

If PIN entry is simulated, the following parameter can be used to control the final status of the PIN entry.
 
CrsPinEntryCompleteStatus Behavior
0 PIN successfully entered
2 PIN entry cancelled by the customer
3 PIN entry bypassed by the customer
4 PIN entry timed out without any entry by the customer
17 PIN entry needs to be restarted (only used when performing accessible PIN entry)
 

The following additional parameters may be set for EMV transactions.

The following may be set for an EMV chip card transaction to control whether application selection happens.
 
CrsApplicationSelection Behavior
0 Application selection not requested
1 Application selection requested
2 Application selection requested and first application selected is bad

The parameter CrsEmvAid may be set for any EMV transaction to specify the AID of the simulated card, the default is A0000000031010.
 
The following may be set for any EMV transaction to control the CVM method. Note that CVM methods involving Offline PIN (verification performed by ICC) are not a valid options for CTLS.
 
CrsEmvCvmMethod Behavior
1 Plaintext PIN verification performed by ICC
2 Enciphered PIN verified online
3 Plaintext PIN verification performed by ICC and signature
4 Enciphered PIN verification performed by ICC
5 Enciphered PIN verification performed by ICC and signature
30 Signature
31 No CVM required

If an Offline PIN (verification performed by ICC) CVM method is chosen, these additional parameters can control the result of the Offline PIN verification with the EMV chip card.
 
CrsOfflinePinCorrect Behavior
0 Offline PIN entries are incorrect until the last retry at which point the correct Offline PIN is entered
1 The first Offline PIN entry is correct
CrsOfflinePinRetries Behavior
N N defines the number of retires the user makes before getting the Offline PIN correct

The following may be set for any EMV transaction to control the result of the offline step of the transaction
 
CrsEmvOfflineResult Behavior
0 ARQC (need to go online)
1 TC (approved offline)
2 AAC (declined offline)

The following may be set for any EMV transaction to control the result of the online step of the transaction
 
CrsEmvOnlineResult Behavior
0 Authorization determined by host response
1 TC (approved offline)
2 AAC (declined offline)

The following may be set for an EMV chip card transaction to control when the card is removed
 
CrsRemoveCardAfterStep Behavior
0 Default behavior where card is not removed until requested when the transaction is finalized or canceled
1 Card is removed after requesting application selection (depends on CrsApplicationSelection being set to request application selection)
2 Card is removed after requesting updated transaction info
3 Card is removed after requesting PIN entry (depends on CrsEmvCvmMethod being set to a PIN method)
4 Card is removed after first GENAC
5 Card is removed after second GENAC (depends on CrsEmvOfflineResult being set to 0 to simulate an ARQC)
 

The following additional parameters may also be set for manual entry transactions.

CrsSensitiveDataEntryFinalStep Behavior
0 Manual entry errors on PAN entry screen with an error as defined below
1 Manual entry errors on the Expiration Date entry screen with an error as defined below
2 Manual entry completes on the CVV entry screen with either an error or success as defined below
CrsSensitiveDataEntryFinalStatus Behavior
0 Manual entry was successful (only valid when CrsSensitiveDataEntryFinalStep == 2)
1 Manual entry was aborted
2 Manual entry was bypassed (only valid when CrsSensitiveDataEntryFinalStep == 2)
3 Manual entry timed out

Note that it is not valid to set CrsSensitiveDataEntryFinalStep < 2 and CrsSensitiveDataEntryFinalStatus == 0.
 
 

The following additional parameters may also be set to control the card range information and the result of the validation checks performed on the card data

CrsCardRangeInfo can be set to a JSON string which describes the type of the card and which validation checks are performed on the card data. The default value is as follows
 
CrsCardRangeInfo {"expiryChecking":true,"high":"999999999999","low":"000000000000","luhnChecking":true,"maxPanLength":19,"minPanLength":14,"products":["VISA-CREDIT"],"serviceCodeCheck":true}
CrsExpirationDateCheckResult Behavior
0 Failed
1 Passed
255 Skipped
 
CrsLuhnCheckResult Behavior
0 Failed
1 Passed
255 Skipped