Square Terminal for WooCommerce WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
Square Terminal payments for WooCommerce
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/wcpos/square-terminal-for-woocommerce/releases/download/v0.8.7/square-terminal-for-woocommerce.zipCollect WooCommerce order payments on Square Terminal devices. Staff request a card-present payment from a WooCommerce order and complete it on paired Square hardware, with the result written back to the order.
This is an early v0.1 release focused on POS / order-pay flows, verified Square webhooks, scoped Square SDK dependencies, and secure order-access checks.
Features
- Send a WooCommerce order to a paired Square Terminal and collect a card-present payment.
- Pair Terminal devices from WooCommerce using a short-lived Square Device Code.
- Settings-based Square Account Connection — merchant-entered Access Token, Location ID, and Webhook Signature Key (no OAuth in v0.1).
- Sandbox and Production support.
- Verified Square webhooks are the authoritative payment-completion signal; polling keeps the UI responsive.
- A per-order Payment Log and order notes record each meaningful Square step and outcome.
- The Square SDK is namespace-scoped with PHP-Scoper so it cannot clash with other plugins.
Scope of v0.1: payment collection only. Refunds are not yet supported, but Square identifiers are stored on the order so refund support can be added later.
Requirements
| Minimum | |
|---|---|
| WordPress | 6.5 |
| WooCommerce | 8.0 |
| PHP | 8.1 |
Installation
- Download
square-terminal-for-woocommerce.zipfrom the latest release. - In WordPress, go to Plugins → Add New → Upload Plugin and upload the zip.
- Activate the plugin.
Configuration
- Go to WooCommerce → Settings → Payments and enable Square Terminal.
- Enter your Square Access Token, Location ID, and Webhook Signature Key (Sandbox or Production).
- Use Create Device Code to pair a Terminal: enter the generated code on the Square Terminal to register the device.
- Configure the webhook notification URL shown on the settings screen in your Square Developer dashboard so payment-completion events reach the site.
Square Terminal is intended primarily for POS Checkout; availability on the customer-facing Storefront Checkout is off by default and must be explicitly enabled.
Development
composer install # install dependencies
composer test # run the PHPUnit suite
composer lint # run PHPCS (WordPress / WooCommerce coding standards)
composer run format # auto-fix coding-standards issues
The test suite is self-contained — WordPress and WooCommerce are stubbed in tests/stubs, so no WordPress install is required.
To produce the scoped vendor bundle used in distributable builds:
composer run build:scoped-vendor
Releases
Releases are automated by .github/workflows/release.yml. When the Version: header in square-terminal-for-woocommerce.php changes on main, the workflow builds the scoped, packaged plugin and publishes it as a vX.Y.Z GitHub Release with a square-terminal-for-woocommerce.zip asset. It can also be run manually from the Actions tab.
Published releases are picked up automatically by the WCPOS extensions catalog.
License
Releases
21 releases. Each count is every asset in that release; expand a row for the breakdown.
Active-site estimate ≈10 comes from the v0.8.5 cohort. Method.