plugin-icon

Oliver POS – WooCommerce POS for iPhone, iPad & Android

WooCommerce POS for iPhone, iPad & Android. Tap to Pay, Stripe Terminal, offline mode, multi-outlet stock — every WooCommerce payment gateway.
Votações
4.3
Versão
4.5.8
Instalações ativas
800
Última atualização
May 22, 2026
Oliver POS – WooCommerce POS for iPhone, iPad & Android

Oliver POS is the state-of-the-art point of sale for WooCommerce. More than 45,000 retailers around the world use Oliver POS to sell in-store, manage inventory across multiple outlets, and accept every payment method WooCommerce supports — all without ever leaving their existing WooCommerce shop.

There is only one database, one product catalogue and one source of truth: your WooCommerce store. Oliver POS adds a beautiful, touch-first register on top of it — for iPad, Mac, Android tablets and PC — and keeps everything in sync in real time. No middleware, no double entry, no exported CSVs.

Real WooCommerce Integration, Not a Bolt-On

Oliver POS speaks the official WooCommerce REST API. When you pair a device, the plugin mints a real WooCommerce consumer_key / consumer_secret for that station — the same API contract every other WooCommerce integration uses. Orders, refunds, products, inventory, customers and taxes all flow through wp-json/wc/v3/*. Your data stays portable, auditable and 100% inside your own WordPress install.

Full compatibility with WooCommerce HPOS (High-Performance Order Storage), the new Product Block Editor, and Cart & Checkout Blocks is declared and tested.

Offline-First Sales

When the internet drops, the line at your counter doesn’t. Oliver POS keeps selling — every order, every line item, every payment captured by your cashier is queued locally on the device. The moment connectivity returns, the queue drains into WooCommerce in the exact order it was rung up. No lost sales, no manual reconciliation, no panic.

Refunds, customer lookups and live stock checks still require an online connection (because they touch live WooCommerce data), but the core “make the sale” flow is fully offline-capable.

Multi-Outlet & Multi-Station Stock

Run one store or fifty. Oliver POS gives each outlet its own stock level — synced back to WooCommerce as the global truth — and lets each station ring up sales independently with its own register number, receipt sequence and shift. Move stock between outlets, audit movements per location, and see live inventory across every store from your WooCommerce admin.

Real-Time Sync Across Every Device

Every sale, stock movement, refund and customer update fans out across every Oliver POS device — iPhone, iPad, Android tablet, countertop terminal and web dashboard — in real time, and lands as a standard WooCommerce record on your WordPress store within the same second. Your WooCommerce shop stays the single source of truth: there are no proprietary tables, no exported CSVs and no scheduled syncs to babysit. When the internet drops, every station keeps selling locally and the queue drains into WooCommerce in order the moment connectivity returns.

Every WooCommerce Payment Gateway, In-Store

If WooCommerce supports it, Oliver POS supports it. Cash, card, store credit, gift cards, integrated terminals — plus any WooCommerce payment gateway you’ve already configured: WooPayments, Stripe, PayPal, Klarna, Square, Mollie, Amazon Pay, Authorize.net and hundreds more. The cashier picks a gateway, the gateway’s own checkout opens in a WebView on the POS device, and the customer pays through the exact same flow they’d use online. Apple Pay, Google Pay and other wallets work automatically through whichever wallet-enabled gateway you’ve already turned on.

For card-present payments, Oliver POS integrates directly with Stripe Terminal: pair a reader to an outlet and the amount due is pushed to the terminal at checkout, processed by Stripe, and recorded on the WooCommerce order — no double entry, no reconciliation drift.

WooCommerce POS for iPhone, iPad, Android, Mac & PC

Oliver POS ships native apps for iPhone, iPad and Android, plus a web register that runs in any modern browser on Mac, PC and Chromebook. Tap to Pay works on every modern iPhone (iOS 16.4+) and on supported Android phones — no extra card reader required. Touch, mouse, keyboard, camera and Bluetooth/USB barcode scanners are all first-class inputs. Use a Mac as your back-office register, an iPad on the counter, an iPhone for pop-ups and street markets, and the Oliver POS countertop terminal for high-volume lanes — all selling from the same WooCommerce shop.

Works With the WooCommerce Plugins You Already Run

Because Oliver POS reads and writes through the official WooCommerce REST API, your existing WooCommerce extensions keep working at the counter — including WooCommerce Subscriptions, Memberships, Bookings, Product Bundles, Points & Rewards, Gift Cards and WooPayments. No bespoke integration per plugin, no broken add-ons, no workflow change for your online customers. The themes, taxes, shipping rules, coupons and product types you already use on your WooCommerce shop apply in-store too.

Real-Time Inventory, Reports & Staff Insights

Sales, stock movements, payment summaries, tax reports and staff performance — all live, all sliced by outlet, register and shift. Oliver POS includes 15+ unique reports out of the box in Oliver Hub, plus staff permissions backed by real WordPress capabilities so each user only sees what they’re entitled to.

Free to Start, Paid to Scale

Oliver POS offers a genuine Free plan — no credit card, no trial timer — so you can install, pair a device and ring up a real sale before you ever pay us. Paid tiers unlock multi-outlet, advanced reporting, integrated payments and priority support. Current pricing lives at oliverpos.com/pricing.

Hardware Built for Retail

Bring your own iPad, Mac or PC, or buy the purpose-built Oliver POS terminals — integrated receipt printer, barcode scanner, cash drawer and card terminal in one box, running the Oliver POS Android app. Third-party thermal printers, barcode scanners and cash drawers also work out of the box.

Support You Can Reach

Email support@oliverpos.com and a human responds within one business day. We also run live chat from inside Oliver Hub and maintain a public help centre at help.oliverpos.com. Bug reports, feature requests and security disclosures are all welcome — see the Privacy & Security section below for how to reach our security team.

Privacy & Security

Oliver POS is designed so that the merchant — not Oliver POS — is the data controller, and card data never enters our systems.

  • Card data path. For Stripe Terminal and every WooCommerce payment gateway, card information flows directly between the customer’s terminal / browser and the gateway. The Oliver POS plugin and our backend never see card numbers, CVVs or full PANs.
  • Device pairing uses WordPress Application Passwords. The 4.3.0 “Connect with site URL” flow asks the merchant to approve a single Application Password prompt in wp-admin. Devices authenticate with that password against the standard WordPress REST API — no shared secrets, no master credentials.
  • No analytics, advertising, or telemetry. The plugin does not transmit shop data to any third party for analytics, advertising or telemetry. The only outbound calls are documented in External services below.
  • Clean uninstall. Removing the plugin deletes every option, custom table and meta key Oliver POS created. Your WooCommerce orders, products and customers are untouched.
  • Idempotent device pairing. The bootstrap pairing endpoint is keyed on the WordPress user and the device’s UUID, so a re-run of the pairing flow from the same device (for example, recovering from a network drop mid-pair) returns the same consumer_key / consumer_secret rather than orphaning the previous WooCommerce REST API key. The key is gated by manage_woocommerce, remains revocable by the merchant in WooCommerce Settings Advanced REST API, and the plugin explicitly rejects pairings whose key was revoked between attempts.
  • Security disclosure. Report vulnerabilities to security@oliverpos.com. We acknowledge within one business day.

External services

This plugin connects to a small number of external services so that the in-store register, the merchant subscription and integrated card payments can work. The plugin does not transmit shop data to any third party for analytics, advertising or telemetry.

Oliver POS backend (phoenix.oliverpos.com)

The plugin contacts the Oliver POS backend to register the merchant’s site, manage their Oliver POS subscription, mint short-lived authentication tokens, link a Stripe Connect account for integrated card payments, and synchronise Stripe Terminal locations when outlets are created or deleted.

What is sent: the WordPress site URL, the merchant’s WordPress user ID and email when they sign in to Oliver POS, the outlet IDs and addresses configured in this plugin, and the Stripe account ID once the merchant connects one. Card data is never handled by this plugin or by phoenix.oliverpos.com; it goes directly between the merchant’s browser / terminal and Stripe.

When it is sent: only after the merchant explicitly opts in by clicking “Create your free Oliver POS account” on the Billing page or on the first-run Dashboard onboarding panel (or “Connect with Stripe” on the Oliver Pay page), after which the page also fetches the current subscription status, and on subsequent merchant actions: clicking “Manage your current plan” on Billing, pasting an OPAY-XXXX-XXXX-XXXX activation code into the Billing page (or following the marketing-site deep link ?claim=OPAY-…), adding / editing / deleting an outlet, running the “Sync Terminal Locations” / “Refresh status” / “Test connection” / “Refresh plan from Stripe” actions, or when a paired Oliver POS device requests a Phoenix pairing code via POST /oliver-pos/v1/devices/phoenix-pair-code (which the plugin proxies through to /api/devices/pairing-codes). Plan selection itself happens on oliverpos.com/pricing, not inside wp-admin. No outbound call is made on plugin activation, on plugins_loaded, on init, on the Oliver POS Dashboard / Settings / Reports / Staff / Outlets / Receipts admin pages (the Dashboard onboarding panel only transmits when the explicit “Create your free Oliver POS account” button is clicked — its disclosure expander lists exactly what gets sent), or on any frontend request.

Endpoints used: /api/auth/token, /api/auth/register, /api/auth/claim, /api/subscriptions/current, /api/subscriptions/manage-link, /api/subscriptions/resync, /api/connect/status, /api/connect/accounts, /api/connect/sessions, /api/terminal/locations, /api/terminal/locations/sync, /api/devices/pairing-codes.

Service: Oliver POS — see Terms of Service and Privacy Policy.

Switching backends (developers / QA). The active backend is selected by the PHOENIX_ENV constant in wp-config.php and defaults to production. Setting define( 'PHOENIX_ENV', 'staging' ); routes every request to phoenix-api-git-staging-oliver-pos.vercel.app (Stripe test mode, separate Neon database). The staging deployment sits behind Vercel Deployment Protection, so the matching define( 'PHOENIX_STAGING_BYPASS_TOKEN', '<token>' ); constant is also required — without it the plugin returns an inline diagnostic instead of attempting any call. Both constants are intentionally wp-config.php-only (never exposed in wp-admin) so a misconfigured site cannot route real Stripe traffic to the staging environment. The staging deployment is intended for Oliver POS internal QA only and is not used by production sites.

Local-dev forwarding (advanced). Setting define( 'PHOENIX_BASE_URL_OVERRIDE', 'https://your-tunnel.example' ); overrides the resolved base URL for both production and staging, which is useful when developing Phoenix locally behind ngrok or a similar reverse proxy. Leave this constant undefined on every other install.

End-to-end smoke tests (Oliver POS developers / QA only). The plugin’s public source repository ships a dev/ folder with wp eval-file-style smoke scripts that exercise the Phoenix code paths end-to-end against the active environment — a destructive staging-smoke.php for staging, and a read-only prod-smoke.php for diagnosing real merchants. These scripts are intentionally not included in the version of the plugin distributed through WordPress.org. To run them, check out the source from the public GitHub repository and follow dev/README.md. They are not needed (and not loadable) on a normal merchant install.

Stripe webhook URL gotcha (staging only). Stripe sends webhooks server-to-server, so the test-mode webhook endpoint configured in dashboard.stripe.com must include the Vercel Deployment Protection bypass token as a query parameter — https://phoenix-api-git-staging-oliver-pos.vercel.app/api/webhooks/stripe?x-vercel-protection-bypass=<token> — otherwise every delivery returns Vercel’s SSO login HTML and Phoenix’s handler never runs. This is a Phoenix / DevOps configuration concern (the plugin doesn’t receive webhooks itself), but a missing bypass on the webhook URL is the most common reason staging subscriptions appear stuck after Checkout. The plugin’s “Refresh plan from Stripe” button on the Billing admin page is the per-merchant recovery path when this happens — it forces a pull-through reconcile from Stripe via /api/subscriptions/resync.

Stripe Connect embedded UI (connect-js.stripe.com)

The plugin loads https://connect-js.stripe.com/connect-js.umd.js on the Oliver Pay admin page so the merchant can complete Stripe Connect onboarding and review their payouts inside wp-admin without leaving the site. This script is hosted by Stripe and cannot be self-hosted (Stripe’s terms require the live URL).

What is sent: the Stripe-issued client secret minted by phoenix.oliverpos.com for the current admin session. No shop data is sent directly from this plugin to Stripe; everything flows through the Stripe-hosted UI under the merchant’s own Stripe account.

When it is sent: only when the merchant opens the Oliver POS Oliver Pay admin page.

Service: Stripe — see Stripe Services Agreement and Stripe Privacy Policy.

Gratuitoem planos pagos
Ao instalar, você concorda com os Termos de Serviço do WordPress.com e com os Termos do plugin de terceiros.
Testado até
WordPress 7.0
Esse plugin está disponível para download para o seu .