For pricing and how to add to your website see at the bottom of the page.
To begin using WooCommerce Square, you first need to connect your site to Square by following the steps below:
You’re now connected to Square. You can now adjust the other plugin settings and gateway settings as needed.
From WooCommerce > Settings > Square, you can configure the following settings to determine how data sync between Square and WooCommerce:
From WooCommerce > Settings > Payment > Square, you can configure the following settings for the Square payment gateway:
You can enable the Sandbox Mode via the Square settings under WP Admin → WooCommerce → Settings → Payments → Square. Enable sandbox mode and then head to the section below where you’ll create an app in your Square account.
Back in your Square settings in WooCommerce you’ll see a new Sandbox settings section with two fields; Sandbox Application ID & Sandbox Access Token.
You’ll also find a link to the Square developer site to create an app where you’ll get an Application ID & Sandbox Access token to use in your testing.
Once on their developer site select the plus icon to create a new app, name your app, and then select Save. Next open the app and you should see the Sandbox Access Token & Sandbox Application ID fields. These are the two bits of info we need to copy and paste back into the Square settings in WooCommerce. Click “Show” next before highlighting and copying to the Sandbox Access Token to ensure it is copied correctly.
Our last option here is the Business location. Be sure to set a Business location as this will let you view any sandbox transaction data. To view this data you can select the Open button next to the correct Sandbox Test Account. This will look like the normal Square dashboard, but with a notice across the top to clarify you’re viewing sandbox data.
Finally, let’s discuss what card numbers to use to test payments and orders themselves. You’ll find that list here in Square’s test values doc in the Sandbox payments section. It lists cards to place successful payments and other cards to trigger specific responses like incorrect CVV, declined card, etc…
There are a few important notes to highlight before we’re done
Notes:
With all of this setup and the test card values you’re all set. Happy testing!
You can share product and inventory between Square and WooCommerce, which helps keep each system up-to-date whether you process a transaction via Square or WooCommerce. In your Square settings in WooCommerce, you can decide whether Square or WooCommerce should be the system of record for your store.
The System of record will determine how product data is shared between the two and which one has the last word if there are differences between the two.
The system of record is important when you change or update the products.
Product changes based on orders such as inventory changes are not affected by this. Even if Square is the system of record, when an order comes in via your WooCommerce store, the inventory on Square will be updated as well.
The system of record is the environment where you should make changes to the product’s features such as name, description and image.
To share product information & inventory between Square and WooCommerce, you must enable syncing for that product by following the steps below:
To update syncing for multiple products at the same time:
When Square is the system of record, your products in WooCommerce will be overwritten with data from your Square products for the following fields:
Square will automatically sync information with WooCommerce approximately every 60 minutes. You can also run a manual sync any time. In both cases, Square will:
As of version 2.0 +, neither automatic nor manual updates will import new products from Square to WooCommerce. If you have created new products and wish to import them to your WooCommerce store, please use the option to Import Products as mentioned above under Square settings.
When Square is the system of record, you should avoid changing product data in WooCommerce (manually or otherwise) as these updates could be overwritten when changes are made to the corresponding products in Square during the next automatic sync. Please note product data will always be overwritten by Square data when manual sync is run.
When WooCommerce is designated as the system of record, the Square product catalog will be overwritten with data from the WooCommerce Products list for the following fields:
The plugin will send updated information from WooCommerce to Square whenever you make a change to a synced product via manual edit in WooCommerce, import, or API. You can also run a manual sync any time. In both cases, WooCommerce will:
You can run a manual sync any time to ensure records match between Square and WooCommerce. To run a manual sync:
The sync results will appear in the Sync records section. If you have enabled the Square sync completed email, any listed recipients will receive an email once the manual sync is complete. Alerts identify any issues with the sync that require your review. You can take the following actions against Alerts:
For businesses with many products, syncing can take some time. You can enable the Square sync completed email to notify you when a manual sync is complete. Follow the steps below to set up this email:
Take payments across your store with Apple Pay and Google Pay (available to Square accounts located in the United Kingdom, United States, and Canada).
When digital wallets are enabled, Apple Pay and Google Pay buttons will be displayed on the Product, Cart, and Checkout pages, depending on which is available to the customer.
To start accepting payments with Apple Pay your store’s domain must first be verified with Square and Apple. When you enable Digital Wallets in the gateway settings (found WooCommerce > Settings > Payments > Square) we will automatically verify your store’s domain for you.
To check if your domain has been properly verified:
If there was an error, search your log file for “Unable to verify domain” and you should find the reason. Here’s an example of what an error looks like:
If your store has already been successfully verified before logging was enabled, you may not see any logs similar to the above. If this is the case, come back in a few hours and try these steps again.
To see the Apple Pay buttons on your store, you must be viewing your site from a supported Apple device, browser and have a valid card in your Apple wallet.
To accept payments with Google Pay, make sure that digital wallets are enabled in your Square settings (WooCommerce > Settings > Payments > Square).
For customers on Android devices, the Google Pay app must be installed.
For computer/desktop users, you must have a supported payment method available on your google account. Visit https://pay.google.com/ to add or edit your payment methods on your account.
When Square’s digital wallets are available to your store (US,UK or CA) you’ll see the following options in your gateway settings:
Button Type – Changes the button text on the Apple Pay button.
Apple/Google Pay Button Color – Changes the color of the Apple Pay and Google Pay buttons separately.
Apple Pay button color options are:
Google Pay button color options are:
When choosing a button color or customizing the buttons with custom CSS, please make sure to follow the Apple Pay and Google Pay brand guidelines.
Hide Digital Wallet Buttons – Allows you to remove the Apple Pay or Google Pay buttons from being displayed.
You and your customers can take advantage of the following features when your site uses WooCommerce Square.
If the gateway’s Transaction Type setting is set to “Authorization”, you can manually capture these payments from the WooCommerce > Orders page.
You can process refunds directly in WooCommerce without going through your Square account.
You can void transactions directly in WooCommerce in the following circumstances:
We recommend voiding / revoking authorizations within WooCommerce for WooCommerce orders rather than revoking an authorization in Square. Otherwise, WooCommerce will continue to consider this transaction as valid for capture.
If a transaction can no longer be voided, you should refund the order instead.
Square supports an enhanced checkout form to improve your customers’ checkout experience on both desktop and mobile devices.
When enabled in the payment gateway settings, customers can save payment methods during checkout or from the My Account area, which supports quicker checkouts and the use of plugins like Subscriptions and Pre-Orders.
When enabled in the payment gateway settings, Square will attempt to provide a more detailed “payment declined” message to help your customers understand why the transaction was declined.
When enabled in the payment gateway settings, you can manually add or update the payment method tokens on your site to resolve any synchronization issues.
When importing items from Square to WooCommerce, your items must match a couple of criteria:
While WooCommerce lets you set multiple categories and sub-categories, Square only accepts one category per product. Because of this limitation, if WooCommerce is your system of record, only the first or parent category will be sent to Square.
Yes. Apple Pay and Google Pay support has been added in version 2.3.0 with Square digital wallets.
Yes. By customizing the wc_square_sync_interval
filter, you can change the automatic sync frequency. This value is stored in seconds, and the default is one hour (which is recommended for most sites, especially those with large product catalogs). Here’s a sample of how you can change the sync interval:
// sync every 15 minutes instead of every hour add_filter( 'wc_square_sync_interval', function( $interval ) { return 15 * MINUTE_IN_SECONDS; } );
In addition to that, you need to access WooCommerce > Status > Scheduled Actions, search for wc_square_sync
and then cancel the scheduled action for the same:
Finally, cross-check and confirm that wc_square_sync
recurring interval reflects the updated wc_square_sync_interval
Unlike WooCommerce, Square does not support multiple attributes. If you would like to sync multiple attributes from WooCommerce to Square, consider combining attributes into one product variation – for example, instead of a “color” attribute and a “size” attribute (e.g. black or blue and small or large), combine the two in your product variations (e.g. black-small, black-large, blue-small, blue-large).
When Square is the system of record, product images are only imported for synced products that do not already have a featured image in place. If you would like to use the Square images in WooCommerce, remove the existing product image from WooCommerce before syncing.
If a Square product is missing from WooCommerce, check to confirm that the missing product is listed under the same Square Location as defined in the plugin settings.
To update the stock for a product when WooCommerce is the system of record, first click on Fetch stock from Square link below the Stock Quantity field.
Yes! If you enable Customer Profiles in the gateway settings, the WooCommerce Square gateway is compatible with Subscriptions and Pre-Orders.
Before this is done, you will see this warning notice Square is inactive for subscription transactions. Please enable tokenization to activate Square for Subscriptions. Tokenization refers to enabling the Customer Profiles option.
WooCommerce Square does not support tax-inclusive pricing. Please ensure that your Square tax rates match your WooCommerce tax rates. If you have set your site to use tax-inclusive pricing (WooCommerce > Settings > Tax), you will see a notification when editing products to this effect.
When Square is the system of record, the base price in Square will always be imported as the Regular Price in WooCommerce. However, when WooCommerce is the system of record and there is a Sale Price set for a synced product in WooCommerce, that price will be set as the base price in Square for the matching product.
By default, digital wallets (Apple Pay and Google Pay) will be displayed on all single products pages, the cart page and checkout. To remove them from one or more of these pages, you can use the following snippet:
add_filter( 'wc_square_display_digital_wallet_on_pages', function( $pages ) {
return array(
/* 'product', // Don't show Apple Pay and Google Pay on product pages */
'cart',
'checkout',
);
}, 10, 1 );
This snippet will remove the digital wallets from the product page.
Remove or comment out 'cart',
or 'checkout',
if you wish to remove the buttons from those pages as well.
Unfortunately, sales orders are not synced. Currently, sync only work for Product and Inventory data.
No, the Square Appointments feature is not available in the latest version of our WooCommerce Square plugin.
Not able to connect your site to Square? You must be the owner of the Square account to do so. This integration needs access to much of the data in your Square account, and Square only grants these permissions to owners.
If you get an “Unauthorized” error when attempting to connect with Square, please check with Square if you are the owner of the account you’re connecting to.
If there are problems with the product/inventory sync, please check the following:
Credit card fields are not translating? To translate Square we need to take the .pot language files from wp-content/plugins/woocommerce-square/i18n/languages
and use this to generate 2 new language files. Following that you should end up with language files like the following, replacing the {locale} placeholder with the appropriate one.
woocommerce-square-{locale}.mo
woocommerce-square-{locale}.po
Place the two translation files under /wp-content/languages/plugins/
If you see issues when importing items from Square, please check the following:
If you’re unable to process payments with the Square gateway, please check the following:
Seeing issues with authorizations? Please note the following:
If you’ve enabled Digital Wallets but the Apple Pay button isn’t being displayed, please check the following: