Both `.canMakePayment()` and `.show()` should be sending the method-specific `data` to the payment app, because that can include some important filtering information. For example, `data` for `"basic-card"` payment method includes `supportedNetworks`. If merchant specifies `supportedNetworks: ["jcb"]`, but the only installed payment app is not aware of JCB, then `.canMakePayment()` should resolve with `false` and `.show()` should reject with `NotSupportedError`.
As for modifiers, that should be used for altering the price, which is important when completing a transaction, not when determining whether a transaction can procede. Therefore, modifiers should be sent to the payment app with `.show()`, but not in `.canMakePayment()`.
--
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/issues/346#issuecomment-272906718