v0.3.0
Square Terminal for WooCommerce 0.3.0
This release makes production Terminal setup work without manual device IDs. Recommended for all production installs.
Added
- Terminal discovery — the cashier's Terminal Device selector is now populated from the Square Terminals paired to the configured location, instead of being empty on production and requiring a hand-typed device ID. The list is cached for five minutes, and an unreachable Square falls back to the last known good list rather than emptying the selector.
- Pairing from the settings screen — Create Device Code returns a pairing code to enter on the Terminal, and Validate Settings checks the configured credentials and location against Square. Both operate on the values currently shown in the settings form, so they can be used before saving.
Fixed
- The Create Device Code and Validate Settings buttons posted to handlers that were never registered, so both did nothing when clicked.
Upgrade notes
- No settings changes required. Sandbox behaviour, the
sqtwc_available_devicesfilter, and the manual device-ID fallback are unchanged. - Production installs with a configured access token and location will now call Square's
ListDeviceCodeswhen the payment form renders, at most once every five minutes per location. - Requires PHP 8.1+, WordPress 6.5+, and WooCommerce 8.0+.
Verification status
- Automated:
composer lint,composer test, andcomposer test:jspass. - Not verified against live Square or physical Terminal hardware. Discovery, pairing-code creation, and settings validation have not been exercised against the Square API or a real WordPress admin screen.