In your documentation you state:
Product components
A complete mobile POS integration solution is comprised of a mobile device, a Square card reader, mobile device logic, and a backend service that uses the Catalog API to get items and services for purchase.
Mobile frontend
A mobile application uses the Point of Sale API to create a charge request, start a transaction, open the POS UI, and parse transaction results. The Point of Sale API takes care of transmitting a payment to Square for crediting to a Square account.
A charge request includes a payment total that can be arbitrary or derived from the unit price of a catalog item or service.
Mobile backend
A mobile application should have a backend process to connect to the product catalog defined for the Square account. The backend provides catalog items and services to the mobile device so that the device can show descriptions and unit prices.
A mobile backend isn’t required if the mobile application doesn’t display the product catalog in a Square account.
This leads me to believe that I have the option to construct a payload based on catalog API data, ie passing some catalog object maybe via IDs, and open the Square POS app from my mobile app to let the user checkout in the Square app based on an array of catalog object IDs?
However, when looking at that integration payload documentation for example on iOS, I don’t see a payload option for leveraging such catalog objects, all I see along these lines would be amount
.
So when the earlier documentation says A charge request includes a payment total that can be arbitrary or derived from the unit price of a catalog item or service.
by derived from
does that just mean I would have to calculate the price based off catalog api requests, and then add that up and then pass that as the amount
? Or is there a more direct way?
While using amount
would work, wouldn’t this mean that downstream of this transaction, such as in data reporting, .etc that Square would not know what was transacted on, even if a catalog was used to create the amount? If that is the case, is there an API based remedy that would not duplicate the transaction?
Just seeking clarification as I’m hoping that I can pass along and leverage catalog items - instead of just an amount number. Or if not, that I can somehow report to Square what was transacted on - especially if that transaction is derived from its own catalog…