v0.7.0
Square Terminal for WooCommerce 0.7.0
A shorter settings screen, and a webhook URL you can actually read.
Changed
The webhook URL is readable and copyable
It was previously shown in a box too narrow to display it, so the URL ran off the end and had to be scrolled inside the field and selected by hand — for a value whose entire purpose is being copied into Square.
It now takes the full width of the column with a Copy button beside it. Copying uses the Clipboard API where the browser allows it, and falls back to a selection copy on sites served over plain HTTP.
Less text
Settings descriptions state what a field is. The guide states how to use it.
Each section heading and the webhook row now carry a single link to the Square Terminal guide in place of paragraphs of inline explanation. Diagnosis detail — such as what an unverified webhook usually means — moved to the guide, where there is room for it.
Tests cap the length of every settings description and of the webhook row, so the verbosity cannot creep back.
Upgrade notes
- No settings changes required. Wording and layout only; no behaviour changed.
- Requires PHP 8.1+, WordPress 6.5+, and WooCommerce 8.0+.
Verification status
- Observed:
composer lintclean,composer test241 tests / 849 assertions,composer test:js26/26. - Not verified in a browser. The copy button and the widened field have not been seen rendered. The markup and its fallback path are covered by tests, but appearance and the actual clipboard behaviour have not been observed.
Note on automatic webhook setup
Configuring the webhook subscription automatically was investigated and is not possible for connected accounts. Square's Webhook Subscriptions API states that "because webhook subscriptions are owned by the application and not by any one seller, you cannot use OAuth access tokens with the Webhook Subscriptions API." It requires the application's own personal access token, which this plugin neither has nor should ask a merchant to supply.
Adding the webhook in the Square Developer Dashboard therefore remains a manual step. Webhooks only shorten how long a payment takes to confirm; polling and the reconciliation sweeper confirm every payment regardless, so a site without one never loses a payment.