From 93c2f5e005352028148dab76d585ceb5417ff241 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcos=20C=C3=A1ceres?=
[Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details, optional PaymentOptions options),
SecureContext, Exposed=Window]
interface PaymentRequest : EventTarget {
- Promise<PaymentResponse> show();
+ Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
Promise<void> abort();
Promise<boolean> canMakePayment();
@@ -824,7 +824,8 @@
- The show() method MUST act as follows:
+ The show(detailsPromise)
method
+ MUST act as follows:
PaymentRequest
's details
+ algorithm with detailsPromise and
+ request.
+
+ Based on how the detailsPromise settles, the
+ update a PaymentRequest
's details
+ algorithm determines how the payment UI behaves. That is,
+ upon rejection of the detailsPromise, the
+ payment request aborts. Otherwise, upon fulfillment
+ detailsPromise, the user agent re-enables the
+ payment request UI and the payment flow can continue.
+
Otherwise, present a user interface to allow the user to interact @@ -3345,9 +3377,9 @@
optional
+ detailsPromise
argument of the show() method was added
+ late in the Candidate Recommendation phase, the working group is
+ treating it "at risk" and considering moving it to a future version
+ of the specification. This is to avoid this version of the
+ specification from being delayed from progressing along the
+ Recommendation Track, in case we can't get two interoperable
+ implementations in a timely manner. However, if it gets interoperably
+ implemented relatively quickly, the feature will remain in this
+ version of the specification.
+