Note for POS replacement:
When replacing a POS with a P400, the following will need to be updated on the newly replaced POS
- Ensure that C:\RPI_P400 and its subfolders exist on the newly replaced POS terminal
- Update the correct P400 PMS21.isl to the C:\Micros\Res\Pos\Etc\ folder of the newly replaced POS terminal
- Ensure that the P400 pairing process is done on the newly replaced POS terminal
P400 Technical and Troubleshooting Guide
Payment Transaction Explanation
Install the P400 software on a new POS (POS replacement)
Stand Alone Mode (Coming soon)
Payment Transaction Explanation
Data Flow Diagram
1. POS - Payment Button
POS Configurator settings
Normal waiting message
After to press the payment button this message should appear on the screen:
If no message showed up:
- Review the POS configuration payment button to verify the correct SIM interface and inquire is being called: 21 RPI - Inquire Number: 12
- If the POS Config is correct, review the existence of the correct version of the SIM file in the SIM section.
2. Micros Interface Service
3. SIM file
Name and Location
The P400 SIM filename and location in each POS terminal are the following:
C:\Micros\Res\Pos\Etc\pms21.isl
SIM File Versions
Currently active versions:
Description |
Version |
File timestamp |
Deployed on |
1 - Production SIM It should be in all stores that already use P400. |
2021.12.17.1 |
2021-12-17 9:05 AM |
9 Pilot stores |
2 - Harvey’s dummy SIM with call to IPP320 Used previous of the installation day to make easier and faster the activation process that day. But at the end, it is overwritten by the production one. |
2022.1.6.1 |
2022-01-06 9:23 AM |
None so far |
3 - Swiss dummy SIM with call to IPP320 All Swiss locations that are still using IPP320 have this one, and the EM server is already configured to call it. It is replaced by the production one on the day of the P400 installation. |
2022.1.5.1 |
2022-01-05 8:38 AM |
All Swiss except the pilot ones |
4 - Dummy SIM With this file all the related buttons are disabled, and it is used only for stores that already have the “Payment Dvc Mgmt” touchscreen, but the EM server is still pointing to the IPP320. So far all Harvey’s not in the pilot project. |
2021.11.9.1 |
2021-11-09 11:55 AM |
All Harvey’s except the pilot ones, and some labs |
Add shared folder for SIM file
SIM File Headers
Production SIM:
Dummy SIM:
Harvey’s dummy SIM with call to IPP320:
Swiss dummy SIM with call to IPP320:
P400 SIM Inquiries
The full active production SIM has several inquiries numbers, this is the full list:
Inquire number and name |
Usage from which button and screen |
11 - Start session |
Called when the payment screen is called |
12 - Purchase or refund |
“PAYMENT CARD” on Payment screen |
13 - Manual purchase or refund |
“Manual Pay” on Payment screen |
14 - Finish session |
Automatically called on “final_tender” and “trans_cncl” events Also by “CLOSE SESSION” on Payment Dvc Mgmt screen |
15 - Print customer receipt |
“Reprint Receipt” on Function screen and “LAST RECEIPT” on Payment Dvc Mgmt screen |
16 - Print merchant receipt |
Not called in any button so far |
18 - Test device |
“TEST P400” on Payment Dvc Mgmt screen |
19 - Pair device |
“PAIR P400” on Payment Dvc Mgmt screen |
20 - Pair device by IP |
“PAIR BY IP” on Payment Dvc Mgmt screen |
21 - Switch connections |
“SWITCH CON 1 & 2” on Payment Dvc Mgmt screen |
22 - Print specific customer receipt |
“PRINT RECEIPT” on Payment Dvc Mgmt screen |
23 - Reboot device |
“REBOOT P400” on Payment Dvc Mgmt screen |
24 - Set parameters |
“SAF” on Payment Dvc Mgmt screen |
26 - Show device ID |
“DEVICE ID” on Payment Dvc Mgmt screen |
4. RPI P400 DLL
The Recipe Payment Interface for P400 is a homemade application used to handle the communication between Micros and the P400 device.
Subfolders
Subfolders Under C:\RPI_P400 on each POS Terminal
Name |
Description and content |
\Bin |
Application files. Additionally to the SIM file, This folder is the only required during a new installation.
|
\Data |
Files generated as a result of the device pairing process and the automatic language detection.
|
\Journals |
Files generated with receipts. One per day. They are used by the print receipt button. The format name is:
|
\Logs |
Several log files generated by day. Their format name is: RPI_<date>_<store_number>_<terminal_name>_<type>.log And the possible types are:
|
\Output |
Files used for pass text from the DLL results to the SIM inquiries
|
\Temp |
Temporarily files used to make track of a short time-period data
|
Config Parameter List
Parameters and current values |
Description |
dataFolder = C:\RPI_P400\Data logFolder = C:\RPI_P400\Logs journalFolder = C:\RPI_P400\Journals textfilesFolder = C:\RPI_P400\Bin\TextFiles outputFolder = C:\RPI_P400\Output tempFolder = C:\RPI_P400\Temp |
Full path of the location of these application folders. All of them are generated automatically, and the Bin subfolder is the only that can not be relocated. |
logPrefix = RPI_ logBackgroundPostfix = _BG |
Prefix used for all logs files and the postfix used for the background one. |
logDaysToKeep = 300 |
Days that a log file remains on the terminal before being deleted. The default value is 30. An old log file is going to be deleted only during an attempt to write another log file of the same type. |
generalMessageTimeout = 6000 saleMessageTimeout = -1 |
These are how many milliseconds the DLL is going to wait to receive an answer message back from the P400 device for a sale transaction and for any other kind of message. The value -1 means no limit of time. |
secondaryStatusInterval = 2000 |
Time interval (milliseconds) for check the status thru the secondary port during sales and refund transactions |
detectDuplication = TRUE |
If this flag parameter is turned off (FALSE), the duplicate transaction detection is not going to be used. |
earlyCardEntry = FALSE |
If this parameter is set to TRUE, it is allowed to present a card just after the session is started. |
switchConnectionTimeMargin = 10 |
The number of milliseconds that the secondary connection must have is less than the primary one to be considered “faster”. |
writeJournal = TRUE |
To enable the writing of the receipt data on the journal's files. |
receiptLogDetails = FALSE |
To enable extra verbosity to the detail log related to the individual receipt’s fields. |
receiptTypes = M,C |
Comma separated list of types of receipts to generate. These characters should match with the last character of the receipt template files on “TextFiles” folder:
|
receiptMaxDaysToPrint = 3 |
When a receipt is printed, this is the maximum number of days to search it in, starting from today. |
backupMinutes = 5 |
When a backup mode is started, it is going to be active at least for this amount of minutes. See WiFi Failover Connection. |
secondaryEnabled = TRUE backupEnabled = TRUE scanEnabled = TRUE |
To enable the use of the secondary connection, the backup mode, and the IP scan option. All this related to the WiFi Failover Connection. |
scanLastOctetStart = 2 scanLastOctetEnd = 126 |
When the IP scan is used, it is going to use the POS terminal first three octets, and the last one is going to be searching in a range built with these two parameters. |
defaultParamHost = UGP |
When a parameters.txt located on the Data subfolder is pushed up to the P400 device through the SAF button, this value is used to know to which host sends them. |
Summary field list
The summary log is a pipeline-separated values file “|”.
This the full field list:
# |
Field name |
Format: values or example |
1 |
Transaction date |
Format: yyyy-mm-dd |
2 |
Transaction time |
Format: hh:mm:ss.mss |
3 |
Store Number |
Format: 9999 |
4 |
POS terminal name |
Examples: DRVTHRU1, TAKEOUT2 |
5 |
P400 serial number |
Format: 999-999-999 |
6 |
Transaction type |
Values: Purchase and Refund |
7 |
Original amount |
Example: $23.48 |
8 |
Check number |
Example: 8075 |
9 |
Device ID |
Examples: 701, 712. See Device ID format |
10 |
Payment media |
Examples: VISA, DEBIT, MC, Interac |
11 |
Payment type |
Values: DEBIT and CREDIT |
12 |
Card entry mode |
Values: Contactless, Chip Read, Swiped |
13 |
Tip amount |
Example: $1.86 |
14 |
Authorised amount |
Example: $23.48 |
15 |
Transaction duration |
In seconds, example: 7.831 |
16 |
Account number |
Example: ************9154 |
17 |
Card token |
Example: 5446145534129154 |
18 |
Output message |
Example: (4) APPROVED - CAPTURED |
Device ID format
Format: <Brand><Store><DeviceID>
Where:
Brand
|
1 letter
|
Store |
4 digits |
Terminal ID This is the Chase TID |
3 digits
|
5. P400 Device
Pair P400
When a technician brings a new P400 device to a store, that device needs to be paired with the POS terminal which is going to be assigned. Why?
Prerequisite: Collapsed VLAN
The normal pairing process is the following:
- In the function screen, the technician needs to press the Payment Dvc mgmt button:
- Pressing the PAIR P400 button:
- Enter the device serial number in the next input screen:
The device serial number is located in a label in the back and press the ENTER button:
Test if the pairing process was successful
The result of the pairing process is stored in some files in the Data subfolder. Check the list of subfolders for more details.
It is possible to confirm that the pairing process was successful pressing the TEST P400 button located next to the pairing one:
This example result shows that the serial number is assigned, the primary connection is working, the secondary connection is missing, and the registration data is working as well:
After the pairing is not required to reboot the P400
Also it is possible to confirm, in the Data subfolder, the existence of the three files related to the pairing containing mostly the same information. Example:
The first one has the serial number associated with the POS terminal, in this example TO1:
And the third one has the connections data, in this example only the primary connection:
If the pairing process cannot find any IP of the device is going to show something like this:
The cause of this could be an error in the serial number entered, or the device is not connected, or turned on.
Repeat the pairing process
If the WiFi connection was enabled on the device after the last pairing time, It is possible to repeat the pairing process, in this case using the previous serial number already entered and assigned. For that, just leave the input screen without any serial number and press ENTER.
In the top left corner on the device screen, is going to show two icons, one confirming that the Ethernet interface is up and running, and another for WiFi:
(image)
Switch Communications
It is possible that in the Test device result a “Faster” word is displayed next to the secondary connection:
That means probably that WiFi is set as a primary and Ether as a secondary.
In this case, we can improve the usage of the connections switching them pressing this button:
After to do that, the testing result is not going to display the “Faster” world anymore:
Reboot the P400 device
There are some ways of rebooting the device:
Type of rebooting |
instructions |
From the POS / Remote |
In the function screen, press the Payment Dvc mgmt button: Then press the reboot P400 button: Wait around 2 minutes to retry. |
Using the device keys (short way to do it) |
Press and hold the green key for 10 seconds until the device starts the rebooting process with a blank screen. Wait until the device goes to the idle screen before sending a transaction from the POS. |
Using the device keys (old way to do it) |
Press the red X button and the black 0 button at the same time for 3 seconds. Then select the reboot option on the device’s screen: |
Physical disconnection |
Unplug the power cable and plug it again. This method normally is not needed, but if the device is frozen, it could be required. If there are already recent antecedents of this situation, ask for a device replacement. |
Manually Downloading MAC KEY
- On the P400, press the Green button and the number 6 key at the same time.
- Enter the password: 166831. Be careful with the second 6, if it is keyed too fast the first one is going to change to a letter.
- Press Next until you see the option “Download MAC KEY”, and select it.
- After you see the “Mac key Update Success” message, press the red X key to exit to the idle screen again.
Special Situations
Connection Failover Strategy
- If the primary connection is available, it will be used.
- If the primary connection fails, it tries the secondary connection.
- If the secondary works, a waiting time flag is saved with the value defined in the config parameter backupMinutes, and the backup mode will be on
- Before the time is over, any new transaction will be use the secondary connection directly
- After the time is over, it will try again the primary and the backup mode will be off
- If both connections are down or if the backup mode is reactivated, it will try call the IP scan in background
- The scanner is going to start only if it is not already running.
- If the scanner found a new IP for primary, it will turn the backup mode off
Store and Forward
Only for Credit card transactions
Up to $50 (confirm) per transaction, and up to $500 in accumulated transactions.
Duplicate transactions
Refunds
Manual Key Payments
Install the P400 software on a new POS (POS replacement)
- ensure that the newly replaced POS is on domain
- Copy the RPI_P400 folder into the POS C:\ drive
- Get the serial number of the P400 device
- Perform the Pairing process
- Profit
Stand Alone Mode (Coming soon)
Common Error Messages List
Error message |
Responsable |
Description |
Payment card button does nothing |
Recipe |
Wrong SIM file version: C:\micros\res\pos\etc\pms21.isl It must be the production one instead of the dummy one. |
“DEVICE ID” and “PAIR P400” buttons do nothing |
Recipe |
Wrong SIM file version: C:\micros\res\pos\etc\pms21.isl It must be the production one instead of any dummy version one. |
(6) DECLINED - INVALID MAC 499 |
Chase |
This error could be normal if it is not frequent. And only happens with DEBIT cards. Normally, when it is retried, the transaction should go through.
If the error persists for more than 5 minutes, it is possible to Manually Downloading MAC KEY as a workaround, but even if it is fixed, it should be reported to Chase. |
(6) DECLINED - KEYS OUT OF SYNCJ98 |
Chase |
It is possible to Manually Downloading MAC KEY as a workaround, but even if it is fixed, it should be reported to Chase. This error only occurs with DEBIT cards. |
(59002) BUSY - DEVICE IS BUSY |
Chase |
This error happens because a transaction is attempted but the P400 device is not available to answer.
The most common cause is because the device is asking for "Retry Mac Key Update?”. In this case press YES, and retry the transaction when the device arrives at the Idle screen.
If this is not the case, reboot the device and retry. If the issue continue, report it to Chase |
(59003) BUSY - SESSION in progress - Session in progress |
Recipe |
|
(59026) COMM ERROR - Response timeout with [api.vfipayna.com] (59026) |
Chase |
|
(-20) Transaction not confirmed due a lost of communication - Please try again |
Recipe |
|
(-601) Duplicate transaction based on account, invoice and amount combination - If you retry again it will be accepted |
Legitimate |
The payment was rejected because it was an attempt to pay the same amount, in the same check number twice. However, if the payment is retry again, it is going to be accepted by repetition. See Duplicate transactions. |
(-602) DECLINED - Duplicate transaction based on account/invoice/amount combination - This transaction was previously approved but not confirmed - Please use offline tender |
Legitimate |
This error -602, it is similar to the -601, but this is triggered when additionally, the amount and the check number match with a previous non confirmed transaction due a loss of communication, error -20. Like in the -601, it is possible to be accepted by repetition, however, in most of the cases is not needed. They need just to close the check using offline tenders. See Duplicate transactions for more details. |
(-31) Device communication timeout - IP scanner was started - Please try it again in 30 seconds |
Recipe |
|
(-32) IP scanner is still running - Please try it again in 10 seconds |
Recipe |
|
(59024) COMM_ERROR - Unable To Process |
Recipe |
|
Chase |
It is missing the device pairing process. If it was missing, it is possible to do it remotely if the device is on, and if you got the serial number in the back label.
|
|
Legitimate |
This is a normal message provoked after 30 seconds of inactivity on the Pinpad |
|
Recipe |
Possible SIM file missing: C:\micros\res\pos\etc\pms21.isl See the SIM section. |
References
Job Aids prepared for store training:
- How To Perform Debit/ Credit Payment - Wired Pinpad
- How To Perform A Non-Revenue Refund - Wired Pinpad
- How To Reboot - Wired Pinpad
Guides prepared for the pilot stage of this project:
Comments
0 comments
Please sign in to leave a comment.