We’ve recently released our first plugin, Square Checkout!
For many of our projects, we found Square to be the most cost-effective payment gateway, however, it wasn’t easily integrated with Bubble. Well, now it is!
How it works
This plugin uses the Square Checkout API to generate a pre-built hosted checkout experience for your users as well as to help you validate payment details and take payments securely.
You have the option to generate your checkout by defining a new item or service within the workflow or you can choose to add an item or service that has already been defined from within your Square inventory in the seller dashboard.
In addition, we’ve included an action that allows you to add more items to the checkout after it has already been generated, much like a shopping basket.
We’re very excited to release this plugin and have many more planned. We hope you like it!
Please comment or private message us if you have any questions, feedback or feature requests.
Do you have any plans for a Square POS plugin? It’s something that I’m in need of.
Yes, we plan to expand the Square capability with Bubble. What features would you like to see developed?
That’s awesome -
We currently use Square Transactions API (deprecated) to attach sales to work tickets created and managed with our in-house bubble-made ERP.
We use Square POS hardware at our store locations. We’d like to:
Create a ticket in our bubble app; add items to the ticket and create a subtotal, sales tax, and total amount due
We’ll use the Square Register iPad at the store’s front counter to pull up the ticket in our bubble app and then create a POS Sale using the POS API. It would create a ticket ad hoc with the items, tax, and total.
We’d take the sale using the POS and then it would bring us back to our bubble app’s ticket page showing the transaction details and marking the ticket as paid in full.
I’ll add it to the backlog - please private message me and we can discuss it in more detail.
NEW RELEASE VERSION 2.0.0
New release incoming, we’ve improved the authentication so that you will not need to add the ‘Bearer’ part of the Access Token.
If anyone is interested, we have now release a Square POS (Point of Sale) plugin.
Square POS (Point of Sale) Plugin | Bubble
Hi! I’m working on a mobile ordering app that integrates with Square… is the visual aspects of this plugin configurable?
Also, if a customer is logged in, can their payment info be saved? (super important for repeat orders)
nvm, i see… it’s just sending order data to square’s online checking link? Is there any way to save card info in bubble?
Unfortunately, with the Square Checkout API you cannot change anything visually or save a users card on file - it’s intended to allow you to easily and securely take a one-time payment for an Order.
We’re developing a plugin using the Square Web Payments SDK which will allow you to save customers and cards on file. I’ll post here when it’s released.
YES! What’s your ETA? i literally just re-planned half my app cuz i can’t find a good square payment option… planning to go with stripe rn (either pay an extra 1% to square for that, or build a whole POS in bubble (not the best option)
Square have updated the Checkout API and so we will be releasing some new (V2) actions to utilise the improved API. The first new action to be released is Square V2 - Create Quick Payment Link.
This action can be used to create a quick and simple checkout without an item/order defined and includes options for allowing tips, accepting Google payments and asking for a shipping address.
We recommend starting to think about using the new V2 actions and will be releasing more soon.
New Shopping Cart Demo
We’ve just added new V2 actions:
Square V2 - Create Order Payment Link
Square V2 - Create New Line Item
Square V2 - Create Catalog Line Item
You can now create a checkout that includes multiple line items, tax, a service charge, and even accepts Google pay and Apple pay.
There are some slight differences to the payment workflow for V2 compared with the V1 actions. Please refer to our documentation and feel free to message us if you have any questions or feedback.
Please have a look at the new V2 actions, you can now save a card on file and change the checkout logo. We will also very soon be releasing a new Square Subscriptions plugin.
We have recently released a new plugin Square Customers, and so you can now link an Order with a customer when creating an Order Payment Link using their Customer Id from the Square Customers plugin.
I am getting this error message when I try to do a quick pay:
Plugin action Square V2 - Create Quick Payment Link error:
TypeError: Cannot read property ‘url’ of undefined at eval (eval at build_function (/var/task/index.js:86:21)
This error usually occurs when there is an issue with authentication or invalid data in the workflow action.
Have you checked the API response in the server logs? Here’s a helpful guide for troubleshooting Welcome - Interwebb Bubble.io Plugins
We were actually having trouble with that… nothing at all showed up in the server logs.
We did eventually figure it out: we had some sandbox data accidentally in the workflow when we were trying to do a production call.
I’m glad you managed to figure it out
For future reference, you need to choose some advanced options in the server logs, sometimes it can take a few seconds for the logs to show so you often need to refresh/search a few times.
Hey @Phill.NullaCode, quick question: Is it possible to use this plugin and allow the customer to set the amount to be paid, rather than creating an item with a pre-determined amount?
I’ve been through your documentation but I can’t seem to find it but I know Square does offer a “donation” type approach to do this through it’s hosted button feature.
This isn’t something native to the Square Checkout if you want something similar the Tipping feature, however, it is easily possible with your Bubble app.
You can use the Create Quick Payment Link to create a new checkout with a dynamically specified amount to be paid.
Within your Bubble app, get the user to enter the amount they want to donate and then create a checkout using the amount they entered as dynamic data in your workflow.
One thing to note is that the Square API accepts amounts in the currencies’ smallest denomination, for example, USD is in Cents so 100 = $1, so if a user enters 1 you will need to convert it to 100.
Hope that helps, any questions let me know.