Description
Pay on Square’s page. Stay connected. Keep stock in sync.
Payments Square Connect is a WooCommerce plugin that adds a Square payment gateway with Square Hosted Checkout — Square for payments on WordPress and a reliable WooCommerce Square integration without checkout breaking, surprise disconnects, or inventory falling out of step.
Alternative to on-site WooCommerce Square card fields: send buyers to Square Hosted Checkout instead of embedding Square’s Web Payments SDK in your theme.
Customers pay on Square Hosted Checkout (Square’s secure page). You get WooCommerce Square orders with refunds from wp-admin, Pay for Order / invoice links, Contact Form 7, WPForms, Fluent Forms, payment link buttons (shortcode, Gutenberg, Elementor, Beaver Builder), and subscriptions — all through one Square connection. Works with WooCommerce Blocks checkout and classic checkout.
Why merchants choose this plugin:
- No extra plugin fee on top of Square’s processing rates
- 24/7 support — email, WhatsApp, and the WordPress.org forum (support docs)
- Hosted checkout — no card form in your theme; fewer theme and JavaScript conflicts (getting started)
- Automatic token renewal — Square OAuth stays connected in the background (getting started)
- WooCommerce refunds — full or partial refunds from the order screen (refunds guide)
- WPForms & Fluent Forms refunds — refund form payments from wp-admin (WPForms Payments, or Fluent Forms transaction screen)
- SKU inventory sync — matching SKUs update Square stock when orders are paid (stock sync)
- Digital wallets — Apple Pay, Google Pay, Cash App Pay, Afterpay (when enabled in Square) (checkout settings)
- Card data never touches WordPress
Help shape the next free features
We are building upcoming plugin updates based on what merchants ask for — no extra plugin fee on top of Square’s processing rates.
Request a feature or vote on our roadmap
Tell us what you need for WooCommerce, forms, payment links, or refunds. Popular, practical requests guide our public roadmap.
Why Choose Hosted Checkout Over On-Site Fields?
If you searched for Square payment for WordPress, you have probably seen on-site card fields break after a theme update, a plugin conflict, or a WooCommerce upgrade. Payments Square Connect is a no-code Square integration: connect Square once, enable the gateway, and send buyers to Square Hosted Checkout — no card form embedded in your theme.
Fix WooCommerce Square nonce error and EMPTY_VALUE issues: On-site Square fields often fail with nonce errors, session timeouts, and EMPTY_VALUE on Pay for Order pages. Hosted checkout removes those failure points — customers pay on Square’s secure page, then return to your site when payment is confirmed.
Prevent checkout breaking: No JavaScript card SDK fighting your theme, page builder, or caching plugin. Fewer abandoned carts caused by broken payment fields at the worst moment.
Square payment gateway without the headaches: One connection powers WooCommerce Square, WPForms, Fluent Forms, Contact Form 7, payment links, and subscriptions. Orders stay Pending until Square confirms payment. Pay for Order invoice links work without on-site card fields. Simple SKU-based inventory sync when product SKUs match — no heavy catalog import required.
Zero platform fees: You pay Square’s normal processing rates only. No paid tier for core checkout.
Choose on-site sync plugins if you need full catalog mirroring or gift cards in checkout. Choose hosted checkout if you want the most reliable Square payment path for WooCommerce and forms.
Who is this plugin for?
Best for:
- Merchants who want Square hosted checkout instead of on-site card fields
- Stores hitting payment nonce is missing, JavaScript conflicts, or EMPTY_VALUE on Pay for Order
- WooCommerce + forms (WPForms, Fluent Forms, Contact Form 7) with one Square connection
- Simple SKU-based inventory sync when product SKUs match — without full catalog import
- Pay for Order invoice links and automatic payment reminders for unpaid orders
Not the right fit if you need:
- Full two-way Square POS WooCommerce catalog sync (images, categories, bulk import)
- Saved cards on file at WooCommerce checkout (hosted checkout redirects to Square)
- Square Gift Cards redeemed inside WooCommerce checkout fields
- Replacing the official WooCommerce Square plugin feature-for-feature — this is a hosted checkout alternative, not a sync clone
Get started
After activation, open Payments Square Connect Get started for the onboarding wizard: Sandbox or Live, connect Square, pick a location, enable WooCommerce gateway in one click, and test checkout. Or use Payments Square Connect for full connection settings.
WooCommerce checkout payment gateway
This WooCommerce payment gateway sends customers to Square Hosted Checkout at cart checkout — classic checkout and WooCommerce Blocks checkout supported.
- Connect Square and save a location.
- WooCommerce Settings Payments Payments Square Connect — turn the gateway on.
- At checkout, customers pay on Square Hosted Checkout and return to your Order received page.
Pay for Order: Pay for Order guide — On unpaid orders, use Email payment link to customer or Copy payment link on the order screen. Customers pay on Square — no card form on the order-pay page. Optional automatic payment reminders (WooCommerce Settings Payments Payments Square Connect).
Refunds: Refunds guide — Open a paid order, click Refund, enter an amount. Requires a stored Square payment ID (from buyer return or webhook). See webhooks guide and FAQ for troubleshooting.
Subscriptions (optional): Subscriptions guide — Create plans in Square, copy IDs from Subscription Plans, assign to WooCommerce subscription products.
Payment link buttons
Add a Pay Now button without WooCommerce or a form plugin:
- Shortcode:
[square_payment_link amount="25.00" label="Pay Now"](alias:[square_pay_link]) - Gutenberg: search Square Payment Link in the block inserter
- Elementor: Square Payment Link widget
- Beaver Builder: Square Payment Link module under Payments Square Connect
Form plugins (optional)
All use the same Square connection and Square Hosted Checkout with your enabled wallets (Apple Pay, Google Pay, Cash App Pay, Afterpay when enabled in Square).
Contact Form 7 Square payment
Add [square_pay amount:25.00] or [square_pay amount-field:your-field] to any form. Subscriptions: [square_subscribe variation:PLAN_ID name:"Plan" amount:15.00]. No WooCommerce required.
WPForms Square payment
Add the Square Hosted Checkout field and enable Payments Square Connect under form Payments. Refund from WPForms Payments in wp-admin.
Fluent Forms Square gateway
Works with Fluent Forms free and Pro — no Pro license required for Square payments. Enable Payments Square Connect under Global Settings Payment Payment Methods, add a Payment Method field, and use payment fields (Custom Payment Amount, Payment Item, Quantity). Square Hosted Checkout totals match the Fluent Forms payment summary (price × quantity, multiple items, select/radio/checkbox options). Refund from the submission payment screen in wp-admin.
Contact Form 7 and payment link buttons are refunded in the Square Dashboard. WooCommerce, WPForms, and Fluent Forms support wp-admin refunds when a Square payment ID is stored.
Admin screens
Under Payments Square Connect in the sidebar:
- Get started — onboarding wizard
- Payments Square Connect — OAuth, Sandbox/Live, location, webhook URL
- Checkout Settings (Beta) — wallets, tipping, branding (Live mode)
- Subscription Plans — view and copy Square plan IDs
- Documentation — full guides on our docs site
- Support — email, WhatsApp, forum
Stock sync & connection
Stock sync guide · Webhooks guide
When SKUs match between WooCommerce and Square catalog, paid orders can update Square inventory. No matching SKU? Checkout still works by product name and price.
Access tokens renew automatically (daily checks and before API calls). The Connect screen shows last renewal time.
Requirements
- WordPress 6.0+, PHP 7.4+, Square seller account
- WooCommerce (classic or Blocks checkout), Contact Form 7, WPForms, Fluent Forms, or WooCommerce Subscriptions — each optional
Screenshots






