Hi Team,
I have a few questions regarding Square webhooks:
-
Does the
order.createdwebhook get triggered for orders created through both Square POS and the Orders API? Similarly, doesorder.updatedfire for updates made from both sources? If there are any exceptions, could you clarify them? -
From the documentation, it appears that the
order.createdandorder.updatedwebhook payloads only include order metadata (such asorder_id,version, andstate) and not the complete order details (line items, modifiers, taxes, discounts, etc.). Is the recommended approach to callRetrieveOrderusing theorder_idto obtain the full order contents after receiving the webhook? -
When an order is partially refunded, individual items are refunded, or items are cancelled/returned, which webhook(s) should we rely on (
order.updated,refund.created,refund.updated, or a combination)? -
If an item-level refund or return occurs, how can we determine which specific line items or modifiers were affected? Should we retrieve the latest order and inspect its
returnssection, or is there another recommended approach? -
Is there a reliable way to distinguish between:
- a payment refund,
- an item return/refund, and
- an order/item cancellation,
using webhook events and the subsequent API responses?