Re: [w3c/payment-handler] Ability to set default instrument for given handler (#173)

> Payment handlers know (by instrumentKey) whether the default was shown
or whether the full set was shown. This lets the payment app adjust user flow accordingly
upon selection.

This is not true.

Example:

I install BobPay and have 2 instruments loaded (Blue and Green). I set `BobPay (Blue)` as my default. I want to make a payment and am presented with options. 

Scenario 1: I am presented with `BobPay (Blue)` and `BobPay (Green)` because the browser decides to show both instruments. 

Scenario 2: I am presented with only `BobPay (Blue)` because the browser only shows the default and I have not selected a default.

BobPay want me to have a have a really efficient check-out for Scenario 1, so if I select `BobPay (Blue)` they don't even show me a window they just process the payment using that instrument. 

But, BobPay also want me to be able to use BobPay (Green) and they can't be sure I am always given all the instruments as options. So what do they do? 

In Scenario 2, if I wanted to pay with `BobPay (Green)` there is no way for me to get to that option. I can select `BobPay (Blue)` hoping that when the BobPay handler loads it will give me a chance to specifiy that I want to use the Green instrument but because of the efficiency built into BobPay for scenario 1 we know that won't happen.

When the BobPay handler gets the payment request event it just sees an instrumentKey for `BobPay (Blue)`, it has no idea if I was shown other options. Handlers are forced to either be safe and prompt me to confirm that i want to use `BobPay (Blue)`, be efficient and just use the instrument for which they got the instrumentKey or not allow users to select a default.

-- 
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/payment-handler/issues/173#issuecomment-308143268

Received on Tuesday, 13 June 2017 14:56:02 UTC