Verifone P400 Setup

    Learn to use the Verifone P400 countertop reader with Stripe Terminal.

    The Verifone P400 is a countertop reader for web-based Stripe Terminal apps. It connects to the Stripe Terminal SDK over the internet.

    This reader is compatible with JavaScript SDK. To view the reader’s parts and features, see the product sheet.

    Turning the reader on and off

    To turn on the Verifone P400, securely plug the P400 connector cable into the port on the bottom of the reader. The cover slides over the port to hold the cable in place. Plug the power adapter into the connector cable and into a power outlet.

    Verifone P400 connector cable

    The Verifone P400 automatically turns on when connected to power. In a countertop deployment, leaving the device on for extended periods is expected. If you need to turn the reader off, remove the power source.

    Connecting the reader to the internet

    Because the Verifone P400 is internet enabled, its reader software communicates directly with Stripe, managing connectivity through a LAN. The reader must connect to the same local network as your application.

    WiFi Beta

    If you’re setting up a new device, follow the on-screen prompts to connect to the internet using WiFi. To start over, press the red X button on the keypad.

    To switch networks, or connect an already online reader to a WiFi network, press 0-WIFI (0-9434) on the keypad and follow the prompts. Attempting to join a new network disconnects the reader from any existing wireless connection. There’s no fallback to the previously connected network.

    Your WiFi network must use WPA-Personal or WPA2-Personal encryption and be password protected. WiFi is not supported for non-password-protected networks or enterprise networks.

    Key mapping

    To access characters from the keypad, use this multi-tap key mapping scheme. The table shows which characters each key maps to, in the order they’ll appear.

    Keypad Number Characters Keypad Number Characters
    0 0-+=_!?@$%^&/\()[]{}<>~| 6 6mnoMNO
    1 1qz.QZ 7 7prsPRS
    2 2abcABC 8 8tuvTUV
    3 3defDEF 9 9wxyWXY
    4 4ghiGHI * *,’␣”`:;
    5 5jklJKL # #

    For example, if your network password is Stripe, enter 7-7-7-7-7-7-7-8-8-7-7-7-4-4-4-4-7-7-3-3-3.

    Ethernet

    Connect an Ethernet cable from your router to the Verifone P400, using the ETH port (not the RS232 port).

    Connecting Ethernet cable to Ethernet port

    The reader obtains an IP address using DHCP. As soon as the network cable is plugged in, the reader attempts to establish communication with Stripe.

    Network priority

    The Verifone P400 resets its priority to Ethernet when rebooting. Even if previously configured for WiFi, the reader switches to Ethernet if it detects an Ethernet cable connection while starting up.

    If you connect to WiFi while an Ethernet cable is connected, the reader switches to the WiFi connection. If the reader fails to connect to WiFi on the first attempt, it falls back to Ethernet connection. Otherwise, the reader continues to prioritize WiFi until rebooted.

    Reader screens

    The reader has a few screens to indicate its connectivity state. The default splash screen indicates that the reader is connected to Stripe and ready for processing.

    You can customize the reader’s default splash screen by setting up locations.

    Default splash screen

    Downloading update screen

    Not connected screen

    Troubleshooting

    To begin troubleshooting, use the following common scenarios to help diagnose what’s broken.

    Checking connectivity

    Stripe provides two debug screens on the reader. Use these screens to help diagnose common connectivity and network issues. To access a debug screen, enter the following key sequences while on the splash screen:

    Key Sequence Debug Screen Description
    0-4-2-6-8 Device Status Shows the device’s IP address, account ID, location, gateway, network mask, and connectivity status.
    0-8-6-2-4 Connectivity Starts a network test, by attempting to connect to the required endpoints.

    To exit a debug screen, press 0 on the keypad. You can also program your app to re-render the screen by calling any of these functions:

    • connectReader()
    • setReaderDisplay()
    • clearReaderDisplay()
    • collectPayment()

    Problems updating

    If you reader is not updating, it’s possible that it cannot connect to Stripe. Check its connectivity.

    Reader does not have an IP address

    The Device Status debug screen shows the reader’s IP address, or No ETH if the device does not have an IP address. Use the following steps to debug a No ETH condition.

    Router networking

    If using a router, please refer to your router’s manual, and reconfigure the networking setup.

    Other IP-address

    If the above steps do not reveal an IP address on the reader, try these further measures:

    • Unplug and reconnect the Ethernet connection to the network source (i.e., the modem for router networking, or your computer for bridged networking).
    • Restart the reader while the network source is attached to it. You can restart the reader by unplugging and reconnecting the power cable from the connector cable.
    • Check the connectors for any broken hardware (such as bent pins).

    Reader has IP address, but is unable to communicate with Stripe

    The Connectivity debug screen indicates whether the P400 is connected to Stripe. Here are some common reasons for failing this test, with corresponding troubleshooting steps.

    • Stripe endpoints cannot be accessed:
      • Check your computer’s firewall/blacklists.
    • The network source is not connected to the internet:
      • In the case of bridged connections, ensure that the selected source is connected to the internet.
      • In the case of router connections, refer to your router’s documentation to restart the network.

    The Stripe reader software

    Stripe maintains the software that controls the Verifone P400. The reader receives updates automatically from Stripe when not in use. Read about reader software updates for details.

    Leave your reader connected to power to receive automatic software updates. This ensures that updates happen at midnight (in the timezone of the assigned location) to avoid interruption to sales. If you unplug the reader at night, an update could start when you turn it back on. To manually check for an update, reboot the reader.

    You can always check the current reader version by pressing 0-4-2-6-8.

    Verifone P400 software releases

    Version Description
    3.0.1.6 Implemented WiFi upgrades improving re-connection of cached networks, bug fixes.
    3.0.1.5 Added support for regional EMV configurations, bug fixes.
    3.0.1.2 Changed red X button behavior in testmode (now cancels payment instead of transaction; mirrors livemode behavior), added MAC address to Device Status debug screen, bug fixes.
    3.0.1.0 Added new reader screens for better UX, disabled contactless sources during readReusableCard, fixed bugs.
    3.0.0.19 Improved UX for reader software updates.
    3.0.0.11 Localization bug fixes, onboarding polish.
    3.0.0.9 Additional connectivity screens have been added to assist in the setup and deployment of your devices.
    3.0.0.5 The initial relase of the Stripe reader software for the Verifone P400. Your Verifone P400 device is ready to accept a tap, dip, or swipe of a card to accept in person payments with your Stripe account.

    For additional instruction on maintaining PCI compliance when installing updates to your Verifone P400 device, refer to the reader PCI implementation guide.

    Next steps

    Now that you have your reader set up, you might want to read about connecting it to your app, or try collecting your first Terminal payments with a physical reader.

    The BBPOS and Chipper™ name and logo are trademarks or registered trademarks of BBPOS Limited in the United States and/or other countries. The Verifone® name and logo are either trademarks or registered trademarks of Verifone in the United States and/or other countries. Use of the trademarks does not imply any endorsement by BBPOS or Verifone.

    Was this page helpful?

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.

    Questions?

    We're always happy to help with code or other questions you might have. Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    On this page