Square Point of Sale

Table of Contents Show

 

Point of Sale, or point of purchase, is where you ring up customers and accept payments. When customers check out online, walk up to your checkout counter, or pick out an item for you stand or booth, they're at the point of sale. A POS system allows your business to accept payments from your physical storefront and your online ecommerce store.

The AbleCommerce - Square Point of Sale integration allows you to bridge the gap between your online store and your physical in-person sales. The Square Point of Sale API lets you accept payments in native and mobile web applications for iOS and Android. The integration include inventory tracking and a catalog sync with support for product price updates, inventory, and more.

The main benefit is that you'll be able to keep your inventory counts accurate. If a sale, return, or restock is made from either Square or AbleCommerce, both systems will automatically reflect the correct inventory amounts.

Additional support for credit or debit card payments, Apple Pay, and Google Pay is available with the new AbleCommerce - Square Payments integration. A secure alternative to storing credit cards and proving PCI compliance. The Square Payments option is included in AbleCommerce version 9.0.10 and higher.

Part 1: Configure Square with AbleCommerce

Before you install the AbleCommerce's Square POS Plugin, you will need to first obtain a Square production account:

Step 1 - Obtain a Square Account

Skip this step if you already have a Square account.

  1. Go to https://squareup.com and create a new account, or login with an existing one.

  2. When creating a new account, choose, at a minimum, Square Point of Sale software.

  3. Next, choose how you will run the business by adding "On-the-go" and "Brick and mortar".

  4. Select what hardware to use for taking payments in-person. The Square Reader is free.

  5. There is optional add-on software for payroll, employees, etc. These are not needed for AbleCommerce.

  6. Finish the account setup steps by providing your business and banking information.  

  7. After the account is created, make sure to download the Square Point of Sale app using the QR code provided.

  8. Continue to the Square Dashboard. Before adding products, continue with the next steps.  

Step 2 - Obtain API keys for Square Oauth

  1. Confirm you are still logged in to your Square Dashboard.  

  2. In a new browser tab, navigate to https://developer.squareup.com

  3. The first step is to create an Application. Use the +Add option to launch the application wizard.

  4. Enter a name for the application. (e.g. AbleCommerce POS) and click Next.

  5. From the next screen, choose the following options before clicking Next:

    1. Accept payments

    2. Manage a product catalog

    3. Adjust inventory

  6. On the Find your audience screen, choose "A company" and click Complete.

  7. From the Developer Dashboard, select Production mode.



    Note: If you wish to begin in Sandbox mode, you can ReAuthorize the Square application after initial configuration and testing.

  8. From the left menu, select OAuth.

  9. There are two pieces of information you will need to install the AbleCommerce Square POS plugin.

    1. Production Application ID

    2. Production Application Secret

    3. The Production Redirect URL will be given to you in the next section, so stay on this page.

Step 3 - Install the Square POS Plugin for AbleCommerce 9

In a new browser window, login to your AbleCommerce merchant admin.

  1. Using the menu, go to the Plugins page.

  2. Use the Filter Plugins option and select the type "Automation".

  3. Find the Square Point of Sale plugin.


    Click the green Install button in the right column.

    NOTE: The Square POS Plugin is only compatible with AbleCommerce version 9.0.10+

  4. When the confirmation popup appears, click the green Yes, install it button.

  5. One the plugin is installed, you will need to configure it.

  6. From the same Plugins page, find Square POS and click the orange Configure button.

  7. Copy the URL given in Step 4) of the on-screen instructions of the "Square POS OAuth Registration page" within AbleCommerce. Reference the screenshot above. The URL will be different than the example as it is generated using your licensed domain name.

  8. Return to the Square Developer > OAuth page from Part 1 - Step 2 above.

  9. In the first field, paste the Production Redirect URL. Again, this will be different from the example screenshot above.

  10. Next, copy the Production Application ID from Square to the Application ID field on the AbleCommerce Square Registration page.

  11. Return to the Square OAuth page. Use the Show link to display the Application secret. Copy the code from Square and enter it into the Application Secret field on the AbleCommerce Square Registration page.

  12. Return to the Square OAuth page and click the Save button before continuing.

  13. Return to the "AbleCommerce Square POS with OAuth Registration" page and confirm the Connection Environment is set to Production.

  14. Click the Authorize button in the admin footer. If everything was entered properly in both configuration pages, you will see the main configuration page within AbleCommerce Square POS page and a success message.

  15. In the General Settings section of the Configure Square POS page, select the Location ID for your business.

