Skip to content

Commit f10efb7

Browse files
Revert spec to REC state (#1021)
1 parent b245e27 commit f10efb7

File tree

1 file changed

+39
-48
lines changed

1 file changed

+39
-48
lines changed

index.html

Lines changed: 39 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<head>
44
<meta charset='utf-8'>
55
<title>
6-
Payment Request API 1.1
6+
Payment Request API
77
</title>
88
<script src='https://www.w3.org/Tools/respec/respec-w3c' class=
99
'remove'></script>
1010
<script class='remove'>
1111
var respecConfig = {
12-
shortName: "payment-request-1.1",
12+
shortName: "payment-request",
1313
github: "w3c/payment-request",
1414
specStatus: "ED",
1515
group: "payments",
@@ -74,13 +74,13 @@
7474
},
7575
doJsonLd: true,
7676
xref: "web-platform",
77-
mdn: "payment-request",
77+
mdn: true,
7878
};
7979
</script>
8080
</head>
8181
<body data-cite="payment-method-id">
8282
<h1 id="title">
83-
Payment Request API 1.1
83+
Payment Request API
8484
</h1>
8585
<section id='abstract'>
8686
<p>
@@ -143,13 +143,36 @@ <h3>
143143
Changes since last publication
144144
</h3>
145145
<p>
146-
This version of the specification removes data features from the API,
147-
essentially pushing data details to payment method descriptions. The
148-
complete list of changes, including all editorial changes, is
149-
viewable in the <a href=
150-
"https://github.com/w3c/payment-request/commits/gh-pages">commit
151-
history</a>. Key set of changes are viewable in the <a href=
152-
"#changelog">Changelog</a>.
146+
In September 2022 the Web Payments Working Group published a <a href=
147+
"https://www.w3.org/TR/2022/REC-payment-request-20220908/">Payment
148+
Request Recommendation</a>. Following privacy and
149+
internationalization reviews, the Recommendation excluded <a href=
150+
"https://lists.w3.org/Archives/Public/public-payments-wg/2021Jun/0000.html">
151+
capabilities</a> related to billing and shipping addresses. However,
152+
implementations have continued to support those features
153+
interoperably, and so the Working Group has decided to try to
154+
re-align the specification with implementations, and re-engage the
155+
community on associated issues.
156+
</p>
157+
<p>
158+
This document is a Candidate Recommendation Snapshot based on the
159+
text of the original Recommendation. A subsequent Candidate
160+
Recommendation Draft will add back address capabilities and a small
161+
number of other changes made since publication of the Recommendation.
162+
</p>
163+
<p>
164+
In adding back support for addresses, the group plans to refer to the
165+
address components defined in the <a href=
166+
"https://w3c.github.io/contact-picker/">Contact Picker API</a> rather
167+
than define those components itself. Indeed, the Contact Picker API
168+
is derived from the original definitions found in Payment Request
169+
API, and pulled out of the specification because addresses are useful
170+
on the Web beyond payments.
171+
</p>
172+
<p>
173+
The Working Group would engage in discussion and follow the usual
174+
review process before advancing the specification to Proposed
175+
Recommendation status.
153176
</p>
154177
</section>
155178
</section>
@@ -419,7 +442,7 @@ <h3>
419442
<pre class="example js" title="Constructing a `PaymentRequest`">
420443
async function doPaymentRequest() {
421444
try {
422-
const request = new PaymentRequest(methodData, details, options);
445+
const request = new PaymentRequest(methodData, details);
423446
const response = await request.show();
424447
await validateResponse(response);
425448
} catch (err) {
@@ -459,7 +482,7 @@ <h3>
459482
</p>
460483
<pre class="example js" title="POSTing with `fetch()`">
461484
async function doPaymentRequest() {
462-
const payRequest = new PaymentRequest(methodData, details, options);
485+
const payRequest = new PaymentRequest(methodData, details);
463486
const payResponse = await payRequest.show();
464487
let result = "";
465488
try {
@@ -823,21 +846,15 @@ <h2>
823846
<li data-tests=
824847
"payment-request-show-method.https.html, show-method-postmessage-manual.https.html">
825848
If the [=relevant global object=] of [=request=] does not have
826-
[=transient activation=], the user agent MAY:
849+
[=transient activation=]:
827850
<ol>
828851
<li>Return [=a promise rejected with=] with a {{"SecurityError"}}
829852
{{DOMException}}.
830853
</li>
831854
</ol>
832-
<p class="note">
833-
This allows the user agent to not require user activation, for
834-
example to support redirect flows where a user activation may not
835-
be present upon redirect. See <a href=
836-
"#user-activation-requirement"></a> for security considerations.
837-
</p>
838855
</li>
839-
<li data-tests="show-consume-activation.https.html">Otherwise,
840-
[=consume user activation=] of the [=relevant global object=].
856+
<li data-tests="show-consume-activation.https.html">[=Consume user
857+
activation=] of the [=relevant global object=].
841858
</li>
842859
<li>Let |document| be |request|'s [=relevant global object=]'s
843860
[=associated `Document`=].
@@ -3283,32 +3300,6 @@ <h2 id="canmakepayment-protections">
32833300
opening multiple windows (tabs or pop-ups).
32843301
</p>
32853302
</section>
3286-
<section>
3287-
<h2 id="user-activation-requirement">
3288-
User activation requirement
3289-
</h2>
3290-
<p>
3291-
If the user agent does not require user activation as part of the
3292-
{{PaymentRequest/show()}} method, some additional security
3293-
mitigations should be considered. Not requiring user activation
3294-
increases the risk of spam and click-jacking attacks, by allowing a
3295-
Payment Request UI to be initiated without the user interacting with
3296-
the page immediately beforehand.
3297-
</p>
3298-
<p>
3299-
In order to mitigate spam, the user agent may decide to enforce a
3300-
user activation requirement after some threshold, for example after
3301-
the user has already been shown a Payment Request UI without a user
3302-
activation on the current page. In order to mitigate click-jacking
3303-
attacks, the user agent may implement a time threshold in which
3304-
clicks are ignored immediately after a dialog is shown.
3305-
</p>
3306-
<p>
3307-
Another relevant mitigation exists in step 6 of
3308-
{{PaymentRequest/show()}}, where the document must be visible in
3309-
order to initiate the user interaction.
3310-
</p>
3311-
</section>
33123303
</section>
33133304
<section class="informative">
33143305
<h2>

0 commit comments

Comments
 (0)