Noting this behavior persists. I have cards added to the wallet, but the demo site does not present Apple Pay. What is going on?
Post
Replies
Boosts
Views
Activity
Where is the code that actually logs "sessionError"? Sounds like your onvalidatemerchant completes without error and your onpaymentauthorized never starts, so what catches and logs that error?
(No, I don't know anything about Braintree, and not a whole lot about Apple Pay. I've just implemented it once myself and have hit some cases where I haven't been able to get help either. So I'm empathetic to others struggling and trying to help out any way I can.)
And your error handler isn't triggered either? And nothing else in the browser console?
(You might want to reformat your post to make the code easier to follow)
Sadly, I don't have any suggestions for you, but I wanted to commiserate that both:
We've seen some similar, unexplained failures
The level of support here has been disappointing
In our experience, many of the AMEX sandbox accounts don't work. Or work sometimes, or for some devices/users, but not for others.
Our payment provider requires different certificates in their production and non-production environments. Which does require two Apple Merchant IDs. (We added a ".test" suffix to our non-production one.)
I can't speak for how other providers would answer this.
For completeness/posterity, also added to StackOverflow:
The annoyingly tiny answer was that the first argument to the PaymentRequest constructor is supposed to be an array.
const request = new PaymentRequest([ applePayMethod ], paymentDetails);
(Or, make the variable an array from the start. The two examples I'd seen used different approaches, I missed the array brackets.)
(Administrator says using a gmail account instead worked fine.)