- From: Adrian Hope-Bailie <adrian@hopebailie.com>
- Date: Wed, 16 Sep 2015 17:18:57 +0200
- To: Anders Rundgren <anders.rundgren.net@gmail.com>
- Cc: "public-webpayments-comments@w3.org" <public-webpayments-comments@w3.org>, Web Payments CG <public-webpayments@w3.org>
- Message-ID: <CA+eFz_KNuRYZ_boXM2XqK9h=fk7v2aJbPgBT7dkgDJtq0D=SKg@mail.gmail.com>
On 16 September 2015 at 15:47, Anders Rundgren < anders.rundgren.net@gmail.com> wrote: > On 2015-09-16 15:03, Adrian Hope-Bailie wrote: > >> <snip> >> >> The best example I could find is in the Web Notifications PR >> published >> >> > earlier this month: >> http://www.w3.org/TR/2015/PR-notifications-20150910/#displaying-notifications >> >> I don't understand much of this spec :-( But I doubt it has any >> bearings on invocation of wallets and such. >> >> >> </snip> >> >> To be clear, I am not suggesting that the Web payments API in the >> > > browser would invoke the notifications API on the host platform. > > I see. > > I am drawing attention to a precedent for invocation of a platform >> > > API as a result of a browser API being invoked. > > The difference is that notifications are passive and fairly innocent > (unless you are bombarded by them), while wallets are active, > "full-duplex", > and attractive for various attacks. > I'm not sure that the aspects of the payment we wish to standardize are much more complex notifications. They are a two communication (request/response) but I wouldn't call them "full-duplex". We are proposing a simple request/response pattern where the response from the platform API can be returned to the calling website via either the browser API response or an event (like the pattern used for the "show" event in the notifications rec.). That should be discussed and decided by the WG. In my opinion, any complex interactions that a specific scheme requires should be handled out of band. The goal of this browser API is to reduce friction for users in making a payment and standardise a mechanism for payment data to flow between the payee website and payer wallet service. By doing this we open up the whole ecosystem for innovation in both payee applications and payer wallets which will allow them to address issues such as security unrestrained by the need for changes to a scheme or introduction of new schemes to require massive user adoption. As an example (card-centric but it illustrates the point), if card issuers could magically replace all of the issued cards in the world with a new instrument that was more user friendly for digital payments they would have solved much of this friction and the current security issues already. They can't the world (at least in NA and Europe) is full of consumers with cards and acquirers who accept them. Instead every single card issuer (that I am aware of) is moving to a digital wallet model where the wallet is the digital instrument that can work seamlessly on the Web without user's needing to type in their card number. As an interim measure this wallet is a wrapper for one or more cards but often it also holds or proxies other instruments. I'm sure that long term the card will disappear completely and the wallet will be a stand-alone instrument. Note that for the payee the fact that the wallet is an instrument or is using another that it "holds" may not be known but that doesn't matter as long as there is a *common* instrument that can be used to complete the payment. *Common* means payers and payees need to support it and making this happen for anything new or radically changed is the fundamental issue. The current wallet ecosystem is fragmented and user adoption is very poor. If something is easier to ignore than to use, then it will never gain adoption. What we (the WG) are aiming to do is make digital wallets the first class citizens for payments on the Web but we need to do this in a way that is not too prescriptive so that wallets and schemes can be innovative and also try to be conscious of not creating an ecosystem that gives an unfair advantage to any stakeholder. I.e. If we simply create the API and make it simple enough then the definition of what a wallet is or does will even change over time but the messages between payer and payee will still flow via this same simple API. > > >> What is not clear to me is how this would work for cloud-based wallets. >> > > Perhaps the recommendation would be that the browser allows the user to > > provide a wallet API endpoint (URL) that conforms to our recommendations > > or it will invoke the platform's payment API? > > I think we should do a distinction between Web-wallets like PayPal and > Google Wallet for Android which was (is?) a local wallet using cloud-based > payment credentials. > I agree. In fact the mention of cloud based credentials even cloud's the issue. I see the situation far more simply. 1. The browser API receives a request message which it either POSTs to a user configured endpoint or passes to a platform defined API. 2. The browser receives a response which it passes back to the website either by resolving the promise that was returned by the original API call or by raising an appropriate event. That request response pattern can be used for payment initiation (effectively selection and confirmation of the instrument to be used), payment completion (for push payment when the website requests the wallet to make the payment) and payment notification (for pull payment when the website notifies the wallet that the payment has been completed). > > The security model required by Web wallets won't permit payment instrument > enumeration so they have rather different characteristics compared to any > form of local wallet. > I'm not sure I understand this statement. I see no issue with a message object being POST'ed to a Web wallet's API endpoint? > > Anders > > >> >
Received on Wednesday, 16 September 2015 15:19:26 UTC