Filter Orders by Device

We have a script that calculates tips for our staff. I want to exclude transactions from the overall “tip pool” based on device ID and whether or not the order was taken by a logged in user. Basically we have a main order counter and also a separate bar. The bar has its own bartenders and also a few cocktail staff who run drinks to customers. The cocktail staff have tablets and they log in their sales using the restaurant app, and a their pin. These tips should belong to them alone. Likewise, the bar staff should not be sharing in the main tip tool, and vice versa. Any ideas?


:wave: If you’ve named the device in the settings of the device itself it will be returned in the device_details of the response from the Payments API. You can then total tips by device and distribute appropriately. :slightly_smiling_face:

The API said this was deprecated?? true??

Also…seems like I have to make a new API call for each tender, right??

Last, is there a way to see WHO took the order?? who was logged is the server in Restaurants??

Thanks duder!


Where are you seeing that this is deprecated?

If you call ListPayments you’ll get all the payments the locations you pass in as a parameter and it will return all tender types.

Also if the employee was logged in when taking the payment the payment response will have the team_member_id. :slightly_smiling_face:

I wrote my script with the ORDERS API, and in the response, all I get is a payment reference included in the Tenders section. and when you click on the payments object it returns (after second API call) I thought I saw it say DEPRECATED under device…but I might be tripping…

I think best option is to switch my script to just payments API instead of ORDERS

Sounds good! Often times depending on the information you need you may have to use both which is perfectly fine. :slightly_smiling_face:

On the results returned from the payments API, the device_name field is blank. making it hard to tell which device ID is tied to which register. Yet, when you create a device code, all the devices have names, and when I look at transaction in dashboard, I see devices with names, although sometimes these are non-unique and see to come from the name of the I-pad like “James’ I pad”.

Any clarity on how to get human readable unique device names to return from the payments API??

:wave: With the payments API the device_name is the name of the device configured on the device itself not the device name you configure when making a device in the Dashboard. If you go into the settings of the device and name each unique device that’s what will be returned in the API. :slightly_smiling_face:

Will it return that name for historical payments, or only going forwards??

Only payments going forward. :slightly_smiling_face:

Is there a place to get the device ID off the device? To manually map old payments?

Unfortunately there isn’t a way to map a device ID to map to old payments. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team. :slightly_smiling_face:

I just wanna be able to map them myself. Is there a place in settings where I can see the ID??

Currently, there isn’t a way to map a payment to a device created in the Square Dashboard with our APIs.

Im not asking about using the API. Im talking about physically going to a device, like a Register or I pad, and seeing the device id like I can a mac address. Somewhere in settings, etc.

At this time the device_id isn’t surfaced anywhere on the device itself. In the Reports on the Dashboard you can filter by device to give you the totals. :slightly_smiling_face: