Square Customer Integration w/Custom Fields

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?

Hi @perry4nc welcome to the forums!

Unfortunately the Customers API does not currently return or allow editing of custom fields. This is a common feature request and the team is working on it, but I do not currently have an ETA on when it will be available.

Thanks. I will say it is rather important for organizations like ours. For instance, we are required by North Carolina state law to collect Employer & Occupation when receiving money.