Set Up a V400C Plus
Accept Any Payment at Any Time
Overview
The V400C Plus is a powerful and advanced countertop touchscreen device. It combines the latest in features, functionality, and performance into an efficient, high-end solution. It has the ability to work as a standalone terminal or to be connected to a POS application over USB.
The device can accept credit cards via the following methods:
- EMV Chip (for Vantiv merchants only)
- Swipe
- NFC/CTLS (Contactless)
Getting Started
Before you can start testing with the V400C Plus, ensure you've completed the following steps:
- Set up your Sandbox or Production Merchant Account with Forte. To set up an account, complete the following steps:
- For a Sandbox Account, go to the Forte Test Account Setup page to sign up.
- For a Production account, contact Forte's Sales Team at [email protected]
- Procure a V400C Plus by placing an order at Forte's Equipment page.
- Procure the following cables and accessories depending on your configuration:
- V400C Plus Cable and Connector (Semi-Hybrid Only)
- Ethernet Cable
- Receipt Paper
NOTE: All accessories except for the Ethernet cable should be ordered from Forte's Equipment page.
The following image displays the ports for each cable and connector.
Integrating with Forte Checkout
Refer to the Getting Started section before setting up your device. To set up your V400C Plus with Forte Checkout, complete the following steps:
- Download and install the Forte Payments Device Handler and the Verifone Unified Driver. Refer to the Setting Up Forte Payments Device Handler - for Forte Checkout for details.
- In your button code, pass in the
swipe=EMV-1
parameter. This indicates that Forte Checkout should accept input from the V400C Plus. Refer to the Coding the Button section of the Forte Checkout integration documentation. - The Forte Checkout modal window displays a Read Card button. Once the button is clicked, Forte Checkout sends the amount to be collected to the device and the device will prompt the customer to present his/her card.
- Once the customer presents his/her card, the V400C Plus reads the card, sends an authorization request to Forte, and then receives the authorization response:
- If the transaction is approved, the V400C Plus prints an EMV-compliant receipt and passes the authorization response message to Forte Checkout.
- If the transaction is declined, the V400C Plus displays a decline message and passes the decline response back to Forte Checkout, which displays the decline code and reason.
With this set up, receipt printing is only handled by the V400C Plus.
Integrating with Secure Web Pay Checkout
Refer to the Getting Started section before setting up your device. To set up your V400C Plus with Secure Web Pay (SWP) Checkout, complete the following steps:
- Download and install the Forte Payments Device Handler and the Verifone Unified Driver. Refer to the Setting Up Forte Payments Device Handler - for Secure Web Pay Checkout for details.
- In the button code, pass the parameter
pg_swipe=EMV-1
. will indicates that Secure Web Pay Checkout should accept input from the V400C Plus. - Once the modal window displays, Secure Web Pay Checkout will detect the V400C Plus connected to the PC.
- After device detection, Secure Web Pay Checkout will display the Read Card button. Once the button is clicked, the transaction details are sent to the V400C Plus.
- Upon receiving the transaction message from Secure Web Pay Checkout, the V400C Plus will prompt the customer to present his/her card.
- Once the customer presents his/her card, the V400C Plus will communicate the transaction message to Forte and receive an authorization response:
- If the transaction is approved, the V400C Plus prints an EMV-compliant receipt (if receipt printing is enabled) and passes the response message to Secure Web Pay Checkout.
Secure Web Pay Checkout supports three receipt options for the customer:
- Print the receipt from the V400C Plus
- Print a Secure Web Pay-generated 8.5-inch receipt from the PC using parameter
pg_receipt=1
. - Print a 3.5-inch-wide receipt using a Star receipt printer by using parameter
pg_receipt=2
.
Integrating with Custom Applications
Merchants coding their own web or .NET native application for Windows OS to connect with the V400C Plus can choose the appropriate device handlers or write their own code to communicate with the device. For merchants using native, Windows-based POS applications, Forte recommends integrating your Verifone terminal using the Device Handler dynamic link library (DLL). Refer to Setting Up Forte Payment Device Handler – for Native Applications for details.
Merchants coding for other operating systems or using other development platforms will have to write their own code to connect to the device. The POS application can include any of the request parameters described in the Advanced Gateway Interface integration guide in the transaction message. Refer to the Hybrid Solution Specification for details.
Flow of events
- The V400C Plus begins in listening mode, waiting for a transaction message from the POS application.
- The screen displays a custom message.
- The POS application sends a VISA-1 framed transaction message to the V400C Plus through the USB port. See the Creating the Message section for more detail on formatting messages.
- Once the V400C Plus receives the data, it validates the message for the following:
- The minimum required fields,
pg_merchant_id
andpg_total_amount
, are present in the message. - The provided Merchant ID is a configured in the terminal.
- The minimum required fields,
- If the message is valid, the V400C Plus displays the total amount to the customer and prompts him or her to present the credit card.
- When he/she presents the card, the V400C Plus sends the authorization request to Forte and receives the authorization response:
- If the transaction is Approved, the V400C Plus prints a receipt (if receipt printing is enabled) and passes the response back to the POS application. If receipt printing is disabled, the merchant must create his/her own EMV-compliant receipt. Refer to the Formatting EMV-Compliant Receipts for Custom Applications section for instructions on creating an EMV-compliant receipt.
- If the transaction is Declined, the V400C Plus displays the decline message and passes the response back to the POS application.
- The V400C reverts to listening mode to receive the next transaction message.
Handling Convenience Fees
Merchants that are set up with convenience fees should handle the convenience fee calculation using one of the following options:
- Have the V400C Plus calculate the convenience fee. The V400C Plus calculates convenience fees based on the
pg_total_amount
value it receives in the transactions message. - The POS application calculates the convenience fee and sends it to the V400C Plus. Merchants also have the option to calculate convenience fees on the POS application (based on the total amount) and then send it to the V400C Plus using the
pg_convenience_fee
parameter in the transaction message
Creating the Message
The minimum fields required to wake up the terminal are pg_merchant_id
and pg_total_amount
. Merchants set up with convenience fees can choose to have the V400C Plus calculate the convenience fee or the POS application can be coded to send convenience fee to the terminal using the pg_conveninence_fee
field. The Advanced Gateway Interface integration guide provides information on calculating the convenience fee.
All request and response packets must be framed with the following Visa -1 Framing format: <STX>
message<ETX><LRC><LF>
. All messages must meet the following requirements:
- Start with STX (hex 0x02)
- End with ETX (hex 0x03) and an LRC. The LRC is the longitudinal redundancy check not including the STX but including the ETX. For information on calculating the LRC, click here. The following code snippet calculates the LRC:
private byte calculateLRC(byte[] b) { byte lrc = 0; for (int i = 0; i < b.Length; i++){ lrc ^= b[i]; } return lrc; }
Sample Messages
The following snippet displays a sample of the minimum code needed to send a transaction from the POS application to the V400C Plus:
<STX>pg_merchant_id=123456|pg_total_amount=1.00|endofdata<ETX><LRC><LF>
The following snippet displays a robust code sample for sending a transaction from the POS application to the V400C Plus:
<STX>pg_merchant_id=123456|pg_total_amount=1.00|ecom_consumerorderid=12345
|pg_consumer_id=ABCDEFG~ecom_billto_postal_name_first=Jane|ecom_billto_postal_name_last=Doe|
ecom_billto_postal_street_line1=1234 Any St|ecom_billto_postal_street_line2=Apt 2
|ecom_billto_postal_city=Allen|ecom_billto_postal_stateprov=TX|ecom_billto_postal_postalcode=75013
|[email protected]|pg_line_item_header=SKU,Price,Qty
|pg_line_item_1=021000021,45.00,2|pg_line_item_2=021000022,36.99,10|pg_line_item_3=021000023,27.50,7| endofdata<ETX><LRC>><LF>
Sending Messages Via Web Applications
Merchants coding their own web application for Windows OS can opt to use the Forte Web Device Handler. When using the Web Device Handler, the merchant does not have to construct the full Visa-1 framed message. Instead the merchant can choose to call functions that would format the message and communicate with the device to send the request and then receive the response. More information can be found in the Setting Up Device Handler for Custom Web Applications section of this document
Merchants who are using different operating systems or merchants who want their own solution to interact with the V400C Plus can write their own code to format the message and send it to the terminal over the port.
Sending Messages Via Native Applications
Merchants coding custom native applications can use the Desktop Device Handler. With the Desktop Device Handler, the merchant will not have to construct the message to be sent to the POS application. Instead the merchant can choose to call functions that would format the message and communicate with the device to send the request and receive the response. For more information, see Setting up Device Handler for Native Applications section.
Merchants using technologies other than .NET must write their own code to format the message, send it to the V400C Plus, and receive the response over the port.
Setting Up Device Handler
Device handler enables web and native applications to communicate with the V400C Plus by sending and receiving transaction data over a port. Forte offer two variants of the device handler: Web and Desktop DLL. The Web Device Handler must be installed and running for Forte Checkout and Secure Web Pay Checkout to connect to the V400C Plus. Merchants can also code their custom web applications to the Web Device Handler to connect to the V400C Plus.
The Desktop Device Handler enables a merchant's .NET application to connect to the V400C Plus. For more information on the Device Handler, see Using Device Handler.
Device Handler for Forte Checkout and Secure Web Pay Checkout
- Download the Forte Payments Device Handler from DevDocs.
- Run the .exe file.
- Once the installation is complete:
- Open Windows Services and ensure that the Device Handler is running.
- Open Windows Services and ensure that the Device Handler is running.
-
Download the Verifone Unified Driver from DevDocs.
-
Run the .exe file.
-
Once the installation is complete:
-
Open Device Manager and ensure the Port is showing as “Mx Family POS Terminal (COM9)”.
-
Device Handler for Custom Web Applications
Merchants coding custom web applications to work with the V400C Plus on Windows OS can use Forte’s Web Device Handler by completing the following steps:
- Download the Forte Payments Device Handler from DevDocs.
- Run the .exe file.
- Once the installation is complete:
- Open Windows Services and ensure that the Device Handler is running.
- Open Windows Services and ensure that the Device Handler is running.
-
Download the Verifone Unified Driver from DevDocs.
-
Run the .exe file.
-
Once the installation is complete:
-
Open Device Manager and ensure the Port is showing as “Mx Family POS Terminal (COM9)”.
-
- On your payment form page, add the following script (NOTE: This code will not work for web applications working on other operating systems.):
<script type="text/javascript" src="https://s3.amazonaws.com/public.forte.prod/fpdh/handler.js"></script> <script> forteDeviceHandler.connect(onConnect) .disconnect(onDisconnect) .acknowledge(onAcknowledge) .success(onSuccess) .decline(onDecline) .error(onError) .timeout(onTimeout).init(); forteDeviceHandler.createTransaction ({ pg_merchant_id: 115161, pg_total_amount: 2.55 //Add more parameters here }); function onConnect(result) { //COM port found //handle connect } function onDisconnect(result) { //COM port disconnect //handle disconnect } function onAcknowledge(result) { //transaction request is acknowledged, run the credit card in terminal } function onSuccess(result) { //handle success transaction here } function onDecline(result) { //handle declined transaction here } function onError(result) { //handle error here } function onTimeout(result) { //handle timeout here } </script>
Device Handler for Native Applications
Forte offers a Desktop Device Handler, a DLL, which merchants can use to connect their native applications coded in .NET to the V400C Plus.
Download the Desktop Device Handler .zip file here. Once the file is extracted, the DLL and a PDF with instructions can be found in the folder.
The DLL is only supported for .NET applications. Merchants using other development platforms should write their own code to send the transaction message to the V400C Plus over the port. Refer to Hybrid Solution Specification for details. For instructions on formatting messages to send to the V400C Plus, see the Creating the Message section.
Handling the Transaction Response
When integrating to the V400C Plus using a custom application or a Forte-hosted application, the terminal's response is used to determine if the transaction was successful or not. Merchants can use this response to update their system or create a custom receipt.
Custom Applications
The V400C Plus sends a raw response to custom merchant POS applications. The fields passed into the V400C Plus as part of the transaction are echoed back in the response. The following code snippet is an example of the raw data response the application could receive from the V400C Plus.
pg_response_type=A|pg_response_code=A01|pg_response_description=TEST APPROVAL
|pg_authorization_code=3AZ957|pg_trace_number=57305C87-B53F-44C7-96E6-048BE8830063
|pg_avs_code=Y|pg_cvv_code=M|pg_merchant_id=173185|pg_transaction_type=10
|pg_emv_data=82~3D00;9F1A~0840;5F2A~0840;9A~200916;9C~00;9F40~F000F0A001;
9F02~000000000001;9F03~000000000000;9F26~21F245DD86F236F9;4F~;9F06~;82~3D00;9F36~0065;
9F34~5E0300;9F27~80;9F39~05;9F33~E028C8;9F35~22;95~0000008000;9B~E800;9F21~;9F37~2AC4711F;
5F2D~656E;91~;5F34~01;84~A000000025010402;9F10~06010103A0A002;9F5B~;9F09~0001;
9F0D~BC50BC0000;9F0E~0000000000;9F0F~BC70BC9800;57~XXXXXXXXXXX3452D241120119114098001000F;
5A~XXXXXXXXXXX3452F;5F20~48555253542F5041554C204A2020202020202020202020202020;9F6E~;
|ecom_billto_postal_name_first=JOHN|ecom_billto_postal_name_last=SMITH|pg_total_amount=0.01
|pg_card_type=AMER|VX_LAST_4=************3452|expdate_year=24|expdate_month=11
|pg_emv_cardentrymode=CHIP|pg_emv_applicationlabel=AMERICANEXPRESS|pg_emv_cvm=SIGN
|pg_emv_aid=A000000025010402|pg_emv_tvr=0000008000|pg_emv_iad=06010103A0A002|pg_emv_tsi=E800
|pg_emv_arc=01|pg_sequencenumber=007|pg_signaturelinetext=SMITH/JOHN
|pg_receiptfooter1=I agree to pay the above total amount
|pg_receiptfooter2=according to the card issuer agreement
|pg_receiptfooter3=(Merchant agreement if credit voucher)
|pg_cfgreceiptheader1=Test Merchant|pg_cfgreceiptheader2=111 Street Name Dr.
|pg_cfgreceiptheader3=City, State 12345|pg_cfgreceiptheader4=HEADER LINE 4
|pg_cfgreceiptheader5=HEADER LINE 5|pg_cfgreceiptfooter1=FOOTER LINE 1
|pg_cfgreceiptfooter2=FOOTER LINE 2|pg_cfgreceiptfooter3=FOOTER LINE 3
|pg_cfgreceiptfooter4=FOOTER LINE 4|endofdata_
The following table displays the fields returned in a response. For additional details on these fields, refer to the Understanding the Response Message Template section of Advanced Gateway Interface integration document.
Field | Description |
---|---|
pg_response_type
|
A single-letter response that indicates the success or failure of a transaction
|
pg_response_code
|
A three-character code representing the transaction result |
pg_response_description
|
Text description of the transaction results |
pg_authorization_code
|
An eight-character approval code from the vendor |
pg_trace_number
|
A unique Forte transaction ID |
pg_avs_code
|
A single-letter response that indicates the outcome of an AVS verification for CC transaction |
pg_cvv_code
|
A single-letter response that indicates the outcome of a CVV verification for CC transaction |
pg_merchant_id
|
The merchant’s Forte Merchant ID |
pg_transaction_type
|
The type of transaction: sale , credit , etc. |
pg_emv_data
|
EMV tags from the transaction authorization |
ecom_billto_postal_name_first
|
Billing First Name |
ecom_billto_postal_name_last
|
Billing Last Name |
pg_total_amount
|
The total amount of the transaction |
pg_card_type
|
The type of card used for transaction: VISA , DISC , etc |
VX_LAST_4
|
Last 4 of the CC used |
expdate_year
|
Card expiration year |
expdate_month
|
Card expiration month |
pg_emv_cardentrymode
|
How the card was entered |
pg_emv_applicationlabel
|
EMV Data |
pg_emv_cvm
|
EMV Data |
pg_emv_aid
|
EMV Data |
pg_emv_tvr
|
EMV Data |
pg_emv_iad
|
EMV Data |
pg_emv_tsi
|
EMV Data |
pg_emv_arc
|
EMV Data |
pg_sequencenumber
|
The sequence number of the transaction for the day. |
pg_signaturelinetext
|
Signature prompt |
pg_receiptfooter1
|
Custom information configured in terminal for receipt footer |
pg_receiptfooter2
|
Custom information configured in terminal for receipt footer |
pg_receiptfooter3
|
Custom information configured in terminal for receipt footer |
pg_cfgreceiptheader1
|
Custom information configured in terminal for receipt header |
pg_cfgreceiptheader2
|
Custom information configured in terminal for receipt header |
pg_cfgreceiptheader3 |
Custom information configured in terminal for receipt header |
pg_cfgreceiptheader4
|
Custom information configured in terminal for receipt header |
pg_cfgreceiptheader5 |
Custom information configured in terminal for receipt header |
pg_cfgreceiptfooter1 |
Custom information configured in terminal for receipt footer |
pg_cfgreceiptfooter2 |
Custom information configured in terminal for receipt footer |
pg_cfgreceiptfooter3
|
Custom information configured in terminal for receipt footer |
pg_cfgreceiptfooter4 |
Custom information configured in terminal for receipt footer |
Forte Checkout
Forte Checkout receives the raw data from the terminal, converts it into JSON, and returns it to the web page as a JSON message. The merchant can grab this information and use it to display success or decline messages in the POS application.
Secure Web Pay Checkout
Secure Web Pay Checkout can also parse the raw data coming from the V400C Plus and post the response to the redirect page specified by the merchant using the parameter pg_return_url
. Merchants using the redirect feature can use these fields to display the transaction's result on the page to which the user is redirected.
Connect to the Internet
The V400C Plus can connect to the internet via the following methods.
Ethernet Cable
- Plug in the terminal's power cable.
- Plug in the Ethernet cable to the Ethernet port on the device. NOTE: Do not use a phone cord.
- Press 1-5-9 at the same time.
- Select Control Panel > Sysmode.
- Select the Supervisor option.
- Enter the 7-digit password and hit the green O key. NOTE: Please reach out to our integration team at [email protected] or 866-290-5400 (select option 5 for the Tech Support Queue then option 4 for the Equipment Queue), if you require assistance with the password.
- Select Administration and from the next set of options, select Communications.
- From the next set of options, select Communications.
- Select Ethernet > eth0.
- Switch between DHCP or Static using the Mode option, if required. NOTE: In Static mode, while entering IP addresses, use the # key to enter dots in the IP.
- Change Autostart to On.
- Tap the red -{ }- in the upper right corner to change to a yellow/green -{ }-, if it is not already displaying a yellow/green -{ }-.
- Once you have made the changes use the << button on the top left corner and hit No for the “Configure another interface?” popup.
- Hit << until you get to the Main (Prod) menu and choose Exit and Reboot
Wi-Fi
- Plug in the terminal's power cord.
- Press 1-5-9 at the same time
- Select Control Panel > Sysmode.
- Select the Supervisor option.
- Enter the 7-digit password and hit the green O key. NOTE: Please reach out to our integration team at [email protected] or 866-290-5400 (select option 5 for the Tech Support Queue then option 4 for the Equipment Queue), if you require assistance with the password.
- Select Administration and from the next set of options, select Communications.
- Choose Wifi > WiFi Scan. If you get a prompt to turn on WiFi, hit OK.
- The device will scan and display available WiFi networks.
- Choose your network and hit OK on the “Network Saved” popup.
- Press << in upper left corner.
- Tap WiFi Configuration and enter the WiFi password in the box labeled PSK. Use the # key to switch between lowercase, uppercase, and numbers. Use the * key for comma (,) and quotes (‘ “). Use the 0 key for all other special characters.
- Press the green O key to ensure the submitted password is correctly stored on the same screen.
- Press << in the upper left corner.
- Tap on WiFi Interface Ipv4.
- Switch between DHCP or Static using the Mode option (if required).
- Change Autostart to On.
- Tap the red -{ }- in the upper right corner from the Status field and tap OK when asked "Do you want to save changes?”
- It should change to a yellow/green -{ }-.
- Tap << in the upper left corner four times.
- Tap Exit and Reboot.
Formatting EMV Receipts for Custom Applications
For EMV transactions, it is mandatory that the merchant provide an EMV-compliant receipt. Merchants who choose to not use the receipt printed from the V400C Plus for their custom applications should create an EMV-compliant receipt on their own
Included Fields
EMV-compliant receipts should contain all the following elements. All these fields are included in the raw response returned from the V400C Plus. Refer to Handling the Transaction Response section for more information on the fields included in the response.
Receipt Field | Corresponding Parameter from Terminal Response |
---|---|
Transaction Type |
|
Your Business Name | — |
Your Business Address |
— |
Your Business Phone number | — |
The Local Date and Time of the Transaction | — |
Your Forte Merchant ID/Location | <pg_merchant_id > |
Terminal: B43A775 | <terminal_number > |
Card Type: VISA | <method_used > |
Auth Code: 123456 | <authorization_code >; [pg_authorization_code] |
Acct No: *************8569 | <last_4 > |
<total_amount > |
<pg_total_amount > |
Sequence #: 000014 | <trace_number >; [pg_trace_number ] |
Application Name: Capital One | <emvReceiptData.application_label >; [pg_emv_receipt_data.application_label ] |
Card Entry Mode: Chip | <emvReceiptData.entry_mode >; [pg_emv_receipt_data.entry_mode ] |
CVM: Sign | <emvReceiptData.CVM >; [pg_emv_receipt_data.CVM ] |
AID: A0000000041010 | <emvReceiptData.AID >; [pg_emv_receipt_data.AID ] |
TVR: 0000008000 | <emvReceiptData.TVR >; [pg_emv_receipt_data.TVR ] |
IAD: 0110606001220000AAC1000 | <emvRceiptData.IAD >; [pg_emv_receipt_data.IAD ] |
TSI: E800 | <emvReceiptData.TSI >; [pg_emv_receipt_data.TSI ] |
x___________________________________________ Signature |
A Signature Line for the Customer |
Sample Receipt
Migrating from a VX520
For information on migrating to a V400C Plus from a VX520, seen Migrating from VX520 to V400C Plus.
FAQs
When the device is not detected by Forte Checkout or Secure Web Pay application and the “Read Card” button is not displayed, ensure the terminal is
-
Powered on
-
Securely connected to the PC
-
Is in listening mode
-
NOTE: In Listening mode, tapping on the terminal’s home screen or pressing the green button on the terminal would not navigate to the Sale screen.
-
If this does not resolve the error, try starting/restarting the Device Handler from Windows Services.
Yes, the terminal should always be connected to the internet via either Ethernet or WiFi.
You will need the following to connect the V400C Plus to your PC:
-
Adapter: RS-232 male-to-Mini-USB female adapter
-
Cable: Mini-USB-to-USB cable
The following information should be provided to your IT Department:
Port 80 and 443 needs to be opened in the firewall.
The terminal uses the following URL/IP addresses:
-
Paymentsgateway.net 52.1.60.186
-
Terminals.forte.net 52.1.41.20
Terminals can be either DHCP or Static.
If your terminal doesn't wake up properly, check the following:
-
The terminal cables are plugged in securely.
-
Required drivers are set up and are working properly.
-
Ensure communications is attempted over the right port and the port is not being used by any other programs.
-
The
pg_merchant_id
included in the transaction message is configured in the terminal. -
The parameter Primary TXN comm link type (
CDPTCT
) is set correctly. NOTE: It should be set to 3 when connecting through WiFi and 2 when connecting through Ethernet. -
If the items listed above are properly configured and the terminal is still not waking up, try rebooting the terminal.
This error indicates that the terminal does not have an internet connection. Make sure the device is connected to the internet.
To check if the device has an internet connection, complete the following steps:
-
Hit 1 – 5 – 9 at the same time.
-
From the listed modules, select Com Control
-
Select More > Diagnostics > Ping
-
Enter 008.008.008.008 for IP and select Continuous or Single.
If you get a success message, the terminal is connected to the internet.
The V400C Plus supports up to 10 locations/MIDs.
The V400C Plus passes a Source field that indicates if the transaction originated on a V400C Plus device. A separate Active Terminal Report will be created for V400C Plus devices.
No, the V400C requires a different adapter, but uses the same cable as the VX520 device. The adapter for the V400C Plus is an RS-232 male-to-Mini-USB female adapter.
Support
For assistance with your V400C Plus integration, reach out to our Integration Team at [email protected] or 866-290-5400 (select option 5 for the Tech Support Queue then option 4 for the Equipment Queue)