Square Payments

Table of Contents Show

Square Payment Processing Features

Use Square's custom online payment form that’s responsive, secure, and PCI compliant. Customers can pay quickly with their favorite payment method, and businesses can rest assured they’ll get paid every time.

Square offers simple, transparent payment pricing with no hidden fees. Sellers only pay processing fees for each transaction.

PCI compliance - Square's online payment APIs facilitate your PCI-DSS compliance. Square takes on the burden of staying compliant, which means no checklists, audits, or assessments required.

Fast deposits - Get your money faster with Square. They deposit funds into your bank account as soon as the next business day.

Dispute management - Square has a dedicated disputes team to deal with the bank for you. Square will ask for the documentation needed and take care of the rest with no additional fees.

Fraud detection - Square uses machine learning to analyze every payment in our ecosystem, and continuously innovate in fraud prevention.

AbleCommerce supports all the standard features of the Square payment gateway.

  • Authorize

  • Authorize Capture (Sale)

  • Capture

  • Void

  • Refund

  • Partial Refund

Square is primarily an American provider.  Amounts will be in USD.

Post-order Processing

All AbleCommerce payment gateway integrations offer full support for post-order processing.  This means that after an order is placed, you can authorize, capture, refund, and void transactions from the AbleCommerce order administration area.

The Square Payments API does not support a capture for less than the original authorized amount. For this reason, the ability to change the capture amount has been removed for payments made with Square.

Some post-order processing features, such as refunds, may require that you enable credit card storage from the Configure > Security > System Settings page.

Part 1: Configure Square Payments with AbleCommerce

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

Step 1 - Obtain a Square Account

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

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 Payments) and click Next.

  5. From the next screen, choose the "Accept payments" option before clicking Next.

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

  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 Payment 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 Payment 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 "Payment".

  3. Find the Square Payments plugin.



    Click the green Install button in the right column.

    NOTE: The Square Payments plugin is only compatible with AbleCommerce version 9.0.10+

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

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

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

  7. Copy the URL given in Step 4) of the on-screen instructions of the "Square Payments 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. Now 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 "Square Payments OAuth 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 "Square Payments OAuth Registration" page.

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

  13. Return to the "Square Payments OAuth Registration" page in AbleCommerce 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 Payment Gateway page and a success message.

  15. In the General Settings section of the Configure Square Payments 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 the connection method between the two applications. This step is required to obtain a Signature Key for the AbleCommerce Square Payment configuration page.

  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 Payments)

  5. For the second URL field, you will need to return to the AbleCommerce Square Payments configuration 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 oauth.authorization.revoked.

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

  11. To complete the configuration within 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 Payments configuration page, and Paste the information into the Signature Key field.

  14. Click the Save button in the admin footer. The basic configuration with Square Payments is now complete.

  15. In the Square Payments Settings section, the Web Payments SDK Production and Sandbox URLs are shown. Do not change this information unless directed by AbleCommerce support.

Before taking payments, confirm a few remaining settings:

  1. Choose the type of Authorization Mode.
    • Authorize: to request authorization without capturing funds at the time of purchase. You can capture authorized transactions through the order admin interface.

    • Authorize & Capture: to capture funds immediately at the time of purchase. You should not use this feature unless you are able to ship goods the same day of the sale.

  1. Debug Mode: When debug mode is enabled, all messages sent to and received from Square Payments are logged. This should only be enabled at the direction of qualified support personnel.

    Default Log File Location: ..\App_Data\Logs\[gatewayname].log

  1. At the bottom of the page, click the Save and Close button to finish.

Part 2: Setting up the Payment Methods

The Square Payments integration has a single payment form for credit or debit cards. This is different than the default payment form in AbleCommerce which requires a customer to select their card type. Overall, the payment experience provided by Square at checkout is easier but you will need to perform some additional changes within AbleCommerce to remove the existing payment methods.

If you will implement Square for debit/credit cards, perform the following steps:

  1. Login to your AbleCommerce Merchant Admin

  2. Using the menu, go to the Configure > Payment > Methods page. You will see a list of payment methods similar to the image below:


    The payment methods highlighted in the above image will be replaced by the Square payment form.

  3. Click the Add Payment Method in the upper-right corner.

  4.  Enter the desired Payment Method Name (e.g. Credit or Debit)

  5. Select "Square Card Payment" for the Instrument Type.

  6. Select "Square" for the Payment Gateway.

  7. If desired, you can select specific groups so that only users in that group can view this payment type.

  8. You should limit the regional zone selection to USA only, as Square does not support international payments.

  9. Allow Subscriptions Payments is not supported at this time.

  10. Click the Save button. This will add the new payment method option.

  11. Next, you will need to delete all the payment methods that are being replaced by Square. (e.g. Visa, Mastercard, American Express, Discover)

  12. If desired, you can assign Google Pay and Apple Pay to the Square payment gateway by editing each of those methods and assigning the "Square" payment gateway.

  13. When finished, you can sort the payment methods so "Credit or Debit" appears before others in the list. The first sort option is the default on the payment page.

  14. The following image is an example of how the above configuration will be presented on the final checkout page:



    *The Apple Pay payment method will only appear for devices that support Apple Pay.

 

NOTE: There may be additional features within your Square account that have not been tested with AbleCommerce.  If you enable unsupported features, you are doing so at your own risk.