The api’s have Catalog, Orders, Payments, but no Carts?
Without EBT support we’re trying to workaround it. We could use a 3rd party EBT checkout pad. We already have Register and use that for scanning/checkout. You can save a cart on Register.
If we could assemble items into a cart by the API and then save it to a cart, we could integrate with Amazon’s smart carts that you push around the store and they have cameras to scan anything you put in them. They use the saved carts feature in other POS’ to push the cart to them, so for checkout at a cashier they can pull up your cart and you pay right there.
Could do the same with a simple app to scan items at a kiosk and then push it to a cart to Terminal API or elsewhere. But we really, really don’t want to reimplement any logic of discounts, tax, etc calculation. That cart logic is really valuable to be in Square.
Or, our most immediate problem: EBT. I think with a Cart API it could be solved.
It would be great to split some items off onto another cart to then use “other tender” for instance if they are EBT. There isn’t a full EBT solution with Square but we are pretty far in Square for everything else. This is the key w/ EBT - merchants/owners are personally liable for (employee/other) EBT fraud/theft, so we need the POS to decide what is eligible.
Imagine:
- We could use Square Retail on Register but when the buyer says “can I pay with EBT?”
- The cashier says “sure thing!” and saves the current cart by clicking in Register.
- Then tap a button on an adjacent iPad in an app we build to ListSavedCarts() and click the one just saved. Then our app could look through the items and read a custom attribute we set “isEbtElible” and if true, and move those items to another saved cart.
- Then on the Register the clerk could open the 2 carts and take the EBT via a sidecar reader (saying “other tender” or something in square), and then run up the other non-EBT cart with a credit card in Square.
The Carts API could basically be the Orders API, just Square calculates everything. We would post an update to it e.g. adding an item, and the response would include potentially added taxes/discounts/etc. And a saved cart you could look at and remove items, adding them to a new cart. Super simple!