@@ -3239,10 +3239,10 @@ <h2>
32393239 </ li >
32403240 < li > Return < var > retryPromise</ var > .
32413241 < p class ="note ">
3242- The < var > retryPromise</ var > will later be resolved or rejected by
3243- either the < a > user accepts the payment request algorithm</ a > or
3244- the < a > user aborts the payment request algorithm</ a > , which are
3245- triggered through interaction with the user interface .
3242+ The < var > retryPromise</ var > will later be resolved by the < a > user
3243+ accepts the payment request algorithm</ a > , or rejected by either
3244+ the < a > user aborts the payment request algorithm</ a > or < a > abort
3245+ the update </ a > .
32463246 </ p >
32473247 </ li >
32483248 </ ol >
@@ -3546,7 +3546,8 @@ <h2>
35463546 </ td >
35473547 < td data-link-for ="PaymentResponse ">
35483548 Is true if the request for payment has completed (i.e.,
3549- < a > complete()</ a > was called), or false otherwise.
3549+ < a > complete()</ a > was called, or there was a fatal error that
3550+ made the response not longer usable), or false otherwise.
35503551 </ td >
35513552 </ tr >
35523553 < tr >
@@ -4218,10 +4219,15 @@ <h2>
42184219 < li > Let < var > response</ var > be
42194220 < var > request</ var > .< a > [[\response]]</ a > .
42204221 </ li >
4221- < li > If < var > response</ var > not null:
4222+ < li > If < var > response</ var > is not null:
42224223 < ol >
4224+ < li > Set < var > response</ var > .< a > [[\complete]]</ a > to true.
4225+ </ li >
4226+ < li > Assert: < var > response</ var > .< a > [[\retryPromise]]</ a > is not
4227+ null.
4228+ </ li >
42234229 < li > Reject < var > response</ var > .< a > [[\retryPromise]]</ a > with
4224- < var > error</ var >
4230+ < var > error</ var > .
42254231 </ li >
42264232 </ ol >
42274233 </ li >
@@ -4546,7 +4552,22 @@ <h2>
45464552 < li > Set < var > request</ var > .< a > [[\state]]</ a > to
45474553 "< a > closed</ a > ".
45484554 </ li >
4549- < li > Reject the promise
4555+ < li > Let < var > response</ var > be
4556+ < var > request</ var > .< a > [[\response]]</ a > .
4557+ </ li >
4558+ < li > If < var > response</ var > is not null, then:
4559+ < ol >
4560+ < li > Set < var > response</ var > .< a > [[\complete]]</ a > to true.
4561+ </ li >
4562+ < li > Assert: < var > response</ var > .< a > [[\retryPromise]]</ a > is
4563+ not null.
4564+ </ li >
4565+ < li > Reject < var > response</ var > .< a > [[\retryPromise]]</ a >
4566+ with < var > exception</ var > .
4567+ </ li >
4568+ </ ol >
4569+ </ li >
4570+ < li > Otherwise, reject
45504571 < var > request</ var > .< a > [[\acceptPromise]]</ a > with
45514572 < var > exception</ var > .
45524573 </ li >
@@ -4560,17 +4581,25 @@ <h2>
45604581 </ section >
45614582 < div class ="note ">
45624583 < p >
4563- < a data-lt ="abort the update "> Aborting the update</ a > is performed
4564- when there is a fatal error updating the payment request, such as
4565- the supplied < var > detailsPromise</ var > rejecting, or its
4566- fulfillment value containing invalid data. This would potentially
4567- leave the payment request in an inconsistent state since the
4568- developer hasn't successfully handled the change event.
4584+ < a > Abort the update</ a > runs when there is a fatal error updating
4585+ the payment request, such as the supplied < var > detailsPromise</ var >
4586+ rejecting, or its fulfillment value containing invalid data. This
4587+ would potentially leave the payment request in an inconsistent
4588+ state since the developer hasn't successfully handled the change
4589+ event.
4590+ </ p >
4591+ < p >
45694592 Consequently, the < a > PaymentRequest</ a > moves to a "< a > closed</ a > "
45704593 state. The error is signaled to the developer through the rejection
45714594 of the < a > [[\acceptPromise]]</ a > , i.e., the promise returned by
45724595 < a data-lt ="PaymentRequest.show "> show()</ a > .
45734596 </ p >
4597+ < p data-link-for ="PaymentResponse ">
4598+ Similarly, < a > abort the update</ a > occurring during < a > retry()</ a >
4599+ causes the < a > [[\retryPromise]]</ a > to reject, and the
4600+ corresponding < a > PaymentRequest</ a > 's < a > [[\complete]]</ a > internal
4601+ slot will be set to true (i.e., it can no longer be used).
4602+ </ p >
45744603 </ div >
45754604 </ section >
45764605 </ section >
0 commit comments