Square Subscription Payments

Demo to preview the settings

Square (Common terms)

Getting Started

Square is one of the most affordable and user-friendly payment platforms with simple and transparent fees for businesses with physical and online locations.
App developers can make use of the Square API to securely process payments as well as link seller accounts to easily integrate with pre-built features such as subscriptions, invoicing, inventory, customer profiles and much more.

Create a Square Developer Application

  1. Firstly, create a Square account
  1. Next, follow the Square developer instructions to create an application in the Square developer dashboard.
  1. On the plugin page of your Bubble.io app, enter your personal access tokens and the endpoints for sandbox and production for each plugin you are using.
Square Developer Dashboard
Square Developer Dashboard
Square App Credentials
Square App Credentials
Bubble plugin page example
Bubble plugin page example

Keep the API Version Up to Date

Please note that you will need to keep the API Version of your Square application up to date to avoid errors in our plugins. This can be done within your Square Developer dashboard.
If interested, here are the latesΠ΅ release notes.
Image without caption

General Concepts

Sandbox Environment for Testing

Square offers a developer dashboard and test seller accounts to use as a sandbox environment for testing your app before going live.
Payment card values for testing in your sandbox environment can be found here: https://developer.squareup.com/docs/testing/test-values

Location ID

Even if your business does not have a physical location, at least one business location needs to be defined in the Square Seller Dashboard , this generates a Location Id which is required in some plugin workflow actions.
Your Square account can have multiple business addresses, represented by different Location Id's which means you can process and report on payments for these addresses separately.
Image without caption

Page Cursor

Some actions allow pagination if there are more results returned than the specified limit.
It is possible to view the next 'page' using a text string called a Cursor, which is returned in the previous workflow action and used in a repeat of the same workflow action to give the next page's query results.
Image without caption

App Security/OAuth

Data in workflows

Any data run in a page workflow (client-side) is accessible to the user through their browser, therefore, do not include sensitive information that is not relevant to the current user in your page workflows.

Database Privacy Rules

It's best practice to make use of the database privacy rules to control which information from your database different users can 'use' within your workflows.

OAuth Access Token

❗
Important: It is especially important to only use OAuth Access Tokens or Personal Access Tokens within BACKEND workflows, which run server-side, therefore, the user has no visibility of these actions through their browser.
Only use the Access Token (OAuth) field in the Square plugin workflow actions along with the Square Seller Authorization (OAuth) plugin.

Webhooks

Square Webhooks are subscriptions to events that update data in a Square account. Webhooks POST data state updates on specific events. To detect changes to data, typical APIs would require calls at regular time intervals. Square Webhooks replace regular API calls with instant, real-time notifications to your app.
Webhooks
An index of all the webhooks in the Square APIs

Roadmap

  • Square Orders - create and manipulate orders.
  • Square Invoices - create and manage invoices.
  • Square Inventory & Catalog - manage the catalog and inventory.
  • Loyalty & Gift Cards - manage discounts and loyalty programs.
  • Bookings - create and manage bookings.

Introduction

With minimal set up and no tricky front-end card payment form, Square Subscriptions allows you to easily set up recurring subscription payments with the invoicing and payment handled automatically by Square. You have full control to create and manage subscription plans that charge customers at a set frequency and price as well as the option to configure free trial periods, cancellation dates and payment reminders.
API Reference
Forum: Help - Feedback - Feature Requests
[New Plugin] Square Subscriptions - By Interwebb
Hi All, We’re very excited to announce our latest plugin, Square Subscriptions! The Square Subscriptions plugin enables you to easily generate recurring revenue with automatic regular payments handled by Square. When a customer is subscribed to a Subscription Plan, they will receive an email notification with instructions on how to start paying. You have the options to set up free trials, choose the start date, override the pre-defined pricing and can choose from many payment frequencies such...
[New Plugin] Square Subscriptions - By Interwebb
Plugin Page: Purchase - Ratings
Square Subscription Payments Plugin for Bubble, by Zeroqode
Square Subscription Payments Plugin page on Bubble, by Zeroqode. Add Square Subscription Payments in one click to your app. Bubble lets you build web apps without any code.
Square Subscription Payments Plugin for Bubble, by Zeroqode

Useful Concepts

Subscription Plans

A Subscription Plan needs to be created in the Square Seller dashboard before it can be linked to a Customer to create a Subscription. Please follow these instructions to create a Subscription Plan.
Image without caption

Subscription Billing and Invoices

When a Subscription is created for a customer, that customer is emailed an invoice where they can pay for the Subscription using a Square-hosted invoice payment flow.

Getting Set Up

  1. Create a Subscription Plan in your Square seller dashboard - Instructions.
  1. Use the List Subscription Plans action to get your Plan Id.
  1. Use the Create Subscription action to create a new Subscription for a Customer.
  1. The Customer will be emailed their invoice which will be charged on a scheduled basis, for example, monthly.

Workflow Actions

Create Subscription

Creates a new Subscription for a Customer.

List Subscription Plans

Returns the Plan Ids and Names of your Subscription Plans.

Retrieve Subscription

Returns the details of a Subscription.

Cancel Subscription

Cancels a Subscription at the end of the next billing period.

Update Subscription

Updates a Subscription. Note: once the Cancelled Date has been cleared it cannot be set again.

Search Subscriptions

Searches for Subscriptions linked to a specific Customer and/or Location. If the filters are empty, this action returns all Subscriptions.

Additional Information

Possible Roadmap

  • Manage subscription plans.
  • List subscription events.
  • Swap plans for a subscription.
  • Pause a subscription.
  • Resume a subscription.

Changelogs