WooCommerce Square combines a SAQ-A PCI compliant payment method with 3D Secure verification, with product and inventory synchronization, letting you sell via multiple sales channels and accept payments online securely.
- 64-bit PHP 5.6+
- WordPress 4.6+
- WooCommerce 3.0+
- A Square account
- An SSL certificate to use the payment gateway
- Background processing to support automatic product sync
To begin using WooCommerce Square, you first need to connect your site to Square by following the steps below:
- Go to WooCommerce > Settings > Square.
- Select Connect with Square.
- Log in to your Square account. You must be the owner of the Square account to authorize WooCommerce to connect.
- Select That’s My Site – Redirect Me to return to your site.
From WooCommerce > Settings > Square, you can configure the following settings to determine how data sync between Square and WooCommerce:
- Business location: Select the Square location to link to this site. Locations are queried from Square and are only listed if they are Active and have Credit Card Processing enabled. To enable Credit Card Processing, you will need to go through the process of setting up your account, including verifying your identity. You can verify your identity in your Square dashboard under Setup Guide > Get Paid > Verify Your Identity.
- Product system of record: Choose where you will update data for synced products. Click here to learn more about product syncing.
- Sync inventory: Enable to sync inventory between WooCommerce and Square. When WooCommerce is your system of record, inventory changes in WooCommerce overwrite Square inventory. When Square is your system of record, inventory cannot be changed in WooCommerce, and will always be pulled from Square. Regardless of your system of record, inventory is pulled from Square every hour to account for POS sales. Any inventory editing needs to happen at Square.
- Handle missing products: When the Product system of record is set to “Square”, enable to hide products in your WooCommerce Products list that aren’t found in Square. If disabled, no action will be taken against missing products beyond a notification in the Sync records area.
- Import Products: Import new products and product changes from Square into WooCommerce. For a Square product to be imported, it must have a unique SKU not existing in WooCommerce. This needs to be run each time new products or variations are created in Square.
As of 2.2.0, all existing products will be updated using the latest information pulled from Square, this includes importing new variations, removing variations and importing stock, SKU or product name changes.
- Connection: Connect or disconnect your site from Square. Click here for instructions on connecting to Square.
- Enable logging: Enable to save debug messages to the WooCommerce > Status > Logs page. Please do not enable this setting unless there are issues with the plugin.
Payment Method Settings
From WooCommerce > Settings > Payment > Square, you can configure the following settings for the Square payment gateway:
- Enable / Disable: Enable to allow customers to use this gateway at checkout.
- Title: Determine how the gateway should be labeled for customers at checkout and on the Order Received page.
- Description: The text shown under the Title during checkout. Limited HTML is allowed.
- Transaction Type: Controls how transactions are submitted to Square. Select “Charge” to automatically capture payments. If you select “Authorization”, you must manually capture and settle payments on the WooCommerce orders screen or from your Square account after the transaction has been submitted (and Authorizations do not display under Square transactions). This defaults to “Charge”.Note that Square authorizations are only valid for 6 days, so they cannot be captured after this time.
- Charge Virtual-Only Orders: If Transaction Type is set to “Authorization”, enable to automatically capture charges for orders with only Virtual products. For downloadable products, this will grant immediate access to downloads.
- Capture Paid Orders: If Transaction Type is set to “Authorization”, enable to automatically capture charges when orders move to a paid status (i.e. Processing or Completed).
- Accepted Card Logos: This doesn’t determine which cards are accepted, only which card logos are shown during checkout. See the cards Square accepts.
- Customer Profiles: Customers can save their payment methods for future use at checkout. This is required for Subscriptions and Pre-Orders.
- Digital Wallet Settings: Enable/disable and customize Square digital wallets (Apple Pay and Google Pay) on your store. These settings will only be available to stores located in the US, UK, and Canada.
- Detailed Decline Messages: Display detailed messages to customers to provide reasoning for declines instead of a generic error message when possible.
- Debug Mode: Enable when there are problems processing transactions. You can choose to log API requests directly on the checkout page, save them to the WooCommerce > Status > Logs page, or both.