Square Customer Integration w/Custom Fields

304 Views Asked by At

I have set up custom Customer fields in Square for my nonprofit political group that takes donations and sells things. When we are at a live event we can use Square Stand and it is easy to set up a customer and fill in these fields.

The problem is that we also need to collect some of this information online. I quickly found out that it is impossible to set up a Square Checkout page for an item that provides inputs for this info. I started building a custom website (using Umbraco V8) and have developed a custom Surface Controller that will display a form that provides inputs for this custom info. The intent was (on form submission) to use the Square Customer API to create/update a customer in Square, and then use the Checkout API to redirect the user to the pre-filled Square Checkout Page for the item.

The problem seems to be that the Square Customer API seems to not allow the return of custom fields when querying, nor does it seem to allow setting these custom fields when creating or updating a customer. Am I missing something?

I have also thought about going the other way, and creating database tables on my side to hold the master copy of the Customer information. When online, we could simply update this information directly to the SQL Server db. I could set up a web service on my side to add/update Customers when they are added by Square Stand, and set up the web hooks in Square to do this. But again, it appears that the Customer information Square pushes out when utilizing web hooks, does not include custom fields.

Is there some sort of smart solution out there, or does Square just suck!?

1

There are 1 best solutions below

3
On

You can use the inbuilt Umbraco member functionality and APIs to hold data rather than creating a custom solution. Think about GDPR data protection etc... you may not want to hold some data for legal reasons. From the API docs it looks like you can do most things through without Umbraco:

https://developer.squareup.com/reference/square/customers-api