Set Up a V400C Plus

Accept Any Payment at Any Time


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)

Before you can start testing with the V400C Plus, ensure you've completed the following steps:

    1. Set up your Sandbox or Production Merchant Account with Forte. To set up an account, complete the following steps:
    2. Procure a V400C Plus by placing an order at Forte's Equipment page.
    3. 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.

Refer to the Getting Started section before setting up your device. To set up your V400C Plus with Forte Checkout, complete the following steps: 

  1. 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.
  2. In your button code, pass in the swipe=EMV-1parameter. 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.
  3. 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.
  4. 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.

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:

  1. 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.
  2. 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.
  3. Once the modal window displays, Secure Web Pay Checkout will detect the V400C Plus connected to the PC.
  4. 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.
  5. Upon receiving the transaction message from Secure Web Pay Checkout, the V400C Plus will prompt the customer to present his/her card.
  6. 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.

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

  1. The V400C Plus begins in listening mode, waiting for a transaction message from the POS application.
  2. The screen displays a custom message.
  3. 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.
  4. Once the V400C Plus receives the data, it validates the message for the following:
    • The minimum required fields, pg_merchant_id and pg_total_amount, are present in the message.
    • The provided Merchant ID is a configured in the terminal.
  5. 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.
  6. 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.
  7. 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:

  1. 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.
  2. 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.

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

  1. Download the Forte Payments Device Handler from DevDocs.
  2. Run the .exe file.
  3. Once the installation is complete:
    1. Open Windows Services and ensure that the Device Handler is running.
  4. Download the Verifone Unified Driver from DevDocs.

  5. Run the .exe file.

  6. Once the installation is complete:

    1. 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:

  1. Download the Forte Payments Device Handler from DevDocs.
  2. Run the .exe file.
  3. Once the installation is complete:
    1. Open Windows Services and ensure that the Device Handler is running.
  4. Download the Verifone Unified Driver from DevDocs.

  5. Run the .exe file.

  6. Once the installation is complete:

    1. Open Device Manager and ensure the Port is showing as “Mx Family POS Terminal (COM9)”.

  7. 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.

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

  • A – Approved
  • D – Declined
  • E - Error
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

  1. Plug in the terminal's power cable.
  2. Plug in the Ethernet cable to the Ethernet port on the device. NOTE: Do not use a phone cord.
  3. Press 1-5-9 at the same time.
  4. Select Control Panel > Sysmode.
  5. Select the Supervisor option.
  6. 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.
  7. Select Administration and from the next set of options, select Communications.
  8. From the next set of options, select Communications.
  9. Select Ethernet > eth0.
  10. 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.
  11. Change Autostart to On.
  12. Tap the red -{ }- in the upper right corner to change to a yellow/green -{ }-, if it is not already displaying a yellow/green -{ }-.
  13. Once you have made the changes use the << button on the top left corner and hit No for the “Configure another interface?” popup.
  14. Hit << until you get to the Main (Prod) menu and choose Exit and Reboot

Wi-Fi

  1. Plug in the terminal's power cord.
  2. Press 1-5-9 at the same time
  3. Select Control Panel > Sysmode.
  4. Select the Supervisor option.
  5. 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.
  6. Select Administration and from the next set of options, select Communications.
  7. Choose Wifi > WiFi Scan. If you get a prompt to turn on WiFi, hit OK.
  8. The device will scan and display available WiFi networks.
  9. Choose your network and hit OK on the “Network Saved” popup.
  10. Press << in upper left corner.
  11. 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.
  12. Press the green O key to ensure the submitted password is correctly stored on the same screen.
  13. Press << in the upper left corner.
  14. Tap on WiFi Interface Ipv4.
  15. Switch between DHCP or Static using the Mode option (if required).
  16. Change Autostart to On.
  17. Tap the red -{ }- in the upper right corner from the Status field and tap OK when asked "Do you want to save changes?”
  18. It should change to a yellow/green -{ }-.
  19. Tap << in the upper left corner four times.
  20. Tap Exit and Reboot.

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

pg_transaction_type=10 (CC Sale)

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

For information on migrating to a V400C Plus from a VX520, seen Migrating from VX520 to V400C Plus.

 

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)