Verifone P400 User Guide Invite Only

    Learn about accepting in-person payments using the Verifone P400.

    The Verifone P400 is a countertop reader for desktop Stripe Terminal applications. It connects to a JavaScript application over a LAN.

    Turning the reader on and off

    To turn the reader on, plug its proprietary I/O cable securely into the port on the bottom of the Verifone P400. (The cover slides back over the port to hold the I/O cable in place.) Plug the power adapter into the I/O block, and into an electrical outlet.

    Verifone P400 I/O block

    Connecting to the reader

    The Verifone P400 manages data connectivity through a LAN. 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

    Connecting via Ethernet directly to a router or switch is preferred. If that is not possible, you can use the provided USB dongle to connect to a computer, in order to share the computer’s internet connection.

    USB dongle to share computer’s internet connection with reader

    The reader obtains an IP address using DHCP by default, but can optionally use a static IP configuration. The reader attempts to establish communication with Stripe once the network cable is plugged in.

    If a pairing code is required to connect the Verifone P400 to a computer or other device, enter 0-7-1-3-9 on the Verfione P400 to generate one.


    To begin troubleshooting, first diagnose what is broken.

    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.

    Default splash screen

    Connect and update screen

    Not connected screen

    Problems updating

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

    There is a known issue with one beta reader build, which requires a reboot to download any pending updates. If your reader appears to be stuck on an update, verify a valid connection, and then reboot.

    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, gateway, network mask, and connectivity status.
    0-8-6-2-4 Connectivity Starts a network test, by attempting to connect to the required endpoints.

    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.

    Bridged LAN

    If connecting through bridged networking for development, please try the following:

    • Restart internet sharing in System Preferences > Sharing:
      • If sharing is already turned on, turn off Internet Sharing by clearing the appropriate checkbox.
      • In the Sharing window, be sure to select all instances of your Ethernet adapter.
      • Share the connection from your network source.
      • Click the check box on the left for Internet Sharing, to turn it back on.
    • Check the connection (System Preferences > Network). If the Ethernet adapter shows Cable Unplugged, reconnect the adapter, or use a different port.

    Internet sharing dialog

    Network settings dialog

    Windows 10
    • Re-bridge the connections in Control Panel:
      • Un-bridge the current connection between the wired Ethernet adapter and your network source (i.e., WiFi).
      • Bridge your network source to your Ethernet adapter (Ctrl+click connections and select Bridge Connections).

      Network adapter settings

    For further details, see our Verifone Developer Kit guide.

    Other IP-address troubleshooting

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

    • Unplug and re-connect 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.
    • 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 you are 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 device, and will occasionally update that software with new functionality or bug fixes.

    More information on each release of the Stripe reader software for the Verifone P400 device can be found in the releases page.

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

    Next steps

    Now that you’re familiar with the Verifone P400, you might want to learn about:

    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.


    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

    Was this page helpful? Yes No


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