Hello! I've seen numerous posts about this situation with a variety of answers and none of them seem to apply to our situation.
We are implementing Apple Pay on our web site (or at least trying to). We go through the process of having the browser retrieve a session ID from Apple via a call to our server that then gets the session from Apple. But then we pass the session object to completeMerchantValidation and the payment window disappears and triggers a cancel event.
I have double checked that the DNS PTR for the IP our server uses to make the request to Apple matches the domain we have validated with Apple.
The session object we get back from Apple appears to be valid and contains attributes such as merchantSessionIdentifier, merchantIdentifier, signature, etc.
On the iPhone XR I'm testing with, I've tried an Apple ID registered with the sandbox and a test card in the wallet as well as my Apple ID with a real credit card in the wallet. I've switched back and forth between Apple IDs and removed the cards and readded them numerous times. I do have FaceID enabled.
I've tried this with the page coded for Apple Pay JS API and with it coded for the Payment Request API. They both trigger the cancel event when completeMerchantValidation is called.
I've put a zillion debug statements in my code to trace every little step it takes. But now I'm at a dead end.
I even made a purchase via Apple Pay on the Etsy web site just to make sure it wasn't something wrong with the phone itself.
If anyone could please point me in the right directions I'd be very appreciative. Code can be provided if necessary.
Thank you in advance.