How to test webhooks with sandbox?

Hello! Currently building out my terminal integration and having some trouble understanding this process!

So I am currently using the sandbox and have authorised my application however the token I received back does not work when I try to create a terminal checkout using it. it states I am not authorised.

When I click on the default test account and copy the access token there then it works? What is causing this issue? I figured this might be an issue with the sandbox just always being auth’d.

Ideally I want to build this whole process out and then just simply swap the urls to the production urls and it should all work in production but that brings me to my next question.
Currently creating a checkout and storing the payment, when the webhook comes back it is always in progress. until it eventually times out and changes to cancelled?

I am using the device code " 9fa747a2-25ff-48ee-b078-04381f7c828f" which the docs state should be successful.

I am sending an amount of $5 AUD. do the docs have the wrong device codes? or why is my payment always staying processing then cancelled.
thank you.