diff --git a/index.html b/index.html index 013e2d6..1962cad 100644 --- a/index.html +++ b/index.html @@ -111,30 +111,29 @@

Dependencies

This specification relies on several other underlying specifications.

URL
-
The terms URL, absolute URL, base URL, URL parser, and URL equivalence are defined by [[!url-1-20141209]] (or the editor's draft).
+
The terms URL, absolute URL, base URL, URL parser, URL equivalence, special scheme, scheme, host, port, path, query, and fragment are defined by [[!url-1-20141209]] (or the editor's draft).
+
+
+ Secure Contexts +
+
+ The term potentially trustworthy URL is defined by the Secure Contexts + specification [[SECURE-CONTEXTS]]. +
+

URLs as Payment Method Identifiers

-

When the party - responsible for a payment method wishes to publish - machine-readable information associated with the payment - method, it does so with a URL. - This URL approach offers at least two benefits: identifier - decentralization and origins as a trust mechanism. - In particular, owners of proprietary payment methods - can use Web servers under their control to publish - security information about authorized payment apps.

-
The Web Payments Working Group is developing a payment method manifest specification for the information a payment method owner would want to publish. Payment method identifiers that are URLs will help user agents locate these manifest files, although the exact mechanism is not yet defined. See the early Payment Manifest Proposal. +

When the party responsible for a payment method wishes to publish machine-readable information associated with the payment method, it does so with a URL. This URL approach offers at least two benefits: identifier decentralization and origins as a trust mechanism. In particular, owners of proprietary payment methods can use Web servers under their control to publish security information about authorized payment apps.

+
The Web Payments Working Group is developing a payment method manifest specification for the information a payment method owner would want to publish. Payment method identifiers that are URLs will help user agents locate these manifest files using a mechanism defined in that specification. Payment Manifest Proposal.
Either in the payment method manifest specification or in separate "good practice" documentation, the Working Group should address issues of server performance for payment method identifiers that are URLs. Furthermore, when parties feel they do not need to publish a manifest, we should explain that a manifest with an explicit machine-readable assertion that "any payment app may implement" is preferable to lack of a manifest.

Syntax

-

When URLs are used for payment method identifiers they MUST - be absolute URLs including only the schema, origin, and path parts. The URL scheme MUST be https. These URLs MUST NOT include query string parameters or fragment identifiers.

-
The Working Group discussed requiring HTTPS at the 20 Sep 2016 face-to-face meeting. However, issue 17 asks if that is over-constraining and we should allow for other URL schemes. See also issue 18 which gives an example of another URL scheme ("ni") that people might want to use to establish subresource integrity (on dereferenced manifest files).
+

When URLs are used for payment method identifiers they MUST be absolute URLs including, at most, a scheme, host, port and path. The URL must be a potentially trustworthy URL as defined in the [[SECURE-CONTEXTS]] specification. Identifier URLs MUST have null query and fragment values.

Matching

@@ -144,8 +143,10 @@

Matching

identifier string.
  • Let urlA be the result from the URL parser when parsing A with no base URL.
  • +
  • If either urlA.query or urlA.fragment are not null terminate the algorithm with a result of no match and discard A from further matching.
  • Let urlB be the result from the URL parser when parsing B with - no base URL
  • + no base URL. +
  • If either urlB.query or urlB.fragment are not null terminate the algorithm with a result of no match and discard B from further matching.
  • The identifiers match if urlA equals urlB using the URL equivalence test (i.e. the test returns true).