-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Edits regarding ordering based on 7 Dec WG teleconf #242
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good, but could we squish it into a single section and into one paragraph?
I have squished down to 1 section and 2 paras. The second para is the general statement about UX details being left to implementers. |
I have marked this as "Do Not Merge" until discussion on 14 December. |
index.html
Outdated
handlers for selection by the user. User experience details are left to | ||
implementers. | ||
When ordering Payment Handlers, the user agent is expected to honor | ||
user preferences over other preferences. The user agent should allow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The assertion:
The user agent should the user to configure the display of matching payment handlers to
Should be an example, I think.
As in:
For example, user agent could allow the user to configure the display of matching payment handlers to ...
@marcoscaceres, I have added an example taken from the current spec, while endeavoring to keep the text short. |
@marcoscaceres, @ianbjacobs, @rsolomakhin, How about for sentence 2)...From: User agents could offer some manual configuration options, such as as setting a preferred Payment Handler display order for a site, or for all sites. |
Sounds good 👌 |
based on Ken Mealey suggestion
I have updated the proposal based on @kmealey's suggestion; I hope to be able to close this at the 14 December call. Ian |
A couple of observations... this PR would make the spec silent on:
Not defining these expectations about defaults and ordering could result in a developer implementing the spec preferring their organization's payment instruments over others by default and thinking that that is a good idea. It's this sort of "default" behavior that led to the landmark $732M EU fine where the organization knew about their corporate requirements, but whose developers failed to follow through on those requirements - http://www.nytimes.com/2013/03/07/technology/eu-fines-microsoft-over-browser.html Suggested text:
It also may not hurt to mention:
I haven't address item 5 above as I doubt the implementers need to be reminded of that item. Feel free to reword/reformat as the Editor's see fit. |
I believe the specification has always been silent on payment instrument ordering within a payment application. We have endeavored to leave payment app internals up to payment app developers While I agree with this part of one of the proposed sentences: I don't think it is necessary to add to the specification because that's what user agent Regarding this part: Payment Request API does not define a mechanism for merchants to express That is also one reason I do not support adding the algorithm. The algo defines
However:
Therefore, without the "merchant preferences" part the remaining algorithm I don't mind changing this sentence: to: Ian |
A gentle reminder that if participants would like to support another person's position via a "+1" (or react in some other means), please use the Github-provided utilities to do so. These are located in the top-right of each comment box. |
@ianbjacobs wrote:
Yes agreed, but I'm not talking about inside a payment application. I'm talking about when the instrument is displayed to the user. See the diagram in Section 2.2: https://www.w3.org/TR/payment-handler/#structure-of-a-web-payment-app Payment Instruments are registered with the Payment Handler and exposed via the I get the argument that this text may be better placed in the Payment Request API (I don't care where it goes, as long as it goes somewhere). The approach taken in this spec could easily be mirrored in Payment Request.
There are at least 3 ways that I can envision Payment Request API will evolve based on pressure from merchants:
I find it highly unlikely that at least one of these won't happen if the API is successful and therefore it is worth mentioning in the specification regarding the expectations that the group has discussed. Again, maybe the better place to put this text is in Payment Request, and I'm fine with that. The reason the discussion is happening here is because there is text about display ordering in this specification and some of us in the WG believe that pointing these things out to implementers or other readers of the specification is important.
I've just pointed out how this will probably not true now, and even if it is true now, will not hold true over time, possibly even by the time the spec hits REC. Do we know what each browser implementation does with the array of
When expressing an expected order of operations, it helps to be exhaustive so you don't make the reader guess if there are items that were not included because they were obvious to the author.
That assumes that the user agent provides a mechanism to set an automatic configuration for ordering of instruments, or prefers their instruments over usage. Again, I don't think anyone in the group believes that the order should be 1) user agent preferred instruments, 2) usage based instruments, 3) defaults. The group has discussed this. Let's be explicit about the expected order of constituencies. Requesting this is not new territory for W3C... we already have a W3C Priority of Constituencies: https://www.w3.org/TR/html-design-principles/#priority-of-constituencies We should have an equivalent for the Payments work.
Except that then we don't say anything and assume the reader has gone through the same thought process that we have (which they most likely will not have done) and therefore they don't glean the insight that we'd like them to glean by reading the text.
I'll try to reframe the above in a concrete set of changes to the text you have proposed in your PR (which does not address my, and possibly others, concerns): When ordering Payment Handlers and Payment Instruments, the user agent is expected to honor user preferences over other preferences. User agents are expected to permit manual configuration options, such as setting a preferred Payment Handler display order for a site, or for all sites. When determining display preference priorities, implementers are urged to consider user preferences, then usage patterns, then merchant preferences, and finally user agent defaults. User experience details, some of which have regulatory implications and may need corporate counsel review, are left to implementers. |
Hi @msporny, You raise a good point about display order of instruments in the case when user agents display those instruments. (We know that in some cases they will not, but in some cases they might.) I prefer to close this pull request with the consensus language and address language for issue 243 separately (though we might end up editing the text again). I still do not agree that we should mention merchant preferences since we explicitly do not provide for expression of merchant preferences in any specification. If it becomes possible to register People who write software have lots of reasons for legal support, including Summary:
Ian |
-1. This PR currently removes an entire section of the spec and replaces it with two sentences. You're deleting an entire section of the spec that says a lot about display preferences and replacing it with two sentences that do not cover the breadth of what's being removed, nor a number of the concerns that have been raised in this thread. I don't think it's appropriate to merge this PR at this time. Let's hear from others that may have an opinion about this. If I'm the only one concerned about the items I listed above, I'm happy to stand down. As an alternative, I'm happy to have you add "Payment Handler Display Considerations" and put an issue marker in the old Section 4 stating that the entire section will be deleted once we have consensus on "Payment Handler Display Considerations". |
"If it becomes possible" might be at any point with any one of the Payment Method specs or right after we get to REC with PR API. Feels easier to future proof... you could add (if applicable) if it makes you feel more comfortable with the language. It's non-normative, what does it hurt to include it?
Implementing parts of the PR/PH API necessarily require a deeper need for counsel than implementing other parts of the Web Platform such as Canvas, Battery Status, or Page Visibility APIs. |
Hi @msporny, Regarding the legal advice, it might help to follow what the group has already done in Basic Card [1]. The text reads: "Depending on jurisdiction, users of this specification (implementers, merchants, payment processors, etc.) can be subject to PCI DSS or other regulations. Discussion of those considerations are outside the scope of this document. " Those who supported that text wanted specifically to call out PCI DSS since the specification is about card payments. There is no mention of "needing corporate counsel," however. Are there specific rules (analogous to PCI DSS) that you have in mind? Ian |
Hi @msporny, Regarding shrinking the text, I would say in general that's a good goal. The question is: what are we removing? Here is what we are keeping:
Here is what we are removing (starting from section 4 and working downward)
This is the sort of analysis that led the editors to feel comfortable about removing the text. For this reason, I am comfortable with the text that we've come up with and about which there is consensus among @kmealey, @marcoscaceres, and myself. Ian |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to minimizing non-normative text. I don't think the technical specifications are the right place to capture the WG's decision process and discussions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small typo to fix, otherwise all good.
index.html
Outdated
Payment Handler display order for a site, or for all sites. | ||
When ordering payment handlers and payment instruments, the user agent | ||
is expected to honor user preferences over other preferences. User | ||
agents are expected to permit manual configuration options, such as as |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: as as
Thanks @marcoscaceres for the close read. Ian |
I'm fine w/ compromising on: a91db52 @ianbjacobs wrote:
Yes, we could point to regulations such as those set the Robinson–Patman Act of 1936 (Title 15 U.S.C. § 13): https://www.law.cornell.edu/uscode/text/15/13 or in the EU, Articles 101 to 102 of the Treaty on the Functioning of the European Union (TFEU): https://en.wikipedia.org/wiki/Article_101_of_the_Treaty_on_the_Functioning_of_the_European_Union https://en.wikipedia.org/wiki/Article_102_of_the_Treaty_on_the_Functioning_of_the_European_Union ... again, non-normative text and just enough of it to give a heads-up to developers that may not be aware of the landscape. |
@ianbjacobs |
@@ -1921,6 +1818,21 @@ <h2> | |||
</ul> | |||
</section> | |||
</section> | |||
<section id="display"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
class="informative"
is expected to honor user preferences over other preferences. User | ||
agents are expected to permit manual configuration options, such as | ||
setting a preferred payment handler or instrument display order for a | ||
site, or for all sites. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
origins instead of sites
Preview | Diff