For a long time, we only had PayPal and BitPay as payment processors. This Saturday we added Square for processing one-time credit card payments, as Square does not support recurring payments via its API. As a workaround for the lack of recurring payments, customers who want to use Square may either switch to annual billing or prepay using the “Make Payment” button from https://billing.prgmr.com. Adding Square also should have added support for Apple and Google Pay, though we haven’t tested either yet.

Since our experience may be of interest to current and future customers, we’ll describe it below.

Integrating with Square was very easy. We use Blesta as our billing system, which already has support for Square Checkout. Square Checkout is the hosted version of the Square API, where all the credit card processing is done on Square’s own servers. Per our privacy policy we made some local modifications to minimize the amount of data sent to Square, such as not pre-filling the buyer address or email. We also set the merchant_support_email field.

Creating an account with Square was reasonably painless, and we completed signing up with them in a single day. One complication was our accountant wasn’t immediately able to sign in, and we don’t know why. Another complication was that despite disabling transactional emails for our main account, we were receiving an email for each API transaction until we found the list-unsubscribe option in the email. We think this is because our support email is not otherwise associated with the account. It would also be nice if there was a global setting for preventing any non-transactional emails from being sent to customers.

To summarize, we found adding Square as a payment option to be relatively painless, though until they support recurring payments via their API they are not a standalone solution for us.