Ok... I've been at this a while now, to say it's been frustrating is to say the least..
I've followed to the tee
I've changed the variable "PRODUCT_ID" to be the "ID" in the Registered Product.
I've Generated a security profile. I've copied the API_KEY to API_KEY.txt, (it's embedding) I've correctly used the MD5 checksum as the key (NOT THE SHA256 as the documentation still states.)
When I attempt to login with amazon following the code example above, it correctly says "We Will provide <PRODUCT_ID> the ability to call alexa on your behalf"
I agree button always results in "We're sorry! An error occurred when we tried to process your request"
I've ensured its the right API (I would get INVALID API exception otherwise)
I've ensured the PRODUCT_ID is the ID (case sensitive!) in the Registered product.. All to no avail.