[WooCommerce] Square Payments
Required for this integration:
- Valid SSL installed for your site
- Square account
- Square for WooCommerce plugin and a working Square credit card form at checkout: download and view documentation here
- Working checkout able to process and save Square payment methods
Supported Features
- Tokenization - This gateway tokenizes payment methods in a way that allows Autoship Cloud's hosted service, QPilot to create and pay for recurring orders automatically.
Unsupported Features
- "Authorize Only" transactions
- Digital Wallet Express Checkout (Apple / Google Pay)
Enable Customer Profiles
In WooCommerce > Settings >> Payments >> Manage (Square) check the box for "Customers Profiles". This setting allows the customer's payment to be tokenized and saved to the Scheduled Order. If this option is not selected then your Scheduled Orders will be missing payment methods (error 1004).
Setting up Square payments with Autoship Cloud (Test Mode)
Once you have ensured that the payment gateway can successfully process an order via checkout and save a payment method in your store, you are ready to add Square as a payment integration in Autoship Cloud.
To do this, navigate in your WordPress Admin to WP-Admin > Autoship Cloud > Payment Integrations. Once there, select the "Add" button (blue circle with the "+" sign in it) to add a new payment integration.
Make sure that "Test Mode" is enabled (unless you are ready to begin using the gateway in Live mode), select the "Payment Method Type" dropdown, and then select "Square", enter the same Sandbox Access Token that you used to configure the plugin in your WooCommerce Settings and the Location Id which can be found under the "Locations" menu inside your Square app (make sure you have your app in sandbox mode to get the correct Location Id). When you're done, select "CREATE".
You should now see a new Square payment integration in your Payment Integrations list.
Placing a Test Square Order as a Test Customer
Before using a payment gateway in Live Mode, it is necessary to ensure that it works in Test Mode (sometimes referred to as the "sandbox"). You will be able to place a test order on your site by adding at least 1 product scheduled for Autoship to your cart and selecting Square as your payment method at checkout.
Use a Square test card number to test placing an order as a customer via Square and save the Square payment method as your payment method for Scheduled Orders.
Placing your test order via Square:
1. Visit your store as a customer (make sure you are logged out of the WordPress Admin)
2. Add at least 1 item scheduled for Autoship to your Cart.
3. Complete a checkout using Square as the payment method (test card numbers linked above)
4. Verify that the order has successfully processed
5. As the same customer, visit My Account > Scheduled Orders and verify that you have created a Scheduled Order, and that the products, schedule frequency, and payment method attached to the Scheduled Order are correct
6. Log back into your site as an administrator, navigate to WP-Admin > Autoship Cloud > Scheduled Orders, and verify that the newly created Scheduled Order is present in your list of Scheduled Orders with the Square payment method used at checkout attached
Going Live
To do this, navigate (in your WP-Admin) to WooCommerce > Settings > Payments > Square and toggle off "Enable Sandbox Mode" and select "Save Changes". You will then see the button "Connect With Square" display, select the button and follow the steps to connect your WooCommerce store to Square.
You will then go back to your Square Developer account and select the connected app. Be sure it is set to "Production" (at the top of the page), then copy the Production Access Token from the "Credentials" menu and your Location Id from the "Locations" menu. Go to WP-Admin > Autoship Cloud > Payment Integrations and edit your Square integration, paste the credentials in their fields, then toggle off "Test Mode".
You are now ready to test Checkout and Scheduled Orders with Autoship Cloud.
Additional Resources
Customer updated their saved payment method's billing address?
When a customer updates their billing address on payment methods saved to Square, it is recommended they create a new payment method in My Account > Payment Methods after updating their Billing Address in My Account > Addresses.
You can learn more about this process here: How Customers Update Their Billing Address