This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Terminal for Stripe and WooCommerce


Terminal for Stripe and WooCommerce connects in-person transactions to your website. Built on WordPress, WooCommerce, and WooCommerce Stripe Gateway, it permits a BBPOS Wise POS E, Stripe M2, BBPOS Chipper 2x bt, or Verifone P400 POS to integrate directly to your website for all types of products and offers the benefit to sync data between WooCommerce and Stripe.

To activate the Free Terminal for Stripe and WooCommerce plugin on an existing WooCommerce in minutes visit our website for full step-by-step instructions, with video, for installation and setup of your plugin and Verifone P400, BBPOS Wise POS E, Stripe M2, or BBPOS Chipper devices: [Stripe Terminal for WooCommerce Instructions]{

Terminal for Stripe and WooCommerce is developed and supported by Arcane Strategies, the creators of and

Installation and Setup
PRO Services Install
ArcanePOS Mobile app for Bluetooth Readers

As is standard practice, payment gateways will charge transaction fees for card payments. Fees may be found on our website at Please be sure to review our plan features list to be sure you are getting all the features required for your usage:

NOTE: V3.0 will include fleet management and customer data storage related features currently available in PRO such as customer account creation, customer billing and shipping storage, and more. Legacy synchronization tools and reduced fees will remain restricted to PRO


  • In-Person Payments Connected to WooCommerce and Stripe
  • 1 Location with Multiple Verifone Readers
  • BBPOS Wise POS E, BBPOS Chipper 2x bt, Stripe M2, and Verifone P400 POS devices
  • Supports Apple Pay, Google Pay, and Samsung Pay
  • Pre-Dip Cards
  • Supports BBPOS Chipper through Arcane’s mobile appliation available for free download on iOS and Android (search “Arcane POS”)
  • Web UI support for WC POS plugins as of 2022

This plugin is meant to process transactions using the WooCommerce default DOM structure and WP best practices. If you are using a POS plugin which abandons the intended WP theme structure, it will not work. If you are looking for a compatible POS interface, check out our Virtual Terminal Point of Sale for WooCommerce or WC POS Pro by Kilbot

This plugin version contains a limited featureset. For additional features not supported by this plugin such as legacy data synchronization, customer data storage, and fleet managemetn, PRO services is required. Please be sure to review our plan features list to be sure you are getting all the features required for your usage:

NOTE: V3.0 will include fleet management and customer data storage related features currently available in PRO such as customer account creation, customer billing and shipping storage, and more. Legacy synchronization tools and reduced fees will remain restricted to PRO

Additional Features

For a more robust solution, check out the features of our Pro Version for Stripe Terminal. To upgrade, click on the following link to purchase our PRO Version for Stripe Terminal
Support for Pro Version is available at Terminal for Stripe and WooCommerce is developed and supported by Arcane Strategies, the creators of and

Please subscribe to our mailchimp list to receive updates on new features

Minimum Requirements

  • PHP 7.0 or greater is recommended
  • MySQL 5.6 or greater is recommended
  • In order for the terminal option to be available, you must be logged in as an authorized WordPress administrator or Store Manager (otherwise all your site visitors would see it).
  • All orders are associated with cashier, so this will not support account-specific orders (ie. subscriptions)

Visit the WooCommerce server requirements documentation for a detailed list of server requirements.


  • You must be logged in as a WooCommerce store manager (ie. role “Administrator” or “Store Manager”) in order to use the Terminal on the frontend.
  • While logged in, navigate your customer through the checkout experience. You’ll be given the option to select the terminal reader icon to process accordingly.
  • After selecting the terminal option, press the button for the reader you set up during installation.
  • Credit card prompts will expire after 45 seconds but may be manually canceled by hitting the “Esc” key on your keyboard.
  • For alternative checkout options, use the WC Orders panel with the “Customer Payment Page” and/or leverage our “Process with Mobile App” button to open with a Bluetooth reader


  • This is how the terminal appears in your checkout


Due to the growing number of devices, instructions are maintained on the official Arcane POS Stripe Terminal information page

Instructions: Stripe Terminal for WooCommerce Instructions


Do you support any POS plugins?

If you are looking for a compatible POS interface, check out our Virtual Terminal Point of Sale for WooCommerce or WC POS Pro by Kilbot

Customer Payment Page throws error “Stripe Terminal is not enabled” but it is enabled. How to fix this?

This is likely because either your order or your cart contains ineligible order data. Even if your order data is valid, if your cart contains items which do not support this payment method, it will still fail and you will have to empty your cart first. That is a WC flaw, it isn’t caused by our plugin.

Why do I get a critical error when creating orders on the mobile app?

If you have WC Pay (WooCommerce Payments) installed, disable it. If not, read the next sentence. The API is built on the V3 legacy API which uses the WC_API_Orders function. Functions which attempt to hook into the order methods will malfunction. The add_order_meta() function is one which we’ve seen does not match the same number of arguments as exists within the v3 legacy API.

Are there any costs involved?

This is a free plugin, so there are no license fees but you do have to pay your transaction fees as you would with any gateway plugin. Transaction fees are split between us and Stripe and will be reflected as such in your Stripe account. The pro and plus versions do have license fees required which can be found on our website at

I keep getting a generic API error when saving plugins settings

This could be a number of things but more often than not it is because of the following:
(1) The plugin is not enabled (see “activate” and settings “enable” checkbox), (2) The Stripe Gateway payment method within WooCommerce is disabled OR API keys are incorrect, (3) The Stripe Gateway’s “Payment Buttons” option is disabled; in versions of Stripe Gateay 5.8+ this is also referred to as “Express Checkouts”.

What other plugins are required?

WooCommerce and WooCommerce Stripe Gateway. Supported versioning can be found in the README file.

How do I add a BBPOS Wise POS E or Verifone P400 reader?

See this link
See this link

How can I use the BBPOS Chipper or Stripe M2?

Follow the instructions seen here:
Within the plugin’s settings, (1) enter your Stripe Account ID, (2) within your wordpress permalink settings, make sure you have pretty URLs enabled (post anme), (3) click on the “Stripe Connect” button to complete account connection, (4) download our plugin (see link in Settings) and follow in-app instructions.

I can’t see the reader on checkout, any idea why?

The reader will only show on checkout if (a) the device is powered on, (b) the terminal is registered, (c) a user with woocommerce store management permissions is logged in, (d) the cart contains only simple products. This version is intended only to provide a retail point-of-sale experience in which an authorized representative is logged in to accept credit cards. This is both for tracking who has accepted charges as well as to prevent the public from seeing the terminal icon while remotely viewing the site. Because of this, purchases which require customer information (such as recurring billing info or email addresses) cannot be performed as the current session contains the administrator’s information. If you need to work around that, visit our website and purchase “Pro Services”. If you are already a PRO Services user, verify that your user is assigned to a location. (

Will your plugin work outside the US?

Our plugin will support any location that Stripe supports, there’s no business logic implemented which would prevent support for our plugin in a region where Stripe Terminal is available. As of date of this writing (January 2020), Stripe Terminal is only supported in North America (US and Canada). Although Stripe does allow transactions overseas for cards typically used in European countries like Maestro, PIN transactions for those unsupported regions are not available. Additionally, the readers themselves are not available for purchase outside the US. As soon as Stripe announces support overseas, anyone who installs either of our plugins will receive notification.

Where can I buy a reader?

Our support team will only support the readers purchased directly from or These readers will not come equipped with the Stripe Terminal software pre-installed unless it’s purchased from which means you won’t be able to use the device with Stripe out-of-the-box, unless you buy from Stripe or lease from us.

Why doesn’t the cancel button work?

To cancel an order, hit the “esc” key on your keyboard or wait for the timeout to expire. The Verifone P400’s action buttons (red, yellow, green) are intended to support settings, they do not cancel or edit payments.

Are PIN transactions supported?

Unfortunately Stripe Terminal does not support PIN transactions but they do support debit via signature. We spoke with Stripe and they indicated they have no plan in making PIN transactions possible as they believe that signature debit transactions is sufficient.

Why am I getting an error connecting to my reader? I registered it without a problem!

Whe you register your device, Stripe Terminal will assign your WiFi enabled device to a domain on your private network. This makes it reachable by the API. Some Domain Name Servers do not play nicely with that setup, so they may block that traffic. We suggest that you try switching your network’s DNS provider to CloudFlare ( or Google ( Although Stripe states that Google should work, we’ve had customers indicate that it does not, so try both.

Why isn’t the customer’s information shown on the invoice and email receipt?

Please review the documentation above. Customer account information is not supported in this version, you must purchase PRO Services. Out-of-the-box, Stripe Terminal does not gather PII data and WooCommerce will bill to the account which is logged in (the admin performing the checkout). Our PRO Services add-on allows for customer account support to perform purchases for things like subscriptions.

The mobile app is applying tax on tips. How can I fix this?

This is a known issue within the WooCommerce legacy API, it is not an issue within our plugin. Our mobile app leverages the legacy WooCommerce API (through our API handler) which passes the correct tax settings in order to make a fee_line non-taxable for “Tips/Fees”. However, this activity is not supported by the legacy API, so this will remain the case until the plugin is updated for the latest API, which will be either in v3 or v4 of the plugin. Until then unfortunately the best solution would be to either manually edit each order in your WC backend or counteract your tax by deducting it from the tip input.


abril 22, 2022
Excellent product! Not compatible with other POS plugins, but works really well for basic retail sales. There is a lot more documentation on this product than others and it seems to be much more developed than other similar products.


octubre 12, 2021
The cost can’t be beat (free!) so there’s an obvious savings for us. Not to mention, our ability to store online AND in-person orders in a single database is a huge time and cost saver.
setiembre 20, 2021 1 reply
Set up can be a pain in the rear, and the support is rather lackluster. I was having a ton of issues but somehow got it to work successfully. Keeping my fingers crossed that this continues to work properly. My recommendation is DO NOT try to use this with the BB POS chipper. Instead, get the BB Wise POS device. The chipper is cute and cheaper, but you have to use their app for it to work, and the app sucks. After switching to the Wise POS device, I still had some issues in getting it set up. Not sure how I got it to work, but I did. I’ve run some transactions in live mode, and they went through.
mayo 20, 2021 1 reply
We downloaded this plugin to connect our Stripe p400 Terminal to WooCommerce (Or so we thought). All the videos show how easy it is, yet are out of date and innacurate. Even in the video they have they correct important details only towards the end instead of correcting the video. When the plugin didn’t work we noticed they had “premium services” for a paid subscription. We got that, still nothing. This plugin appears to be at best a scam, at worst incompetence.
Read all 6 reviews

Contributors & Developers

“Terminal for Stripe and WooCommerce” is open source software. The following people have contributed to this plugin.



2.2.4 – 2023-04-21

  • PHP8.0 support for public magic methods

2.2.3 – 2022-09-13

  • Support for WCPOS by Kilbot

2.2.2 – 2022-03-30

  • Bug fixes

2.2.1 – 2022-03-09

  • Improved tax logic and address data storage

2.2.0 – 2022-01-05

  • Support for tips and taxes on mobile application as well as location management debugging, store ID and line item data for payment intents and more

2.1.4 – 2021-12-01

  • Resolution of Stripe Gateway 5.8 regression error which hid the settings fields. Inclusion of custom fee line items in API for mobile.

2.1.3 – 2021-11-08

  • Import existing readers, resolve 404 stylesheet error, allow order-pay for FREE, subscription support language update, checkbox to support “processing” instead of “completed”, support for coupon removal, improved support for external POS, and support for multiple subscription quantities.

2.1.2 – 2021-10-08

  • Removal of root dependency, resolution of coupon code handling for API, removal of external products from API, Mobile App payment button condition change

2.1.1 – 2021-10-04

  • Mobile App support for product images and subscriptions plus support for GBP and EUR, mobile checkout button with option and homepage redirect, removed US postcode requirement, copied session handler button to frontend, and support for Gateway 5.6

2.1.0 – 2021-08-26

  • Support for new ArcanePOS mobile app features like search by name, sku, and category

2.0.4 – 20201-07-12

  • Creates default location or pulls existing location for reader setup.

2.0.3 – 2021-06-22

  • Permits cashiers to use BBPOS, extends autocancel timeout to 45 seconds, extends cookie storage to 2 weeks, and resolves “too many request” errors

2.0.1 – 2021-05-07

  • Error handling

2.0.0 – 2021-04-12

  • Support for WP, WC, Stripe Gateways 5.x+, BBPOS Chipper, custom fees, and order IDs.

1.2.0 – 2020-06-20

  • Announcement for Stripe Connect

1.1.4 – 2020-09-29

  • Support for BBPOS Chipper, ArcanePOS, Customer Payment Page

1.1.3 – 2020-08-03

  • Support for Canadian currencies.

1.1.2 – 2020-05-19

  • Critical Upgrade. Prevents simultaneous load of FREE and LITE classes which have conflicting classes. Without this, enabling both will cause 500 erros.

1.1.1 – 2020-04-20

  • Adds fingerprint storage. This is a hugely important update as it makes for easier customer-order synchronization on PRO services.

1.1.0 – 2020-03-24

  • Includes promotions and discounts for active users

1.0.9 – 2020-02-19

  • Allows payment intents for invalid reader displays

1.0.7 – 2020-02-06

  • Added notification opt-in for plugin users to be notified of updates

1.0.6 – 2020-01-08

  • Created stripe terminal child class to comply with Stripe’s requirements for registered plugins

1.0.5 – 2019-12-20

  • Fixes a retry setting conflict with PRO Services

1.0.4 – 2019-12-19

  • Include missed error handling for the Stripe JS SDK
  • Resolves conflicts with Pro Services.

1.0.3 – 2019-12-12

  • Attempt to retry to process an order when an error occurs

1.0.2 – 2019-12-10

  • Support for shipping products
  • Delete readers action updated to remove on Stripe
  • Support for php 7.0. To get support for php5, please contact
    See changelog for all versions.

1.0.1 – 2019-11-14

1.0.0 – 2019-10-15