I have done 10+ orders through the Checkout Payment Link and I am not receiving webhooks. My site is capable of receiving and processing the webhooks as when I manually trigger them they get received and properly processed.
I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:
If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.
Customers OAuth into my App ID: sandbox-sq0idb-1PXP2GAUHe9Yyqejm1y4bQ and receive an access token like this one that is currently active: ACCESS_TOKEN
Then the customer site owner creates their own App and provides their own personal access token which are used to create the webhooks dynamically for just their site: ACCESS_TOKEN
I can go to my customer store app > Webhooks > Subscriptions and see the dynamically generated webhook subscription. I can then send a test webhook and it includes one of the order_id as the same which is another from one of my previous tests: eA3vssLHKJrv9H0IdJCM3gNqfdcZY
Please never share an access tokens even if it’s sandbox. They are secret. All other values are safe to share. We recommend that you refresh the tokens that were previously provided.
As for why you didn’t see the webhook you created the application on the main developer account and that access token from the PMPro Store Owner App is really associated to the Default test account. That’s why you didn’t get the webhook event.
In order to fully test this particular use case you would need to test with entirely different Square account in sandbox. Also is your app reading other information from the sellers account?
Hope you had a nice holiday - I am back at it again after a break
I am now more confused than ever and I don’t know why this is infinitely more complex than my Stripe integration.
I just want a store owner to be able to accept payments on their own website and get webhook notifications on that same website. What exactly does a store owner need to provide or which info do I need for me to make the proper connections to the API?
I don’t care if we ignore oauth and it requires them to make their own App - we can write simple instructions for that. I feel like I have tried every combination of access keys and no matter what I cannot get the proper information like Locations and receive webhooks after orders.
In order to fully test this particular use case you would need to test with entirely different Square account in sandbox
Are you saying I need to go to developer.squareup.com and use a completely separate email address and create completely separate developer account to test this? I need one developer account for myself as the software maker and then another one as a test store owner?
So I created a whole new developer Square account as a store owner.
I then created a new store, a secondary location for it, and app as the store owner as well.
I then went to the Square Dashboard for this new store.
I then went through the OAuth flow of my integration and connected it to this new test store with my integration saving the returned access token and refresh token.
I use the returned access token to get the locations for the store and this did return my secondary store location in addition to the default one - great!
I also entered the access token of my store owner app into my integration - this seems to be the only access token that allows me to create webhooks and I did so successfully.
I went through the purchase process generating a Payment Link. I do the test payment process and all works. I see the order in the store’s Transaction history.
The webhook never gets sent even though the store is connected to an app which has Webhooks properly setup Why?