Blocks
This plugin provides 1 block.
- Square Payment Link
Installation
- Activate Payments Square Connect.
- Open Payments Square Connect in the admin sidebar.
- Choose Sandbox or Live, sign in with Square, and save a location.
- Enable WooCommerce Square checkout, WPForms, Contact Form 7, Fluent Forms, and/or add payment link buttons if you need them.
FAQ
-
Is this a WooCommerce payment gateway plugin?
-
Yes. Enable Payments Square Connect under WooCommerce Settings Payments. It appears as a WooCommerce payment gateway at checkout and on Pay for Order pages. Customers complete payment on Square Hosted Checkout and return to your store — no on-site card fields, which helps fix common WooCommerce checkout errors (nonce missing, JavaScript conflicts, caching). Works with classic checkout and WooCommerce Blocks checkout.
-
Payment nonce is missing — can hosted checkout fix it?
-
Yes — for most stores. The payment nonce is missing error usually means Square’s on-site Web Payments SDK could not tokenize the card (JavaScript conflicts, caching, page builders, or minification blocking
square-credit-card.js). Payments Square Connect avoids on-site nonce generation entirely: customers pay on Square Hosted Checkout, then return to your site. This also helps EMPTY_VALUE and broken Pay for Order pages that rely on embedded card fields. -
How is this different from WooCommerce Square?
-
The official WooCommerce Square plugin embeds card fields in checkout and offers heavy catalog / inventory sync with Square POS. Payments Square Connect uses Square Hosted Checkout only — no card form in your theme — plus forms, payment links, and light SKU-based stock sync. Choose WooCommerce Square for full POS sync; choose this plugin for the most reliable hosted Square payment gateway path and multi-plugin support (WPForms, Fluent Forms, CF7).
-
Can I accept Square payments without WooCommerce?
-
Yes. Use Contact Form 7, WPForms, Fluent Forms, or payment link buttons (shortcode, Gutenberg, Elementor, Beaver Builder) with the same Square connection — no WooCommerce cart required.
-
Does this work with Apple Pay, Google Pay, and Cash App Pay?
-
Yes. Enable wallets under Payments Square Connect Checkout Settings (Live mode). Buyers see Apple Pay, Google Pay, Cash App Pay, and Afterpay on Square Hosted Checkout when enabled in Square — for WooCommerce, forms, and payment links.
-
Does Square payment work in the UK, Canada, and Australia?
-
Yes — wherever Square supports sellers. Square payment and Square Hosted Checkout work for merchants in the United States, Canada, United Kingdom, Australia, Ireland, France, Spain, and Japan (subject to Square account and location rules). Connect your Square account in Sandbox or Live, pick a location, and accept Square payments on WooCommerce, forms, or payment links. Currency and wallet availability follow your Square account country.
-
Square vs Stripe for WordPress — when should I use Square?
-
Choose Square when you already run Square POS, want Square Hosted Checkout, or need WooCommerce + WPForms + Fluent Forms + CF7 on one Square connection. Choose Stripe when your stack is Stripe-first or you need Stripe-only features. This plugin is for Square payment on WordPress — hosted checkout avoids on-site card field conflicts that affect both Square and Stripe on-site gateways. You pay normal processor rates only; no extra plugin fee.
-
WooCommerce Square sync broke my products — is this safer?
-
This plugin does not run full bidirectional catalog import. It uses Square Hosted Checkout for payments and optional SKU-matched inventory updates when orders are paid — no mass product overwrite from Square to WooCommerce. If sync-heavy plugins duplicated or wiped products, hosted checkout plus simple SKU sync is a lower-risk approach.
-
Does the plugin work with automation or AI tools?
-
Yes. Admins with the right capabilities can use the REST API namespace
shc4wc/v1(for exampleGET /wp-json/shc4wc/v1/statusandPOST /wp-json/shc4wc/v1/orders/{id}/send-payment-link). Developers can hook intoshc4wc_square_connected,shc4wc_pay_for_order_email_sent, and relatedshc4wc_*actions. The optional AI setup assistant on Get started uses your own OpenAI API key (saved under connection settings) — card data and Square tokens are never sent. -
Do I need WooCommerce?
-
No. You can take payments through Contact Form 7 or WPForms without WooCommerce.
-
Do I need Contact Form 7?
-
No. If you only sell through WooCommerce or use WPForms, you do not need Contact Form 7.
-
Do I need WPForms?
-
No. WooCommerce and Contact Form 7 work independently. Use WPForms only if you want the WPForms builder.
-
Where are the settings?
-
Payments Square Connect in the WordPress admin sidebar.
-
What is Sandbox vs Live?
-
Sandbox is for testing — no real money. Live is for real payments. Start in Sandbox, then switch to Live when you are ready. Getting started
-
How does the customer get back to my site?
-
Square sends them back automatically after payment. WooCommerce shoppers see the order confirmation page. Form visitors return to the same form with a success message.
-
Can I sell subscriptions?
-
Yes. Create plans in Square, then use Subscription Plans in this plugin to connect them to WooCommerce products, Contact Form 7 forms, or WPForms. Subscriptions guide
-
Does this plugin charge an extra fee on payments?
-
No. Payments Square Connect does not add a platform or application fee on top of your payments. You pay Square’s normal card processing rates only.
-
Is support available?
-
Yes. 24/7 support available anytime — open Payments Square Connect Support for email, WhatsApp, or the WordPress.org support forum. Support & docs
-
How can I request a new feature?
-
Feature requests & community roadmap
Submit your idea and vote for what we build next on our docs site. We prioritize popular, practical requests for upcoming free updates. For bugs, use Support or the WordPress.org forum.
-
Is card data stored on my site?
-
No. Customers enter payment details on Square Hosted Checkout. Your WordPress site does not store card numbers.
-
Can I refund a WooCommerce Square order?
-
Yes. Open a paid order that used Payments Square Connect, click Refund, and enter a full or partial amount. The plugin sends the refund to Square using the stored payment ID.
When refunds work: order is Processing or Completed, payment method is Payments Square Connect, and a Square payment ID is saved (from buyer return or webhook).
Webhooks (recommended): Copy the webhook URL from Payments Square Connect Connect into the Square Developer Dashboard so payment IDs are saved even if the buyer closes the browser early.
Troubleshooting: “Square payment ID was not found” — wait for webhook or customer return. Refund failed — enable Debug Log and check WooCommerce Status Logs (source
shc4wc). Partial refund rejected — try a lower amount. Refunds guide · Webhooks guide -
Can I issue a partial WooCommerce Square refund?
-
Yes. Enter any amount up to the remaining refundable total on the WooCommerce order. Each refund is sent to Square separately.
-
The order must be paid with Payments Square Connect and have a Square payment ID saved (from buyer return or webhook). Pending or unpaid orders cannot be refunded through the gateway. Enable webhooks and Debug Log on the Connect screen if payment IDs are missing.
-
How does Pay for Order work?
-
Open an unpaid WooCommerce order. Under billing details, click Email payment link to customer or Copy payment link. The customer opens the link, clicks Pay, and completes payment on Square Hosted Checkout. The order moves to Processing after Square confirms payment. No card form appears on your order-pay page.
-
Can I use Square payment links with Elementor or Beaver Builder?
-
Yes. Search for Square Payment Link in the Elementor widget panel or in Beaver Builder modules (group Payments Square Connect). Set the amount and button label — same hosted checkout flow as the shortcode and Gutenberg block.
-
Can I send a payment link for an unpaid WooCommerce order?
-
Yes. Open the order in WooCommerce Orders and click Email payment link to customer on the order screen (or copy the link). The customer pays on Square Hosted Checkout and returns to your site when done.
-
Can I refund Contact Form 7, WPForms, or payment link payments from WooCommerce?
-
WooCommerce only refunds WooCommerce orders. WPForms — open WPForms Payments, click the payment, and use Refund (sent to Square). Fluent Forms — open the submission payment screen and set status to Refunded (sent to Square before the record updates). Contact Form 7 and payment link buttons are not WooCommerce orders — refund those in the Square Dashboard. See refunds guide.
-
Can I refund WooCommerce Square subscription renewals from wp-admin?
-
Recurring charges billed by Square subscriptions should be refunded from the Square Dashboard. The initial WooCommerce subscription signup order can be refunded from wp-admin if it was a one-time hosted checkout payment with a stored Square payment ID.
-
Does WooCommerce Square stock sync with Square catalog?
-
When product SKUs match between WooCommerce and your Square catalog, paid WooCommerce Square orders can update Square inventory automatically. WooCommerce also reduces its own stock when payment is confirmed. Use the same SKU on both sides for the best results.
-
Do Contact Form 7 and WPForms support Apple Pay, Google Pay, Cash App, and Afterpay?
-
Checkout settings · CF7 guide · WPForms guide
Yes. One-time payments from Contact Form 7 and WPForms use the same Square Hosted Checkout as WooCommerce Square. Enable Apple Pay, Google Pay, and Cash App Pay under Payments Square Connect Checkout Settings Merchant settings (Live mode). Enable Afterpay/Clearpay in your Square Dashboard. Buyers see whichever wallets you have turned on, plus card entry on Square’s page.
Cash App Pay and Afterpay are not available for subscription signup on CF7 or WPForms forms.
-
Do Fluent Forms work with Square wallets?
-
Yes, with Fluent Forms free or Pro (no extra Fluent Forms license needed). Enable Payments Square Connect under Fluent Forms Global Settings Payment Payment Methods, then add a Payment Method field to your form and select Square Hosted Checkout. Wallets follow the same Checkout Settings as WooCommerce Square.
-
Do Fluent Forms payment totals match Square Hosted Checkout?
-
Yes. Square charges the same total as the Fluent Forms payment summary: Custom Payment Amount, Payment Item (single, select, radio, or checkbox), and Quantity fields are supported on free and Pro. Each selected item appears on Square’s order summary with the correct name and amount (including quantity). Link Quantity Target Product in the field settings when you have multiple payment fields on one form.
Reviews
Contributors & Developers
“Connect Square Payment Gateway for WooCommerce, WPForms, Fluent Forms & Contact Form 7” is open source software. The following people have contributed to this plugin.
ContributorsInterested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.3.19
- Payment reminders — optional automatic emails for unpaid WooCommerce orders (Pending / On hold) with the Square Hosted Checkout payment link; up to three schedules (default 24h, 72h, 168h).
- WooCommerce gateway settings — enable reminders and edit intervals under Payments Square Connect.
- Order notes — each automatic reminder is logged on the order; developer hook
shc4wc_payment_reminder_sent. - Documentation — Pay for Order guide updated on the docs site.
- Community roadmap — request features and vote for the next free updates on the docs site.
- Readme — WooCommerce payment gateway positioning, checkout SEO keywords, regional Square payment (UK/CA/AU), and Square vs Stripe comparison.
1.3.18
- WPForms refunds — refund Payments Square Connect payments from WPForms Payments; Square payment ID resolved and saved after Hosted Checkout return.
- Fluent Forms refunds — refund from the submission payment screen in wp-admin; Square Refunds API runs before Fluent Forms updates the transaction.
- Square payment ID — shared resolver for hosted checkout returns (payment link, order tenders, list payments).
- Documentation — refunds guide, WPForms guide, and Fluent Forms guide updated on the docs site.
1.3.17
- WordPress.org — valid stable tag 1.3.17; readme listing title Connect Square Payments – WordPress Square Hosted Checkout for WooCommerce, Fluent Forms, CF7, WPForms, Pay Links & More.
1.3.16
- Readme — WordPress.org listing title: Payments Square Connect – WordPress Square Hosted Checkout for WooCommerce, Fluent Forms, CF7, WPForms, Pay Links & More.
- Plugin header — shorter wp-admin name: Payments Square Connect – Square Hosted Checkout for WooCommerce, Forms & Pay Links.
1.3.13
- Fluent Forms (free & Pro) — Square Hosted Checkout totals match the Fluent Forms payment summary; no Fluent Forms Pro license required for Square payments.
- Payment items — supports Custom Payment Amount, Payment Item (single/select/radio/checkbox), and Quantity; correct line item names on Square’s order summary.
- Totals — uses Fluent Forms order items and payment total (price × quantity) so multiple payment fields and quantities stay in sync with the form.
1.3.12
- Live & Sandbox credentials — OAuth tokens and locations save separately per environment; switch Sandbox/Live without disconnecting the other mode (one-time connect each).
- Upgrade safety — automatic migration for existing installs; legacy OAuth and location data preserved on update.
- Connect screen — clearer Connect Square for Live/Sandbox and Disconnect Square for Live/Sandbox labels; Sandbox setup link to the Square test-accounts dashboard; Square Location hidden until the active environment is connected.
- Fluent Forms — Square gateway works on free and Pro; global settings show environment status and a connect-first message when Square is not connected; hosted-checkout notice on forms.
- Reliability — plugin no longer fatals if the bundled Freemius SDK folder (
vendor/freemius) is missing from an incomplete install; admin warning shown instead.
1.3.11
- AI setup assistant — optional OpenAI-powered troubleshooting on Get started (merchant API key on connection settings; no card or Square token data sent).
- REST API —
shc4wc/v1/status, order payment URL, and send payment link email endpoints for admins and automation. - Developer hooks —
shc4wc_square_connected,shc4wc_square_disconnected,shc4wc_pay_for_order_email_sent,shc4wc_checkout_redirect_to_square,shc4wc_payment_link_button_atts,shc4wc_rest_status,shc4wc_ai_troubleshoot_context.
1.3.10
- Readme — shortened Description section to meet WordPress.org 2,500-word limit; refund and Pay for Order details expanded in FAQ.
1.3.9
- Onboarding screen — Get started setup wizard after activation: choose Sandbox/Live, connect Square, pick a location, enable WooCommerce gateway in one click, and open shop/checkout for a test order.
- Setup progress — progress bar and step checklist; Finish setup or Skip setup for now; OAuth returns to the wizard until setup is complete.
- Admin notice — prompts merchants to open Get started when Square is not connected yet.
- Onboarding URL fix — correct admin URL (
admin.php?page=…) and redirect if an old pretty URL is used.
1.3.8
- Elementor — Square Payment Link widget (amount, button label, description, currency) for drag-and-drop Pay Now buttons on Elementor pages.
- Beaver Builder — Square Payment Link module under Payments Square Connect with the same settings as the shortcode and Gutenberg block.
- Page builders — both use the existing hosted checkout flow (Square page, return to your site with thank-you message).
- Documentation — README steps for Elementor and Beaver Builder.
1.3.7
- Pay for Order / invoice link — unpaid WooCommerce orders get a Square payment link (Pay for Order) panel on the order edit screen.
- Copy payment link — one-click copy of the customer order-pay URL (secured with order key).
- Email payment link to customer — sends the payment link from WordPress (
wp_mail) in one click; shows billing email and adds an order note. - Order actions — Email Square payment link to customer also available in the Order actions dropdown.
- Hosted checkout on order-pay — no on-site card form; customer pays on Square Hosted Checkout (avoids typical on-site Square EMPTY_VALUE errors).
- Documentation — README Pay for Order flow, FAQ, and comparison section updates.
1.3.6
- Documentation — README SEO and guides: WooCommerce Square headings, expanded refund documentation (step-by-step, webhooks, sandbox, troubleshooting), updated short description, and How this plugin compares (hosted checkout vs typical on-site and sync-heavy Square plugins).
1.3.5
- WooCommerce refunds — refund paid orders from the WooCommerce order screen (full or partial); refunds are sent to Square using the stored payment ID.
1.3.4
- Gutenberg block — Square Payment Link block now appears in the block inserter (title, category, icon, and keywords were missing).
1.3.3
- WooCommerce checkout — orders stay Pending when customers are redirected to Square Hosted Checkout; they move to Processing only after Square confirms payment (fixes abandoned checkouts showing as Processing too early).
- Webhooks — Square payment-completed webhooks now update orders that are still Pending after redirect.
1.3.2
- Fluent Forms Pro — Square Hosted Checkout payment method using your existing Square connection.
- Payment link button —
[square_payment_link]shortcode and Square Payment Link Gutenberg block for pages and posts without WooCommerce or a form plugin. - Documentation — README updates for wallets, Fluent Forms, payment links, and Gutenberg usage.
1.3.1
- Cash App Pay & Afterpay — payment links now pass
accepted_payment_methods(Cash App Pay and Afterpay/Clearpay) per Square Checkout API requirements so enabled wallets appear on hosted checkout.
1.3.0
- WPForms — Square Hosted Checkout field, Payments Square Connect panel, one-time payments and subscription signup.
- 24/7 support — help available anytime via Support page (email, WhatsApp, forum).
1.2.x (1.2.0 – 1.2.2)
- Automatic Square OAuth token renewal; connect screen shows last renewal time.
- WooCommerce SKU catalog matching and Square inventory sync on paid orders.
- Documentation and plugin listing improvements.
1.1.x (1.1.0 – 1.1.9)
- Admin menu: Connect, Checkout Settings (Beta), Subscription Plans, Support.
- Subscriptions for WooCommerce and Contact Form 7; checkout customization on Square hosted pages.
- WooCommerce itemized checkout lines; connection, Cash App Pay, and checkout settings fixes.
1.0.x (1.0.0 – 1.0.9)
- Initial release: Square Hosted Checkout for WooCommerce and Contact Form 7, one shared Square connection.
- OAuth reliability, site URL change handling, and connection setup improvements.
