diff --git a/index.html b/index.html index e2f5926..5f06879 100644 --- a/index.html +++ b/index.html @@ -119,23 +119,22 @@

requests from E-Commerce Web sites and applications.

- A payment app is a Web application that manages payment - requests on behalf of the user by supporting one or more payment - methods. To enable a Web application to handle payment requests, this - specification defines: + A payment app is a Web application that can handle payment + requests on behalf of the user. This specification defines a number of + new Web platform features to handle payment requests:

@@ -335,18 +334,6 @@

Overview of Handling Payment Requests

-

- A Payment Handler is a function registered by the user with - the user agent to handle PaymentRequestEvents. -

-

- Issue - 97. The distinction between Payment Handler and Payment Manager is - not clear. There is a proposal to remove the phrase Payment Manager - from the spec, renaming the "PaymentManager" interface the - "PaymentHandler" interface. -

In this document we envision the following flow:

@@ -362,13 +349,11 @@

"PaymentManager.instruments">instruments and wallets. -
  • Payment apps make use of service workers, starting with - registration of their capabilities with the user agent. A service - worker registration has zero or one payment handler. However, an - origin may implement a payment app with more than one service worker - registration. +
  • + Payment handlers are defined in service worker code.
  • -
  • Registration associates with each payment handler: +
  • During service worker registration, the PaymentManager is + used to set:

    - Issue - 116: The second bullet above may be deleted based on + The second bullet above may be deleted based on PR API issue 481.

    @@ -1159,18 +1170,15 @@

    the list.

  • -

    - Issue - 74: The Working Group has discussed two types of merchant - preferences related to payment apps: (1) highlighting - merchant-preferred payment apps already registered by the user and - (2) recommending payment apps not yet registered by the user. The - current draft of the specification does not address either point, and - the Working Group is seeking feedback on the importance of these use - cases. Note that for the second capability, merchants can recommend - payment apps through other mechanisms such as links from their web - sites. +

    + The Working Group has discussed two types of merchant preferences + related to payment apps: (1) highlighting merchant-preferred payment + apps already registered by the user and (2) recommending payment apps + not yet registered by the user. The current draft of the + specification does not address either point, and the Working Group is + seeking feedback on the importance of these use cases. Note that for + the second capability, merchants can recommend payment apps through + other mechanisms such as links from their web sites.

    @@ -1179,7 +1187,7 @@

    The user agent MUST enable the user to - select any displayed Instrument. + select any displayed instrument.

    -

    - Issue - 98. There has been pushback to always requiring display of - instruments (e.g., on a mobile devices). User agents can - incrementally show instruments. Or user agents can return an empty - Instrument ID and it becomes the payment app's responsibility to - display instruments to the user. +

    + There has been push-back to always requiring display of instruments + (e.g., on a mobile devices). User agents can incrementally show + instruments. Or user agents can return an empty Instrument ID and it + becomes the payment app's responsibility to display instruments to + the user.

    @@ -1224,12 +1230,12 @@

    - A Wallet is a grouping of Instruments for display + A Wallet is a grouping of instruments for display purposes.

    To enable developers to build payment apps in a variety of ways, we - decouple the registration (and subsequent display) of Instruments + decouple the registration (and subsequent display) of instruments from how payment handlers respond to a PaymentRequestEvent. However, the user agent is responsible for communicating the user's selection in the event. @@ -1246,16 +1252,13 @@

    eliminating an extra click (first open the payment app then select the Instrument).

    -

    - Issue - 98. Should we require that, if displayed, individual Instruments - must be selectable? Or should we allow flexibility that Instruments - may be displayed, but selecting any one invokes all registered - payment handlers? One idea that has been suggested: the user agent - (e.g., on a mobile device) could first display the app-level - icon/logo. Upon selection, the user agent could display the - Instruments in a submenu. +

    + Should we require that, if displayed, individual instruments must be + selectable? Or should we allow flexibility that instruments may be + displayed, but selecting any one invokes all registered payment + handlers? One idea that has been suggested: the user agent (e.g., on + a mobile device) could first display the app-level icon/logo. Upon + selection, the user agent could display the Instruments in a submenu.

    @@ -1270,11 +1273,10 @@

    [[!PAYMENT-REQUEST-API]].

    - Issue - 117: Payment Request API supports delegation of responsibiliyt to - manage an abort to a payment app. There is a proposal to add a + "Support for Abort() being delegated to Payment Handler" data-number= + "117"> + Payment Request API supports delegation of responsibility to manage an + abort to a payment app. There is a proposal to add a paymentRequestAborted event to the Payment Handler interface. The event will have a respondWith method that takes a boolean parameter indicating if the paymentRequest has been successfully aborted. @@ -1394,11 +1396,11 @@

  • Set registeredMethods to an empty set.
  • For each PaymentInstrument instrument in the - payment handler's PaymentManager.instruments, add all entries in - instrument.enabledMethods to - registeredMethods. + payment handler's PaymentManager.instruments, + add all entries in instrument.enabledMethods to + registeredMethods.
  • Create a new empty Sequence.
  • @@ -1448,11 +1450,11 @@

  • Set registeredMethods to an empty set.
  • For each PaymentInstrument instrument in the - payment handler's PaymentManager.instruments, add all entries in - instrument.enabledMethods to - registeredMethods. + payment handler's PaymentManager.instruments, + add all entries in instrument.enabledMethods to + registeredMethods.
  • Create a new empty Sequence.
  • @@ -1561,20 +1563,17 @@

    PaymentAppResponse when the payment successfully completes.

    -

    - Issue - 123: Should payment apps receive user data stored in the user - agent upon explicit consent from the user? The payment app could - request permission either at installation or when the payment app is - first invoked. +

    + Should payment apps receive user data stored in the user agent upon + explicit consent from the user? The payment app could request + permission either at installation or when the payment app is first + invoked.

    -

    - Issue - 119: For DOM events compatibility, need to add a constructor, and - the members of the corresponding dictionary need to match the - attributes of the event. +

    + For DOM events compatibility, need to add a constructor, and the + members of the corresponding dictionary need to match the attributes + of the event.

    @@ -1619,18 +1618,18 @@

    Upon receiving a PaymentRequest by way of PaymentRequest.show() and - subsequent user selection of a payment handler, the user agent - MUST run the following steps: + subsequent user selection of a payment instrument, the user + agent MUST run the following steps:

    1. Let registration be the ServiceWorkerRegistration corresponding to the payment - handler selected by the user. + instrument selected by the user.
    2. If registration is not found, reject the Promise that was created by PaymentRequest.show() with a - DOMException whose value "InvalidStateError" and + DOMException whose value is "InvalidStateError" and terminate these steps.
    3. Invoke the handle functional event algorithm with a @@ -1707,16 +1706,14 @@

      Open Window Algorithm

      -

      - Issue - 115: This algorithm resembles the + This algorithm resembles the Open Window Algorithm in - the Service Workers specification. Should we refer to the Service - Workers specification instead of copying their steps? See also - issue - 97 on the algorithm to open windows. + the Service Workers specification. +

      +

      + Should we refer to the Service Workers specification instead of + copying their steps?

      1. Let event be this PaymentRequestEvent. @@ -1828,11 +1825,8 @@

        })); }); -

        - Issue - 128: The Web Payments Working Group plans to revisit these two - examples. +

        + The Web Payments Working Group plans to revisit these two examples.

        Using the simple scheme described above, a trivial HTML page that is @@ -2051,7 +2045,7 @@

        The Web Payments Working Group is also discussing Payment App authenticity; see the (draft) + "https://w3c.github/webpayments/proposals/Payment-Manifest-Proposal.html"> Payment Method Manifest.