IMPORTANT: If you ever need to reconfigure the AbleCommerce Square plugin for a different production account, or to switch between Sandbox and Development modes, then you must ReAuthorize the Square Application using the orange button available under Gateway Mode.

Step 4 - Configure Square with a new Webhook for AbleCommerce

Webhooks are used to enable the different features within Square so they can be used with AbleCommerce. A Webhook is a way to automate changes between the two applications. This step is required for catalog and inventory updates.

  1. Confirm you are still logged in to your Square Developer Dashboard.

  2. From the left menu, go to the Webhooks > Subscriptions page.

  3. Click the Add subscription button.

  4. In the first field, enter a Webhook name. (e.g. AbleCommerce Catalog Updates)

  5. For the second URL field, you will need to return to the AbleCommerce Square POS Plugin page and view the configuration section Webhook Settings.

  6. Copy the URL given in Step 3) of the on-screen instructions. Reference the screenshot above. The URL will be different than the example as it is generated using your licensed domain name.

  7. Return to the Square Add a webhook subscription page, and paste this into the URL field. Again, this will be different from the example screenshot above.

  8. For the API version, select the default.

  9. Below the form, there will be a long list of Events. Scroll down and select the following 3 events:

    1. catalog.version.updated

    2. inventory.count.updated

    3. oauth.authorization.revoked

  10. Click the Save button to finish adding the Webhook.

  11. To complete the configuration with AbleCommerce, click the linked Webhook name. This will expand a window pane on the right.

  12. Find the Signature key section. The information is not shown on screen, so you will need to click the Copy icon.

  13. Return to the AbleCommerce Square POS Configuration page, and Paste the information into the Signature Key field.

  14. Click Save in the admin footer.

Part 2: Sync Square and AbleCommerce Catalog

After the completing Part 1 above, your Square POS integration should be configured. However, the next process that is required for catalog syncing must map products from the AbleCommerce catalog to Square. Reference the Sync Product Data section on the Square POS Configuration page below:

Notice the warning indicating the product mapping is missing. There are two options available. You can manually add products to Square, or you can use the Export function to make this process much easier. Click here to proceed to the Square POS Export instructions.

When finished, return to the AbleCommerce Square POS configuration page here to Sync Product Data.

How to Map Products to Square

The sync process happens in real-time. The ensures that prices and inventory are always kept up-to-date and the same between all your selling channels.

  1. From the admin menu, go to the Data Transfer > Square POS > Settings page.

  2. If you have not yet mapped your products in AbleCommerce to Square, there will be some warning text in the Sync Product Data section.

  3. If this is the case, click the Map Products to Square button in the admin footer now. Depending on the size of the catalog, the process can take a few seconds or several minutes, so please be patient until it completes with a success message.

  4. If the Map Products to Square was successful, the warning should disappear from the page.

  5. There are 6 options for syncing product data. The recommended sync options are pre-selected.


    What this means is that your products in Square and AbleCommerce will be updated regardless of where you change the information. For example, if an item is sold using your online store, then inventory is adjusted in AbleCommerce and in the Square app. Likewise, if a product's price is modified in the Square app, then it will be adjusted in the AbleCommerce store. The syncing is an automated process to make sure items are the same for both your online store and the physical locations where the item can be sold in-person.

A note about product syncing:

Syncing of Product Name and Description is not recommended unless it is done in AbleCommerce first. If a product name is changed in Square and being automatically synced to AbleCommerce, this could lead to issues with products that have been indexed by Google. For example, if the product name changes in AbleCommerce, there are additional options to adjust the URL and create a redirect. For this reason, we recommend only syncing the product data not related to search engines or how it's viewed in your online store. It is up to you if you want to do this. The options are available if you want to.

Adding New Products

If you create new products, you will need to add them to Square and then use the "Map Products to Square" button in the admin footer.

Deleting Products

If you delete products either application, you will need to delete them in both places. It is not necessary to map the products again.