Stripe Terminal
you have (or plan to get) a Stripe card reader and want the register to send charges to it, or you want to try the whole flow on a simulated reader first.
The POS drives Stripe’s smart readers directly over Stripe’s cloud: the register creates the payment and hands it to the reader – nothing is installed at the till, and the reader can be anywhere with internet.
Requirements
- A Stripe account with Stripe Terminal available in your country.
- A supported smart reader: BBPOS WisePOS E, Stripe Reader S700 / S710, Verifone V660p, Verifone UX700, Verifone P630 or Verifone M425. Readers are purchased in the Stripe Dashboard under Terminal → Shop. Bluetooth readers (Stripe Reader M2, WisePad 3) work only through Stripe’s mobile SDKs and cannot be used with the POS.
- Your store currency must match your Stripe account currency – Stripe Terminal charges in the account’s currency.
Live setup
- In the Stripe Dashboard open Developers → API keys (dashboard.stripe.com/apikeys) and copy your secret key (
sk_live_…). Even better, create a restricted key with Terminal, PaymentIntents and Refunds permissions and use that. - Register your reader to your Stripe account: Stripe Dashboard → Terminal → Readers. You’ll create a Location first, then register the reader with the code it shows during setup. (Readers belong to your Stripe account – not to the website.)
- In wp-admin go to POS → Card Terminals, set Active provider to Stripe Terminal, paste the key into Secret key and save.
- The registered readers now appear under Reader – pick the one at this till and save again.
That’s it – the register now offers Card – Stripe Terminal.
Test setup (no hardware)
- Copy your test secret key (
sk_test_…) from the test-mode API keys page (dashboard.stripe.com/test/apikeys) and save it as the Secret key. - Click Create simulated test reader – the button appears under Reader when the account has no readers yet. It creates a test Location and a simulated WisePOS E on your Stripe test account.
- Pick the simulated reader and save.
On the register, the pay overlay now shows an extra Simulate card (test) button – clicking it “presents” a test card on the simulated reader and the payment approves. The whole flow, including refunds, behaves exactly like production.
Taking a payment
- Ring up the sale and choose Card – Stripe Terminal.
- The amount appears on the reader; the register shows Waiting for card….
- The buyer taps or inserts. On approval the sale completes, the ticket is issued, and the Stripe charge ID is stored on the order.
Cancel aborts the payment and clears the reader screen. If the card is declined, the message from Stripe is shown and you can retry or take another payment method.
Refunds
Refund from the POS as usual – the card is refunded automatically through Stripe and the order gets a note: “Terminal refund sent to Stripe Terminal (card reversal).” Partial refunds are supported.
Troubleshooting
- Reader shows as offline – check power and Wi-Fi. Note that Stripe smart readers restart every night at midnight (PCI requirement).
- “No readers registered on this Stripe account yet” – the key is valid but the account has no readers: register a physical reader in the Stripe Dashboard, or create the simulated test reader (test mode).
- “currency … is not supported” – your WooCommerce currency doesn’t match the Stripe account currency. Change the store currency or use a Stripe account in the right country.