Hi there!
Trying to understand something. This is on Production.
A client processes an order in Square POS (other tender) and attaches a note.
According to the client all locations are on the same version of POS , and they do payments consistently across all locations, meaning they enter the note in the same place during the checkout/payment flow.
When we retrieve payments via API the note comes in two different places. Some payments have a “note” key, some don’t have a “note” key and the note is in
external_details.source"
Can you please advise on why this might be happening? Thank you!
{
"id": "5axj****",
"created_at": "2024-10-21T18:47:42.036Z",
"updated_at": "2024-10-21T18:47:46.469Z",
"status": "COMPLETED",
"source_type": "EXTERNAL",
"location_id": "L5RM4BFVFYDMS",
"order_id": "Rg4JY3g0TsMTlUMp75HANsRJcA9YY",
"note": "customer note", <---------- NOTE
"external_details": {
"type": "OTHER",
"source": "Other Payment Types"
},
"application_details": {
"square_product": "SQUARE_POS"
}
}
{
"id": "xUsdr****",
"created_at": "2024-10-21T18:46:37.816Z",
"updated_at": "2024-10-21T18:46:39.004Z",
"status": "COMPLETED",
"source_type": "EXTERNAL",
"location_id": "68FKR0V8TQPWQ",
"order_id": "muOXI8nhG8B4Jys9pkIGzHzeV",
"external_details": {
"type": "OTHER",
"source": "customer note" <---------- NOTE
},
"application_details": {
"square_product": "SQUARE_POS"
}
}
I’m checking with the team. I haven’t been able to replicate this. The one difference I noticed was that on device is on iOS 16 and the other is on 17.
Thank you Bryan.
The only difference I noticed is that the response with the “note” in root (first example) also has a key “capabilities”, which is not present in the other payment.
"capabilities": [
"EDIT_AMOUNT_UP",
"EDIT_AMOUNT_DOWN",
"EDIT_TIP_AMOUNT_UP",
"EDIT_TIP_AMOUNT_DOWN"
]
Otherwise, the payloads are pretty much identical
Wondering if this might be related to the user type logged into the POS?
Looking at the logs from the same device. The difference is the “team_member_id”.
This payment has “capabilities” and “note” in a separate key.
"order_id": "Rg4JY3g0TsMTlUMp75HANsRJcA9YY",
"location_id": "L5RM4BFVFYDMS",
....
"note": "customer note",
"capabilities": [
"EDIT_AMOUNT_UP",
"EDIT_AMOUNT_DOWN",
"EDIT_TIP_AMOUNT_UP",
"EDIT_TIP_AMOUNT_DOWN"
],
"external_details": {
"type": "OTHER",
"source": "Other Payment Types"
},
"receipt_number": "5axj",
"device_details": {
"device_id": "DEVICE_INSTALLATION_ID:E8ED4C25-0A3F-42B6-98D6-3E6B55C9819A",
"device_name": "GCJVFNMCHLF9",
"device_installation_id": "E8ED4C25-0A3F-42B6-98D6-3E6B55C9819A"
},
"team_member_id": "88M77M7CPNBAT",
This payment (from today) has no “note”, no “capabilities”, user note is in “external_details->source”.
"order_id": "4bQvWjuydjEQTwT9JrFAXBmeV",
"location_id": "L5RM4BFVFYDMS",
...
"external_details": {
"type": "OTHER",
"source": "customer note"
},
"receipt_number": "5CDC",
"device_details": {
"device_id": "DEVICE_INSTALLATION_ID:E8ED4C25-0A3F-42B6-98D6-3E6B55C9819A",
"device_name": "GCJVFNMCHLF9",
"device_installation_id": "E8ED4C25-0A3F-42B6-98D6-3E6B55C9819A"
},
"team_member_id": "TMGaiu9PQQbAs3hx",
Hi Bryan? Any update?
I’m almost 100% positive this has to do with logged-in user type/permissions
I’ve tested this with the owner permissions and haven’t been able to replicate top level customer note. Are you able to easily replicate this?
Hi Bryan:
They adjusted the permissions of the user that was creating the root-level note and now it comes in external_details.source
from:
“team_member_id”: “88M77M7CPNBAT”
to:
“team_member_id”: “TMGaiu9PQQbAs3hx”,
These IDs look quite different - the original almost looks like a “root-level” object (all caps, and shorter than the new one).
I’m going to ask them to create an order with the original if possible.