Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
    Overview
    Accept in-person payments
    Integration design
    Select your reader
    Design an integration
    Quickstart
    Example applications
    Testing
    Terminal setup
    Set up your integration
    Connect to a reader
    Accepting a payment
    Collect card payments
    Accept offline payments
    Mail order and telephone order payments
    Regional considerations
    During checkout
    Collect tips
    Collect and save payment details for future use
    Flexible authorizations
    After checkout
    Refund transactions
    Provide receipts
    Customize checkout
    Cart display
    Collect on-screen inputs
    Collect swiped data
    Apps on devices
    Manage readers
    Order, return, replace readers
    Register readers
    Manage locations and zones
    Configure readers
    Encryption
    References
    API references
    Mobile readers
    Smart readers
      Stripe Reader S700 reference
      BBPOS WisePOS E reference
      Verifone P400 reference
    SDK migration guide
    Deployment checklist
    Stripe Terminal reader product sheets
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsTerminalSmart readers

Verifone P400

Learn about the Verifone P400 reader.

Copy page

Note

This reader is no longer available for purchase. If you’re getting started with Stripe Terminal, we recommend viewing our current reader offerings.

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

This reader is compatible with JavaScript, iOS, Android, and React Native SDKs. To view the reader’s parts and features, see the product sheet.

Troubleshoot the reader

Make sure your network meets all of our network requirements, and try the steps in the network troubleshooting section.

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

Reader is unable to connect

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 SequenceDebug ScreenDescription
0-4-2-6-8Device StatusShows the device’s IP address, account ID, location, gateway, network mask, and connectivity status.
0-8-6-2-4ConnectivityStarts 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()
  • collectPayment()
  • setReaderDisplay()

Note

Debug screens overlay the reader’s normal screen display, and can trigger only while on the reader screens shown above.

Reader is unable to update

If your reader isn’t updating, it’s possible that it can’t connect to Stripe. Make sure the network it’s connected to meets our network requirements.

Reader doesn’t have IP address

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

Other IP-address

If the above steps don’t reveal an IP address on the reader, try these additional steps:

  • Unplug and reconnect the Ethernet connection to the network source (that is, the modem for router networking, or your computer for bridged networking).
  • Restart the reader with the network source 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).

Note

Remember to connect production deployments to the merchant network through router networking.

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

The Connectivity debug screen indicates the connection status between the P400 and Stripe. Refer to our network requirements for details and further troubleshooting steps.

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. These can include improvements and required security updates from Stripe and our hardware partners. As reader software updates are made available, update your readers to the latest available version to continue using Stripe Terminal. Failing to install a required update can prevent a reader from accepting payments.

The reader restarts every day at midnight for PCI compliance, and disconnects from the POS app every morning. 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

VersionDescription
3.0.2.5Bug fixes and performance improvements.
3.0.2.3Fixed cardholder_name for contactless transactions.
3.0.2.1Updated server on-device to now host a unique PQDN per device.
3.0.1.18Improved reader reliability.
3.0.1.16Updated messaging to more strongly advocate for the use of contactless payment methods.
3.0.1.15Added automatic handling of soft declines.
3.0.1.14Added support for cardholder_name in payment method details.
3.0.1.13Added support for additional integration methods, fixed some localization issues.
3.0.1.12Fixed some international refunds issues, improved WiFi disconnection handling and retries.
3.0.1.10Added regional support for Canadian merchants.
3.0.1.8Added improved triaging tools, bug fixes, and prerequisite work for future features.
3.0.1.6Implemented WiFi upgrades improving re-connection of cached networks, bug fixes.
3.0.1.5Added support for regional EMV configurations, bug fixes.
3.0.1.2Changed red X button behavior in testmode (now clears a transaction’s payment method instead of canceling that transaction; this mirrors livemode behavior), added MAC address to Device Status debug screen, bug fixes.
3.0.1.0Added new reader screens for better UX, disabled contactless sources during readReusableCard, fixed bugs.

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

See also

  • Set up Verifone P400
  • Set up your integration
  • Connect to a reader
  • Collect payments

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?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc