{"id":300237,"date":"2026-06-14T11:03:18","date_gmt":"2026-06-14T11:03:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wppayments-square-hosted-checkout-for-woocommerce\/"},"modified":"2026-06-27T23:51:46","modified_gmt":"2026-06-27T23:51:46","slug":"payments-connect-square","status":"publish","type":"plugin","link":"https:\/\/bo.wordpress.org\/plugins\/payments-connect-square\/","author":23480523,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.6","stable_tag":"1.3.6","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Payments Square Connect","header_author":"WPPayments","header_description":"Accept payments through Square Hosted Checkout from WooCommerce with OAuth, webhooks, and optional OAuth Worker relay.","assets_banners_color":"448587","last_updated":"2026-06-27 23:51:46","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":0,"downloads":956,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"wppayments","date":"2026-06-14 11:02:56"},"1.0.4":{"tag":"1.0.4","author":"wppayments","date":"2026-06-14 13:25:00"},"1.0.5":{"tag":"1.0.5","author":"wppayments","date":"2026-06-14 14:27:49"},"1.0.6":{"tag":"1.0.6","author":"wppayments","date":"2026-06-14 15:12:04"},"1.0.7":{"tag":"1.0.7","author":"wppayments","date":"2026-06-15 13:27:20"},"1.0.8":{"tag":"1.0.8","author":"wppayments","date":"2026-06-15 13:34:30"},"1.0.9":{"tag":"1.0.9","author":"wppayments","date":"2026-06-15 13:55:53"},"1.1.0":{"tag":"1.1.0","author":"wppayments","date":"2026-06-15 19:15:29"},"1.1.1":{"tag":"1.1.1","author":"wppayments","date":"2026-06-15 20:20:30"},"1.1.2":{"tag":"1.1.2","author":"wppayments","date":"2026-06-16 11:47:58"},"1.1.3":{"tag":"1.1.3","author":"wppayments","date":"2026-06-16 11:53:45"},"1.1.4":{"tag":"1.1.4","author":"wppayments","date":"2026-06-16 12:35:25"},"1.1.5":{"tag":"1.1.5","author":"wppayments","date":"2026-06-19 19:00:29"},"1.1.6":{"tag":"1.1.6","author":"wppayments","date":"2026-06-20 00:02:41"},"1.1.7":{"tag":"1.1.7","author":"wppayments","date":"2026-06-20 18:53:00"},"1.1.8":{"tag":"1.1.8","author":"wppayments","date":"2026-06-20 18:57:05"},"1.1.9":{"tag":"1.1.9","author":"wppayments","date":"2026-06-20 19:04:09"},"1.2.0":{"tag":"1.2.0","author":"wppayments","date":"2026-06-22 12:39:41"},"1.2.1":{"tag":"1.2.1","author":"wppayments","date":"2026-06-22 12:51:32"},"1.2.2":{"tag":"1.2.2","author":"wppayments","date":"2026-06-22 12:59:24"},"1.3.0":{"tag":"1.3.0","author":"wppayments","date":"2026-06-22 22:27:24"},"1.3.1":{"tag":"1.3.1","author":"wppayments","date":"2026-06-23 08:47:39"},"1.3.2":{"tag":"1.3.2","author":"wppayments","date":"2026-06-27 20:27:38"},"1.3.3":{"tag":"1.3.3","author":"wppayments","date":"2026-06-27 23:16:05"},"1.3.4":{"tag":"1.3.4","author":"wppayments","date":"2026-06-27 23:38:30"},"1.3.5":{"tag":"1.3.5","author":"wppayments","date":"2026-06-27 23:45:43"},"1.3.6":{"tag":"1.3.6","author":"wppayments","date":"2026-06-27 23:51:46"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3571833,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3571833,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3571833,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"shc4wc\/payment-link":{"name":"shc4wc\/payment-link","title":"Square Payment Link"}},"tagged_versions":["1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1","1.2.2","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3573573,"resolution":"1","location":"assets","locale":"","width":1400,"height":935},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3573573,"resolution":"2","location":"assets","locale":"","width":1400,"height":935},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3573573,"resolution":"3","location":"assets","locale":"","width":1400,"height":935},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3573573,"resolution":"4","location":"assets","locale":"","width":1400,"height":1057},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3580098,"resolution":"5","location":"assets","locale":"","width":431,"height":615},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3580098,"resolution":"6","location":"assets","locale":"","width":639,"height":1941}},"screenshots":{"1":"Connect your Square account, choose Sandbox or Live, and pick a location.","2":"Checkout Settings: wallets, tipping, branding, and policies (Live mode only).","3":"Subscription Plans: view Square plans and copy plan IDs.","4":"WooCommerce Square: enable the gateway and set checkout title and description.","5":"WooCommerce Square: refund a paid order from the order screen (full or partial refund sent to Square).","6":"Contact Form 7: add Square payment tags to a form.","7":"WPForms: Square Hosted Checkout field and Payments Square Connect panel.","8":"Square Hosted Checkout: product names and totals shown on Square's payment page."}},"plugin_section":[],"plugin_tags":[1152,185045,1887,196366,130711],"plugin_category":[45],"plugin_contributors":[267068],"plugin_business_model":[],"class_list":["post-300237","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form-7","plugin_tags-fluent-forms","plugin_tags-payments","plugin_tags-woocommerce-square","plugin_tags-wpforms","plugin_category-ecommerce","plugin_contributors-wppayments","plugin_committers-wppayments"],"banners":{"banner":"https:\/\/ps.w.org\/payments-connect-square\/assets\/banner-772x250.png?rev=3571833","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/payments-connect-square\/assets\/icon-128x128.png?rev=3571833","icon_2x":"https:\/\/ps.w.org\/payments-connect-square\/assets\/icon-256x256.png?rev=3571833","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/payments-connect-square\/assets\/screenshot-1.png?rev=3573573","caption":"Connect your Square account, choose Sandbox or Live, and pick a location."},{"src":"https:\/\/ps.w.org\/payments-connect-square\/assets\/screenshot-2.png?rev=3573573","caption":"Checkout Settings: wallets, tipping, branding, and policies (Live mode only)."},{"src":"https:\/\/ps.w.org\/payments-connect-square\/assets\/screenshot-3.png?rev=3573573","caption":"Subscription Plans: view Square plans and copy plan IDs."},{"src":"https:\/\/ps.w.org\/payments-connect-square\/assets\/screenshot-4.png?rev=3573573","caption":"WooCommerce Square: enable the gateway and set checkout title and description."},{"src":"https:\/\/ps.w.org\/payments-connect-square\/assets\/screenshot-5.png?rev=3580098","caption":"WooCommerce Square: refund a paid order from the order screen (full or partial refund sent to Square)."},{"src":"https:\/\/ps.w.org\/payments-connect-square\/assets\/screenshot-6.png?rev=3580098","caption":"Contact Form 7: add Square payment tags to a form."}],"raw_content":"<!--section=description-->\n<h4>Pay on Square's page. Stay connected. Keep stock in sync.<\/h4>\n\n<p><strong>Payments Square Connect<\/strong> is your <strong>WooCommerce Square<\/strong> integration \u2014 built for store owners who want Square payments that <em>just work<\/em> \u2014 without checkout breaking, without surprise disconnects, and without inventory falling out of step.<\/p>\n\n<p>Customers pay on <strong>Square Hosted Checkout<\/strong> (Square's secure page, not yours). You get <strong>WooCommerce Square<\/strong> orders with <strong>refunds from wp-admin<\/strong>, plus Contact Form 7, WPForms, Fluent Forms payments, payment link buttons, and subscriptions \u2014 all through <strong>one Square connection<\/strong>.<\/p>\n\n<p><strong>Why merchants choose this plugin:<\/strong><\/p>\n\n<ul>\n<li><strong>No extra plugin fee<\/strong> \u2014 this plugin does not add a per-payment charge on top of Square's processing rates<\/li>\n<li><strong>24\/7 support available anytime<\/strong> \u2014 email, WhatsApp, and the WordPress.org forum whenever you need help<\/li>\n<li><strong>Checkout that doesn't break<\/strong> \u2014 no card form buried inside your theme; buyers pay on Square and return automatically<\/li>\n<li><strong>Always-on Square connection<\/strong> \u2014 access tokens renew in the background so API calls and checkouts keep working<\/li>\n<li><strong>WooCommerce Square refunds<\/strong> \u2014 issue full or partial refunds from the order screen; the plugin sends the refund to Square using the stored payment ID<\/li>\n<li><strong>WooCommerce Square inventory sync<\/strong> \u2014 match products by <strong>SKU<\/strong> and Square catalog stock updates when a WooCommerce order is paid<\/li>\n<li><strong>One connect, every channel<\/strong> \u2014 <strong>WooCommerce Square<\/strong> checkout plus <strong>Contact Form 7<\/strong>, <strong>WPForms<\/strong>, <strong>Fluent Forms<\/strong>, <strong>payment link buttons<\/strong>, and <strong>subscriptions<\/strong> from the same account<\/li>\n<li><strong>Digital wallets everywhere<\/strong> \u2014 <strong>Apple Pay<\/strong>, <strong>Google Pay<\/strong>, <strong>Cash App Pay<\/strong>, and <strong>Afterpay\/Clearpay<\/strong> on WooCommerce Square checkout, Contact Form 7, WPForms, Fluent Forms, and payment link buttons (when enabled in Square)<\/li>\n<li><strong>Security built in<\/strong> \u2014 card data never touches your WordPress server<\/li>\n<\/ul>\n\n<h4>WooCommerce Square stock sync<\/h4>\n\n<p>Sell on WooCommerce, run your business on Square \u2014 keep both sides honest with <strong>WooCommerce Square<\/strong> inventory sync.<\/p>\n\n<p>When a product <strong>SKU in WooCommerce matches your Square catalog<\/strong>, checkout sends that line item to Square with the right catalog link. After payment, <strong>Square inventory updates automatically<\/strong> so your Square Dashboard reflects what actually sold.<\/p>\n\n<p>No manual mapping screens \u2014 use the <strong>same SKU on both sides<\/strong> and you're done. No matching SKU? The product still goes to checkout <strong>by name and price<\/strong> so nothing blocks the sale.<\/p>\n\n<p><strong>Tip:<\/strong> Use matching SKUs on WooCommerce products and Square catalog variations for the smoothest inventory sync.<\/p>\n\n<h4>A connection that keeps working<\/h4>\n\n<p>Square Connect should not die quietly after a few weeks.<\/p>\n\n<p>This plugin <strong>renews your Square access token automatically<\/strong> (daily checks and before API calls) so payment links, checkout settings, and catalog lookups are less likely to fail with a stale connection. The Connect screen shows when your token was last renewed \u2014 reconnect once after updating to pick up the latest permissions.<\/p>\n\n<h4>Quick start<\/h4>\n\n<ol>\n<li>Install and activate <strong>Payments Square Connect<\/strong>.<\/li>\n<li>Open <strong>Payments Square Connect<\/strong> in the WordPress admin sidebar.<\/li>\n<li>Choose <strong>Sandbox<\/strong> for testing or <strong>Live<\/strong> for real payments.<\/li>\n<li>Click <strong>Payments Square Connect<\/strong>, sign in with Square, and pick your <strong>Square Location<\/strong>.<\/li>\n<li>Click <strong>Save connection settings<\/strong>.<\/li>\n<li>Turn on <strong>WooCommerce Square<\/strong> checkout, Contact Form 7, WPForms, Fluent Forms, and\/or payment link buttons (see below).<\/li>\n<\/ol>\n\n<h4>Payment link button (no form plugin required)<\/h4>\n\n<p>Add a <strong>Pay Now<\/strong> button on any page or post \u2014 no WooCommerce or form builder required.<\/p>\n\n<p><strong>Shortcode<\/strong><\/p>\n\n<pre><code>[square_payment_link amount=\"25.00\" label=\"Pay Now\" description=\"Consultation fee\"]\n<\/code><\/pre>\n\n<p>Alias: <code>[square_pay_link]<\/code><\/p>\n\n<p><strong>Gutenberg block<\/strong><\/p>\n\n<ol>\n<li>Edit any page or post in the block editor.<\/li>\n<li>Click <strong>+<\/strong> and search for <strong>Square Payment Link<\/strong>.<\/li>\n<li>In the block sidebar, set <strong>Amount<\/strong>, <strong>Button label<\/strong>, and optional <strong>Description<\/strong> \/ <strong>Currency<\/strong>.<\/li>\n<li>Publish the page. Visitors click the button, complete payment on Square, and return to the same page with a thank-you message.<\/li>\n<\/ol>\n\n<p><strong>Shortcode block:<\/strong> add a Shortcode block and paste the shortcode above if you prefer.<\/p>\n\n<h4>Where to find settings<\/h4>\n\n<p>Everything is under <strong>Payments Square Connect<\/strong> in the admin sidebar:<\/p>\n\n<ul>\n<li><strong>Payments Square Connect<\/strong> \u2014 connect Square, choose Sandbox or Live, pick a location<\/li>\n<li><strong>Checkout Settings (Beta)<\/strong> \u2014 wallets, tipping, branding, and policies on Square checkout (<strong>Live mode only<\/strong>)<\/li>\n<li><strong>Subscription Plans<\/strong> \u2014 view your Square plans and copy plan IDs<\/li>\n<li><strong>Support<\/strong> \u2014 <strong>24\/7 support available anytime<\/strong> via email, WhatsApp, or the WordPress.org forum<\/li>\n<\/ul>\n\n<h4>Connect Square<\/h4>\n\n<p>Every payment uses this screen first.<\/p>\n\n<ol>\n<li>Go to <strong>Payments Square Connect \u2192 Payments Square Connect<\/strong>.<\/li>\n<li>Pick <strong>Sandbox<\/strong> while testing, or <strong>Live<\/strong> when you are ready to take real payments.<\/li>\n<li>Click <strong>Payments Square Connect<\/strong> and sign in with your Square account.<\/li>\n<li>Choose your <strong>Square Location<\/strong> from the list.<\/li>\n<li>Click <strong>Save connection settings<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Tips<\/strong><\/p>\n\n<ul>\n<li>Start in <strong>Sandbox<\/strong> so you can test without charging real cards.<\/li>\n<li>If you move your site to a new address, connect Square again from this page.<\/li>\n<li>Use <strong>Disconnect Square<\/strong> if you need to switch accounts.<\/li>\n<\/ul>\n\n<h4>WooCommerce Square<\/h4>\n\n<p><strong>WooCommerce Square<\/strong> hosted checkout connects your store to Square without embedding card fields in your theme. WooCommerce itself is <strong>optional<\/strong> \u2014 install it only if you sell through a WooCommerce store.<\/p>\n\n<ol>\n<li>Complete <strong>Connect Square<\/strong> above.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments \u2192 Payments Square Connect<\/strong>.<\/li>\n<li>Turn the gateway <strong>on<\/strong>.<\/li>\n<li>Set <strong>Title<\/strong> and <strong>Description<\/strong> (what shoppers see at checkout). Example: \"Pay with Square\".<\/li>\n<li>Save and place a test order.<\/li>\n<\/ol>\n\n<p><strong>At checkout:<\/strong> the customer chooses your Square gateway, is sent to Square to pay, then returns to your <strong>Order received<\/strong> page.<\/p>\n\n<p><strong>Subscriptions (optional):<\/strong> create plans in Square, refresh <strong>Subscription Plans<\/strong> in this plugin, then pick a plan on each WooCommerce subscription product.<\/p>\n\n<h4>WooCommerce Square refunds<\/h4>\n\n<p>Refund <strong>one-time WooCommerce Square<\/strong> orders from wp-admin. The plugin sends the refund to Square using the original payment ID; funds return on Square's normal refund timeline.<\/p>\n\n<p><strong>How to refund an order<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>WooCommerce \u2192 Orders<\/strong> and open a <strong>paid<\/strong> order that used Payments Square Connect.<\/li>\n<li>In the order items panel, click <strong>Refund<\/strong>.<\/li>\n<li>Enter a <strong>full<\/strong> or <strong>partial<\/strong> amount and an optional reason.<\/li>\n<li>Confirm the refund. WooCommerce records the refund and the plugin calls Square.<\/li>\n<li>Check the <strong>order notes<\/strong> \u2014 they show the Square refund ID and status (for example <code>COMPLETED<\/code> or <code>PENDING<\/code>).<\/li>\n<\/ol>\n\n<p><strong>Full vs partial refunds<\/strong><\/p>\n\n<ul>\n<li><strong>Full refund<\/strong> \u2014 refund the entire captured payment (WooCommerce usually pre-fills the remaining refundable total).<\/li>\n<li><strong>Partial refund<\/strong> \u2014 enter a smaller amount. You can issue several partial refunds until the payment is fully refunded.<\/li>\n<\/ul>\n\n<p><strong>When refunds work<\/strong><\/p>\n\n<ul>\n<li>Payment method is <strong>Payments Square Connect<\/strong>.<\/li>\n<li>The order is <strong>paid<\/strong> (Processing or Completed).<\/li>\n<li>A <strong>Square payment ID<\/strong> is stored on the order. It is saved when:\n\n<ul>\n<li>the customer <strong>returns<\/strong> from Square Hosted Checkout, or<\/li>\n<li>Square sends a <strong>payment completed webhook<\/strong> to your site (recommended for reliability).<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p><strong>Configure webhooks (recommended)<\/strong><\/p>\n\n<p>Add your plugin webhook URL in the <strong>Square Developer Dashboard<\/strong> so payment IDs are saved even if the buyer closes the browser before returning. Find the URL under <strong>Payments Square Connect \u2192 Connect<\/strong> (Webhook URL field).<\/p>\n\n<p><strong>Sandbox testing<\/strong><\/p>\n\n<ol>\n<li>Connect in <strong>Sandbox<\/strong> mode and place a test order.<\/li>\n<li>Complete payment on Square Sandbox checkout.<\/li>\n<li>Refund the order from wp-admin and confirm the note shows a Square refund ID.<\/li>\n<li>Verify the refund in your <strong>Square Sandbox<\/strong> transactions.<\/li>\n<\/ol>\n\n<p><strong>Not available through WooCommerce Square refunds<\/strong><\/p>\n\n<ul>\n<li><strong>Contact Form 7<\/strong>, <strong>WPForms<\/strong>, <strong>Fluent Forms<\/strong>, and <strong>payment link<\/strong> payments \u2014 refund in the <strong>Square Dashboard<\/strong>.<\/li>\n<li><strong>Subscription renewal<\/strong> charges billed by Square \u2014 refund in the <strong>Square Dashboard<\/strong>.<\/li>\n<li>Orders still <strong>Pending<\/strong> or without a Square payment ID \u2014 wait for payment confirmation, then retry.<\/li>\n<\/ul>\n\n<p><strong>Troubleshooting<\/strong><\/p>\n\n<ul>\n<li><strong>\"Square payment ID was not found\"<\/strong> \u2014 payment not fully confirmed yet; wait for webhook or ask the customer to return from Square, then try again.<\/li>\n<li><strong>Refund failed<\/strong> \u2014 enable <strong>Debug Log<\/strong> on the Connect screen and check <strong>WooCommerce \u2192 Status \u2192 Logs<\/strong> (source <code>shc4wc<\/code>).<\/li>\n<li><strong>Partial refund rejected<\/strong> \u2014 amount may exceed what Square still allows on that payment; try a lower amount.<\/li>\n<\/ul>\n\n<h4>Contact Form 7<\/h4>\n\n<p>Contact Form 7 is <strong>optional<\/strong>. Use it for donations, fees, registrations, and similar forms.<\/p>\n\n<p><strong>Payment methods:<\/strong> One-time CF7 payments use <strong>Square Hosted Checkout<\/strong> \u2014 the same page as <strong>WooCommerce Square<\/strong> checkout. Buyers can pay with <strong>Apple Pay<\/strong>, <strong>Google Pay<\/strong>, <strong>Cash App Pay<\/strong>, <strong>Afterpay\/Clearpay<\/strong>, or card when those methods are enabled under <strong>Checkout Settings<\/strong> (and Afterpay in the Square Dashboard). No extra setup per form.<\/p>\n\n<p><strong>One-time payment<\/strong><\/p>\n\n<ol>\n<li>Connect Square first.<\/li>\n<li>Enable wallets under <strong>Checkout Settings \u2192 Merchant settings<\/strong> (Live mode).<\/li>\n<li>Add a tag to your form:\n\n<ul>\n<li>Fixed amount: <code>[square_pay amount:25.00]<\/code><\/li>\n<li>Amount from a form field: <code>[square_pay amount-field:your-amount]<\/code><\/li>\n<\/ul><\/li>\n<li>Publish the form. After submit, the visitor pays on Square (with your enabled wallets) and returns with a success message.<\/li>\n<\/ol>\n\n<p><strong>Subscription signup<\/strong><\/p>\n\n<ol>\n<li>Create plans in Square and copy a plan ID from <strong>Subscription Plans<\/strong>.<\/li>\n<li>Add a tag like: <code>[square_subscribe variation:YOUR_PLAN_ID name:\"Silver Membership\" amount:15.00]<\/code><\/li>\n<\/ol>\n\n<p><strong>Note:<\/strong> Cash App Pay and Afterpay are for one-time CF7 payments only \u2014 not subscription signup.<\/p>\n\n<h4>WPForms<\/h4>\n\n<p>WPForms is <strong>optional<\/strong>. Use it for donations, fees, registrations, and similar forms with the familiar WPForms builder.<\/p>\n\n<p><strong>Payment methods:<\/strong> One-time WPForms payments also use <strong>Square Hosted Checkout<\/strong>. Visitors can pay with <strong>Apple Pay<\/strong>, <strong>Google Pay<\/strong>, <strong>Cash App Pay<\/strong>, <strong>Afterpay\/Clearpay<\/strong>, or card \u2014 the same wallets as WooCommerce and Contact Form 7 when enabled in <strong>Checkout Settings<\/strong>.<\/p>\n\n<p><strong>One-time payment<\/strong><\/p>\n\n<ol>\n<li>Connect Square first.<\/li>\n<li>Enable wallets under <strong>Checkout Settings \u2192 Merchant settings<\/strong> (Live mode).<\/li>\n<li>Edit your form in <strong>WPForms \u2192 All Forms<\/strong>.<\/li>\n<li>Add a <strong>Single Item<\/strong> payment field for the amount.<\/li>\n<li>Add the <strong>Square Hosted Checkout<\/strong> field (under Payment fields).<\/li>\n<li>Open <strong>Payments<\/strong> in the form builder and enable <strong>Payments Square Connect \u2192 One-time payments<\/strong>.<\/li>\n<li>Publish the form. After submit, the visitor pays on Square (with your enabled wallets) and returns with a success message.<\/li>\n<\/ol>\n\n<p><strong>Subscription signup<\/strong><\/p>\n\n<ol>\n<li>Create plans in Square and copy a variation ID from <strong>Subscription Plans<\/strong>.<\/li>\n<li>In the form <strong>Payments<\/strong> panel, enable <strong>Subscription signup<\/strong> and paste the <strong>Square plan variation ID<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Note:<\/strong> Cash App Pay and Afterpay are for one-time WPForms payments only \u2014 not subscription signup.<\/p>\n\n<h4>Fluent Forms<\/h4>\n\n<p><strong>Fluent Forms Pro<\/strong> is required (payment module). Use the same Square connection as <strong>WooCommerce Square<\/strong> \u2014 you do not enter separate Square API keys in Fluent Forms.<\/p>\n\n<p><strong>Payment methods:<\/strong> One-time Fluent Forms payments use <strong>Square Hosted Checkout<\/strong> with <strong>Apple Pay<\/strong>, <strong>Google Pay<\/strong>, <strong>Cash App Pay<\/strong>, <strong>Afterpay\/Clearpay<\/strong>, or card when enabled under <strong>Checkout Settings<\/strong>.<\/p>\n\n<p><strong>One-time payment<\/strong><\/p>\n\n<ol>\n<li>Connect Square first.<\/li>\n<li>In <strong>Fluent Forms \u2192 Global Settings \u2192 Payment<\/strong>, enable the payment module.<\/li>\n<li>Open <strong>Payment Methods<\/strong> and enable <strong>Payments Square Connect<\/strong>.<\/li>\n<li>Create a form with payment item fields, a <strong>Payment Summary<\/strong>, and a <strong>Payment Method<\/strong> field.<\/li>\n<li>In the Payment Method field, select <strong>Payments Square Connect<\/strong> \/ <strong>Square Hosted Checkout<\/strong>.<\/li>\n<li>Publish the form. After submit, the visitor pays on Square and returns with a success message.<\/li>\n<\/ol>\n\n<p><strong>Note:<\/strong> Subscription items are not supported through this Square hosted checkout integration yet.<\/p>\n\n<h4>Subscription Plans<\/h4>\n\n<p>Open <strong>Payments Square Connect \u2192 Subscription Plans<\/strong> to:<\/p>\n\n<ul>\n<li>See plans from your Square account<\/li>\n<li>Click <strong>Refresh from Square<\/strong> after you add or change plans<\/li>\n<li>Copy plan IDs for Contact Form 7 tags, WPForms forms, or WooCommerce products<\/li>\n<\/ul>\n\n<p><strong>Good to know:<\/strong> some payment methods (such as Cash App Pay and Afterpay) are not available for subscription sign-up.<\/p>\n\n<h4>Checkout Settings (Beta)<\/h4>\n\n<p>Customize Square checkout for <strong>all<\/strong> payments created by this plugin \u2014 <strong>WooCommerce Square<\/strong>, Contact Form 7, WPForms, and Fluent Forms.<\/p>\n\n<p><strong>Live mode only<\/strong> \u2014 switch to Live on the Connect screen first.<\/p>\n\n<ul>\n<li><strong>Merchant settings<\/strong> \u2014 turn on <strong>Apple Pay<\/strong>, <strong>Google Pay<\/strong>, and <strong>Cash App Pay<\/strong> for every hosted checkout from this plugin. <strong>Afterpay\/Clearpay<\/strong> is enabled or disabled in the Square Dashboard (shown as read-only in the plugin).<\/li>\n<li><strong>Location settings<\/strong> \u2014 customer notes, tipping, button style, store policy text<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0+<\/li>\n<li>PHP 7.4+<\/li>\n<li>A Square seller account<\/li>\n<li>WooCommerce \u2014 optional (for <strong>WooCommerce Square<\/strong> store checkout)<\/li>\n<li>Contact Form 7 \u2014 optional (for form payments)<\/li>\n<li>WPForms \u2014 optional (for form payments)<\/li>\n<li>Fluent Forms Pro \u2014 optional (for form payments)<\/li>\n<li>WooCommerce Subscriptions \u2014 optional (for recurring products)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Activate <strong>Payments Square Connect<\/strong>.<\/li>\n<li>Open <strong>Payments Square Connect<\/strong> in the admin sidebar.<\/li>\n<li>Choose <strong>Sandbox<\/strong> or <strong>Live<\/strong>, sign in with Square, and save a location.<\/li>\n<li>Enable <strong>WooCommerce Square<\/strong> checkout, WPForms, Contact Form 7, Fluent Forms, and\/or add payment link buttons if you need them.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>No. You can take payments through Contact Form 7 or WPForms without WooCommerce.<\/p><\/dd>\n<dt id=\"do%20i%20need%20contact%20form%207%3F\"><h3>Do I need Contact Form 7?<\/h3><\/dt>\n<dd><p>No. If you only sell through WooCommerce or use WPForms, you do not need Contact Form 7.<\/p><\/dd>\n<dt id=\"do%20i%20need%20wpforms%3F\"><h3>Do I need WPForms?<\/h3><\/dt>\n<dd><p>No. WooCommerce and Contact Form 7 work independently. Use WPForms only if you want the WPForms builder.<\/p><\/dd>\n<dt id=\"where%20are%20the%20settings%3F\"><h3>Where are the settings?<\/h3><\/dt>\n<dd><p><strong>Payments Square Connect<\/strong> in the WordPress admin sidebar.<\/p><\/dd>\n<dt id=\"what%20is%20sandbox%20vs%20live%3F\"><h3>What is Sandbox vs Live?<\/h3><\/dt>\n<dd><p><strong>Sandbox<\/strong> is for testing \u2014 no real money. <strong>Live<\/strong> is for real payments. Start in Sandbox, then switch to Live when you are ready.<\/p><\/dd>\n<dt id=\"how%20does%20the%20customer%20get%20back%20to%20my%20site%3F\"><h3>How does the customer get back to my site?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20i%20sell%20subscriptions%3F\"><h3>Can I sell subscriptions?<\/h3><\/dt>\n<dd><p>Yes. Create plans in Square, then use <strong>Subscription Plans<\/strong> in this plugin to connect them to WooCommerce products, Contact Form 7 forms, or WPForms.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20charge%20an%20extra%20fee%20on%20payments%3F\"><h3>Does this plugin charge an extra fee on payments?<\/h3><\/dt>\n<dd><p>No. <strong>Payments Square Connect<\/strong> does not add a platform or application fee on top of your payments. You pay Square's normal card processing rates only.<\/p><\/dd>\n<dt id=\"is%20support%20available%3F\"><h3>Is support available?<\/h3><\/dt>\n<dd><p>Yes. <strong>24\/7 support available anytime<\/strong> \u2014 open <strong>Payments Square Connect \u2192 Support<\/strong> for email, WhatsApp, or the <a href=\"https:\/\/wordpress.org\/support\/plugin\/payments-connect-square\/\">WordPress.org support forum<\/a>.<\/p><\/dd>\n<dt id=\"is%20card%20data%20stored%20on%20my%20site%3F\"><h3>Is card data stored on my site?<\/h3><\/dt>\n<dd><p>No. Customers enter payment details on <strong>Square Hosted Checkout<\/strong>. Your WordPress site does not store card numbers.<\/p><\/dd>\n<dt id=\"can%20i%20refund%20a%20woocommerce%20square%20order%3F\"><h3>Can I refund a WooCommerce Square order?<\/h3><\/dt>\n<dd><p>Yes. For <strong>one-time WooCommerce Square<\/strong> orders paid with <strong>Payments Square Connect<\/strong>, open the order in wp-admin, click <strong>Refund<\/strong>, and enter an amount. The plugin refunds the original Square payment (full or partial). See <strong>WooCommerce Square refunds<\/strong> in the Description above for step-by-step instructions.<\/p><\/dd>\n<dt id=\"can%20i%20issue%20a%20partial%20woocommerce%20square%20refund%3F\"><h3>Can I issue a partial WooCommerce Square refund?<\/h3><\/dt>\n<dd><p>Yes. Enter any amount up to the remaining refundable total on the WooCommerce order. Each refund is sent to Square separately.<\/p><\/dd>\n<dt id=\"why%20is%20the%20woocommerce%20square%20refund%20button%20missing%20or%20failing%3F\"><h3>Why is the WooCommerce Square refund button missing or failing?<\/h3><\/dt>\n<dd><p>The order must be <strong>paid<\/strong> with Payments Square Connect and have a <strong>Square payment ID<\/strong> saved (from buyer return or webhook). Pending or unpaid orders cannot be refunded through the gateway. Enable webhooks and Debug Log if payment IDs are missing \u2014 see <strong>WooCommerce Square refunds<\/strong> above.<\/p><\/dd>\n<dt id=\"can%20i%20refund%20contact%20form%207%2C%20wpforms%2C%20or%20payment%20link%20payments%20from%20woocommerce%3F\"><h3>Can I refund Contact Form 7, WPForms, or payment link payments from WooCommerce?<\/h3><\/dt>\n<dd><p>No. Those payments are not WooCommerce orders. Refund them in the <strong>Square Dashboard<\/strong> (Transactions \/ Payments).<\/p><\/dd>\n<dt id=\"can%20i%20refund%20woocommerce%20square%20subscription%20renewals%20from%20wp-admin%3F\"><h3>Can I refund WooCommerce Square subscription renewals from wp-admin?<\/h3><\/dt>\n<dd><p>Recurring charges billed by Square subscriptions should be refunded from the <strong>Square Dashboard<\/strong>. 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.<\/p><\/dd>\n<dt id=\"does%20woocommerce%20square%20stock%20sync%20with%20square%20catalog%3F\"><h3>Does WooCommerce Square stock sync with Square catalog?<\/h3><\/dt>\n<dd><p>When product <strong>SKUs match<\/strong> between WooCommerce and your Square catalog, paid <strong>WooCommerce Square<\/strong> orders can update <strong>Square inventory<\/strong> automatically. WooCommerce also reduces its own stock when payment is confirmed. Use the same SKU on both sides for the best results.<\/p><\/dd>\n<dt id=\"do%20contact%20form%207%20and%20wpforms%20support%20apple%20pay%2C%20google%20pay%2C%20cash%20app%2C%20and%20afterpay%3F\"><h3>Do Contact Form 7 and WPForms support Apple Pay, Google Pay, Cash App, and Afterpay?<\/h3><\/dt>\n<dd><p>Yes. <strong>One-time<\/strong> payments from Contact Form 7 and WPForms use the same <strong>Square Hosted Checkout<\/strong> as <strong>WooCommerce Square<\/strong>. Enable <strong>Apple Pay<\/strong>, <strong>Google Pay<\/strong>, and <strong>Cash App Pay<\/strong> under <strong>Payments Square Connect \u2192 Checkout Settings \u2192 Merchant settings<\/strong> (Live mode). Enable <strong>Afterpay\/Clearpay<\/strong> in your Square Dashboard. Buyers see whichever wallets you have turned on, plus card entry on Square's page.<\/p>\n\n<p>Cash App Pay and Afterpay are <strong>not<\/strong> available for subscription signup on CF7 or WPForms forms.<\/p><\/dd>\n<dt id=\"do%20fluent%20forms%20work%20with%20square%20wallets%3F\"><h3>Do Fluent Forms work with Square wallets?<\/h3><\/dt>\n<dd><p>Yes, with <strong>Fluent Forms Pro<\/strong>. Enable <strong>Payments Square Connect<\/strong> under <strong>Fluent Forms \u2192 Global Settings \u2192 Payment \u2192 Payment Methods<\/strong>, then add a <strong>Payment Method<\/strong> field to your form and select Square Hosted Checkout. Wallets follow the same <strong>Checkout Settings<\/strong> as <strong>WooCommerce Square<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.6<\/h4>\n\n<ul>\n<li><strong>Documentation<\/strong> \u2014 README SEO and guides: <strong>WooCommerce Square<\/strong> headings, expanded refund documentation (step-by-step, webhooks, sandbox, troubleshooting), and updated short description.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li><strong>WooCommerce refunds<\/strong> \u2014 refund paid orders from the WooCommerce order screen (full or partial); refunds are sent to Square using the stored payment ID.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li><strong>Gutenberg block<\/strong> \u2014 <strong>Square Payment Link<\/strong> block now appears in the block inserter (title, category, icon, and keywords were missing).<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li><strong>WooCommerce checkout<\/strong> \u2014 orders stay <strong>Pending<\/strong> when customers are redirected to Square Hosted Checkout; they move to <strong>Processing<\/strong> only after Square confirms payment (fixes abandoned checkouts showing as Processing too early).<\/li>\n<li><strong>Webhooks<\/strong> \u2014 Square payment-completed webhooks now update orders that are still <strong>Pending<\/strong> after redirect.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li><strong>Fluent Forms Pro<\/strong> \u2014 Square Hosted Checkout payment method using your existing Square connection.<\/li>\n<li><strong>Payment link button<\/strong> \u2014 <code>[square_payment_link]<\/code> shortcode and <strong>Square Payment Link<\/strong> Gutenberg block for pages and posts without WooCommerce or a form plugin.<\/li>\n<li><strong>Documentation<\/strong> \u2014 README updates for wallets, Fluent Forms, payment links, and Gutenberg usage.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li><strong>Cash App Pay &amp; Afterpay<\/strong> \u2014 payment links now pass <code>accepted_payment_methods<\/code> (Cash App Pay and Afterpay\/Clearpay) per Square Checkout API requirements so enabled wallets appear on hosted checkout.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li><strong>WPForms<\/strong> \u2014 Square Hosted Checkout field, Payments Square Connect panel, one-time payments and subscription signup.<\/li>\n<li><strong>24\/7 support<\/strong> \u2014 help available anytime via Support page (email, WhatsApp, forum).<\/li>\n<\/ul>\n\n<h4>1.2.x (1.2.0 \u2013 1.2.2)<\/h4>\n\n<ul>\n<li>Automatic Square OAuth token renewal; connect screen shows last renewal time.<\/li>\n<li>WooCommerce SKU catalog matching and Square inventory sync on paid orders.<\/li>\n<li>Documentation and plugin listing improvements.<\/li>\n<\/ul>\n\n<h4>1.1.x (1.1.0 \u2013 1.1.9)<\/h4>\n\n<ul>\n<li>Admin menu: Connect, Checkout Settings (Beta), Subscription Plans, Support.<\/li>\n<li>Subscriptions for WooCommerce and Contact Form 7; checkout customization on Square hosted pages.<\/li>\n<li>WooCommerce itemized checkout lines; connection, Cash App Pay, and checkout settings fixes.<\/li>\n<\/ul>\n\n<h4>1.0.x (1.0.0 \u2013 1.0.9)<\/h4>\n\n<ul>\n<li>Initial release: Square Hosted Checkout for WooCommerce and Contact Form 7, one shared Square connection.<\/li>\n<li>OAuth reliability, site URL change handling, and connection setup improvements.<\/li>\n<\/ul>","raw_excerpt":"WooCommerce Square hosted checkout for CF7, WPForms &amp; Fluent Forms. Payment links, refunds, wallets, SKU sync.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300237"}],"author":[{"embeddable":true,"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wppayments"}],"wp:attachment":[{"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300237"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300237"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300237"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300237"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300237"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}