I have an App that listens to orders/paid webhook. Merchant informs me that some of his orders/paid are not showing up in the financials I generate for him, based on their source being a third-party App named FarFetch.
He identifies these orders as coming from FarFetch, and being perfect. FarFetch creates orders that he deals with and they are marked as paid. Nothing remarkable here. In other words, they should flow right?
Why do these orders fail to generate the orders/paid webhook? Is it because Shopify only triggers the orders/created webhook on third-party orders?
Is it common to all third-party generated orders to not trigger webhooks? What is the general best explanation of what is happening here?
"orders/paid" event would fire only for payments that are processed directly by Shopify.
The brief explanation from Shopify is that when a third-party App introduces an order, the webhook triggered is orders/created and not orders/paid even if the order is created as paid. The only time an order like that would trigger the orders/paid is if the merchant changes the financial status of the order.
So for my clients, they can simply switch to listening to the orders/created webhook to catch these third-party orders. Of course, for those merchants that need to stick with the orders/paid webhook for myriad reasons, the onus then falls on me to make up for the short-coming in my App, typically by letting the merchant select these third-party orders from their order admin, and offering a link into the App for processing them. An ongoing pain for the merchant, but hey, they chose to inject third-party orders, so it is their technical debt, not mine.