I’m an optician and I’m using my own practice management software (PMS) which, one day, I hope to market. I’m using C#/WPF predominantly for the frontend.
I only switched to Square last week and very pleased. We have a Square Register and a Square Terminal. Our current (temporary) workflow is that we take create a transaction on the PMS so that the itemised transaction is linked to the patient record. We then select “card payment” and manually take a “custom amount” payment on one of our Square devices.
I’ve started to write the API code, so that this process can be automated. Ideally, I’d like the following workflow:
PMS Creates Itemised Order using Order API → Receptionist Selects that order on the Terminal / Register and takes payment → Once payment is complete, that order updates in the PMS.
However, I’m aware at the moment that orders do not appear unless they are paid. So it seems like the actual workflow needs to be:
PMS creates transaction locally and gets a final amount → Use Terminal API to create and take payment on a specific device (chosen from within the PMS) → Once transaction is complete, create the itemised order and mark as paid by card.
Does that seem about right? I’ve already created test transactions in the sandbox and that works well. I’m off-site today - using the terminal API to create a transaction on my iPad’s Square Retail app remains as pending but I assume it will work once I’m physically using the square hardware.
Thanks for any pointers,