diff --git a/proposals/paymentapps/payment-apps.html b/proposals/paymentapps/payment-apps.html index b6f3a7e..2edc1e2 100644 --- a/proposals/paymentapps/payment-apps.html +++ b/proposals/paymentapps/payment-apps.html @@ -90,12 +90,15 @@

The Payment Request API [[!PAYMENT-REQUEST-API]] provides a standard way to initiate payment requests from Web pages and applications. Browsers implementing that API prompt the user - to select a payment method and authorize payment, after which + to select a way to handle the payment request, after which the browser returns a payment response to the originating site. - The current specification adds payment apps + This specification adds payment apps to this user experience. It defines how users - register payment apps with browsers, how browsers support the display of information matching payment apps, how the user selects on, and how communication takes - place between browsers and selected payment apps to fulfill the requirements of the underlying Payment Request API.

+ register payment apps with browsers, how browsers support the display of + information about payment apps the user can select to handle the + payment request, how the user selects a payment app, and how communication takes + place between browsers and payment apps to fulfill the requirements of the + underlying Payment Request API.

The Web Payments Working Group maintains

Introduction

-

The Web Payments Working Group seeks to streamline checkout to - help reduce "shopping cart abandonment" and make it easier to use +

The Web Payments Working Group seeks to streamline payments on the Web to + help reduce payment "abandonment" and make it easier to use new payment methods on the Web. It has published the Payment Request API [[!PAYMENT-REQUEST-API]] as a standard way to initiate payment requests from Web pages and applications. This specification adds @@ -120,15 +123,15 @@

Introduction

Payment apps may be implemented in a variety of ways: as in-browser applications, native operating system applications, browser extensions, built-in browser components, interface-less Web services, or a combination. This specification does not cover every aspect of communication on every platform.

-

Note: The Web Payments Working Group has used the term "mediator" to refer to the software (here, the browser) that carries out the activities defined in this specification (matching, information display, etc.).

+

The Web Payments Working Group has used the term "mediator" to refer to the software (here, the browser) that carries out the activities defined in this specification (matching, information display, etc.).

Most of the requirements in this specification are for Web browsers (or any other user agent). Some requirements and good practices are for payment apps.

@@ -228,48 +231,80 @@

Dependencies

Definitions

Payment App Implementation Technology

-
browser-based payment app
+
browser-based payment app
a payment app that runs in a browser.
-
headless Web payment app
-
a payment app that has no user interface but communicates using Web technology (such as HTTP).
+
headless Web payment app
+
a payment app that has no user interface.
+ +
native payment app
a payment app built with the operating system default technology stack that uses non-Web technologies.
-

Payment Method Support

-
-
supported payment method
-
a payment method that a user may configure a payment app to use, but for which the user has not provided data. A payment app may support more than one payment method.
-
unsupported payment method
-
a payment method that a user cannot configure a payment app to use. Note that updates to a payment app may cause an unsupported payment method to becomes supported.
-
enabled payment method
-
a payment method that a user has configured a payment app to use.
-
enabled payment instrument
-
the data that the user has provided when configuring the payment app; the nature of the data depends on the payment method (e.g., for legacy card payments, a card number and expiration date). Note: We don't yet know whether we need the term "instrument" in this document. It may suffice to say that the user selected a payment app and we do not need to know what happens in detail. However, if the group chooses to expose the concept of instrument (e.g., so that the browser may display instrument details) we may need this definition and similar ones.
-
- +

+ This specification does not limit the scope of payment apps it realtes to based upon the implementation technology. + If a payment app can be invoked by the browser over the Web then it is in scope of the specification. +

Payment App Status

-
registered payment app
-
a payment app that is "known" to the browser for the purposes of the interactions described in this document. This specification does not limit how registration may take place (e.g., directly with a browser, or with an underlying operating system).
-
unregistered payment app
-
a payment app that is unknown to the browser, either because it has never been registered, or because it has been unregistered.
-
enabled payment app
+
registered payment app
+
a payment app that is "known" to the browser for the purposes of the interactions described in this document. + This specification does not limit how registration could take place + (e.g., directly with a browser, or with an underlying operating system) but does specify a mechanism that all + conformant implementations MUST support.
+
unregistered payment app
+
a payment app that is not known to the browser, either because it has never been registered, or because it has been unregistered.
+
available payment app
a registered payment app with at least one enabled payment method.
+ +
recommended payment app
+
a payment app suggested by the payee or browser to be registered and used to handle a specific payment request.
+

+ The Working Group has not yet agreed that the system should support recommended payment apps. + Inclusion might involve small changes to payment request API.

matching payment app
-
a non-ignored payment app that is either enabled with one enabled payment method accepted by the payee, or recommended with one supported payment method accepted by the payee.
+
an available payment app that has at least one enabled payment method accepted by the payee, or a recommended + payment app with at least one supported payment method accepted by the payee.
selectable payment app
-
a matching payment app for which information has been displayed by the browser to facilitate user selection, but that has not yet been selected. Note: Information about selectable payment apps may be displayed in a variety of modalities, including visual and aural.
+
a matching payment app for which information has been displayed by the browser to facilitate user selection, + but that has not yet been selected. Note: Information about selectable payment apps may be + displayed in a variety of modalities, including visual and aural.
selected payment app
the app selected by the user to make a payment, but not yet invoked.
invoked payment app
the selected payment app that the browser has invoked (executed) and passed payment app input data.
+

Payment Method Support

+
+
supported payment method
+
a payment method that a payment app has been designed to support however, this payment method may or may + not currently be enabled. A payment app may support more than one payment method.
+
unsupported payment method
+
a payment method that can noit be enabled by a payment app. Updates to a payment app may cause an + unsupported payment method to become supported.
+
enabled payment method
+
a payment method that the currently registered payment app is able to handle. The set of enabled payment + methods for a payment app is either the set or a subset of the supported payment methods.
+

+ The difference between supported and enabled payment methods is one of design-time vs runtime consideration. + A Payment App supports all the payment methods it was designed to support however at runtime only a subset + may be enabled due to configuration or other runtime requirements that may not have been met for all + supported payment methods. +

+ +

Payment App Invocation and Response Data

selected payment instrument