Square is a popular payment gateway for accepting donations in-person and online. This payment gateway allows you to connect Give to your Square account to accept credit cards online with ease.

In order to accept payments with Square using Give you will need to have an active Square account, the Square Give Add-on, and the Core Give plugin installed and activated.

NOTE: See here for instructions on installing and activating Give Add-ons.

After your Square Add-on is activated, go to “Donations > Settings” and click on the Payment Gateways tab. There you will see the default Payment Gateways (PayPal Standard, Test Payment, and Offline Donations). You should also see Square as an option as well. Click on that menu item to set up Square as an active payment gateway.

If you would like to accept credit cards directly on your website with Square you will need an SSL certificate to secure transactions.

Connecting to Square

In order to begin accepting donations with Square you will first need to connect to the GiveWP Square application. This application allows your website to communicate with the Square API in a secure manner and is required in order to start accepting payments.

Once the plugin is activated you will see a notice display at the top of the Plugins listing screen in WP-admin:

The Square activation banners. One displays the “Connect” button (if not already connected) and the other with links to docs, settings and support.

If you’re not already connected you will also see a “Connect to Square” button displayed on the gateway’s settings page:

The “Connect to Square” button displaying on the Square Settings page.

To connect, click the Connect to Square button. If you are not already logged into Square you will be prompted to login:

The Square log in displays if you are not logged into Square when attempting to connect. Log in to the account you’d like to connect to GiveWP.

Once you’re logged into the account you would like to connect to GiveWP you will see a permissions page.

Click “Accept” to proceed:

Accept the permissions request for GiveWP to securely connect to your Square account.

After you click “Allow” you then be redirected back to your Give’s Square Settings page within WP-admin. The gateway should now show you as connected.

Select a location you wish to associate donations on your website to:

Now that your account is connected and you have the proper location set it’s time to enable the gateway under Settings > Payment Gateways > Enabled Gateways:

Testing Your Square Integration

It’s recommended that you test your gateway integration before going live with your fundraising campaigns. Unfortunately, test payments do not display in the Square dashboard and there are quite a few limitations and to the Square Sandbox. Despite this, you can still test successful and declined transactions to ensure everything is working as expected with accepting donation payments.

The Easiest Way to Test with Square

Due to Square’s API limitations, the easiest way to test once you have connected is to take give out of Test Mode and to attempt to process a donation using an actual credit card. You can set up your donation form with either a $1.00 level or have it custom amount enabled and manually enter an amount $1.00 or higher. After you process you can then test the refund process to get your initial test amount back.

Note: Square has a minimum transaction amount of $1.00 for credit card donations.

Processing Refunds

The Square integration with Give allows you to process refunds directly on the Donation Details screen. To process a refund, change the donation status from “Complete” to “Refunded”. When you do this, you will see a new “Refund charge in Square” checkbox appear:

refund square charge
Checking the “Refund charge in Square” option will automatically refund the charge to the donor at the Square gateway.

When you select this option the charge will be refunded at the payment gateway:

A refunded donation from Give on your website will have a note describing where the refund was initiated.

Note: If you refund a donation at Square you will have to update the donation’s status manually within Give on your website.

Connecting to Square with the API

In addition to the “Connect to Square” button, you can also use the Square API to connect Square to your website directly. Some users find this to be useful if the Square consistently breaks for them.

Creating the App

Go to https://developer.squareup.com/apps and click Create Your First Application.

User “Give Integration” or something similar as the name. You may want to use the name of your business or the name of the form. Whatever will be most helpful. Agree to the terms and click “Create Application”. Square will go ahead and create your app!

The following page will contain your keys for both testing and production.

Adding Sandbox Keys

In a new tab, open up your WordPress site, and go to Donations > Settings > Advanced > Square. On that page, enable the Square API Keys.

From there, go to Payment Gateways > Square Settings.

Copy and paste the Sandbox Application ID and Sandbox Access Token from your Square page to the corresponding fields on the GiveWP Square settings page.

Adding Production Keys

Now we do the same things, but with the production keys. In your Square screen, toggle orange Sandbox Settings to Production Settings. The keys will change.

Take the Application ID and Personal Access Token from your Square page and copy/paste them to your GiveWP Square settings page – specifically the Live Application ID and Live Access Token fields.

If you see an error that says “Request not authorized” on your donation form, make sure you’ve gone to squareup.com/activate and finished setting up your account.

Some settings for Square are located in the Advanced tab at Donations > Settings > Advanced > Square. This section covers those settings and options.

Advanced Settings Options overview

Square API Keys

Settings Type: Radio buttons
Options: Enabled | Disabled
Default: Disabled

This setting is intended for when you’d like to use your own API keys taken directly from Square, instead of the blue Square Connect button from the Payment Gateways tab.

Square Styles

Settings Type: Text Area
Default Content:  {}

Use these areas to add custom JSON for various Square elements on your websites, such as color, font and more, in order to match the look and feel of your WordPress theme.


Common Questions

The following section provides helpful troubleshooting information should you experience trouble with the add-on or integration.

Common Questions

Unfortunately, our Square add-on does not currently support recurring donations.