I realized that we can't throw synchronously, because updateWith takes a promise for PaymentDetails, instead of taking a PaymentDetails directly. So we won't have the data available synchronously, in time to throw.
We could still reject the show() promise though as the way of signaling errors. The current spec will ignore any bad data, performing a partial update for any good data that is present, and then always fulfill the show() promise. We could change that to reject the show() promise (and not do any update) if any of the data is bad.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/browser-payment-api/pull/418#issuecomment-281465229