diff --git a/index.html b/index.html index 26237e9b..ff5bd5c6 100644 --- a/index.html +++ b/index.html @@ -1051,8 +1051,8 @@

If detailsPromise was passed, then:
  1. Run the update a PaymentRequest's details - algorithm with detailsPromise and - request. + algorithm with detailsPromise, request, + and null.
  2. Wait for the detailsPromise to settle.

    @@ -1972,6 +1972,7 @@

             dictionary PaymentOptions {
               boolean requestPayerName = false;
    +          boolean requestBillingAddress = false;
               boolean requestPayerEmail = false;
               boolean requestPayerPhone = false;
               boolean requestShipping = false;
    @@ -1984,6 +1985,19 @@ 

    options desired for the payment request.

    +
    + requestBillingAddress member +
    +
    + A boolean that instructs the user agent to get the billing + address associated with a payment method (e.g., the billing + address associated with a credit card). Typically, the user agent + will return the billing address as part of the + PaymentMethodChangeEvent's methodDetails, albeit + possibly with parts of the address redacted for privacy reasons. A + merchant can use this information to, for example, calculate tax in + certain jurisdictions. +
    requestPayerName member
    @@ -4034,9 +4048,16 @@

  3. Set event.[[\waitForUpdate]] to true.
  4. +
  5. Let pmi be null. +
  6. +
  7. If event has a methodName attribute, set + pmi to the + methodName attribute's value. +
  8. Run the update a PaymentRequest's details - algorithm with detailsPromise and - request. + algorithm with detailsPromise, request, + and pmi.
@@ -4589,16 +4610,18 @@

The update a PaymentRequest's details algorithm takes a PaymentDetailsUpdate - detailsPromise and a PaymentRequest - request. The steps are conditional on the - detailsPromise settling. If detailsPromise - never settles then the payment request is blocked. The user agent - SHOULD provide the user with a means to abort a payment request. - Implementations MAY choose to implement a timeout for pending updates - if detailsPromise doesn't settle in a reasonable amount of - time. If an implementation chooses to implement a timeout, they MUST - execute the steps listed below in the "upon rejection" path. Such a - timeout is a fatal error for the payment request. + detailsPromise, a PaymentRequest + request, and pmi that is either a DOMString or + null (a payment method identifier). The steps are conditional + on the detailsPromise settling. If + detailsPromise never settles then the payment request is + blocked. The user agent SHOULD provide the user with a means to abort + a payment request. Implementations MAY choose to implement a timeout + for pending updates if detailsPromise doesn't settle in a + reasonable amount of time. If an implementation chooses to implement + a timeout, they MUST execute the steps listed below in the "upon + rejection" path. Such a timeout is a fatal error for the payment + request.

  1. Set request.[[\updating]] to true. @@ -4780,6 +4803,24 @@

+
  • If the + paymentMethodErrors member is present and + identifier is not null: +
      +
    1. If required by the specification that defines the + pmi, then convert + paymentMethodErrors to an IDL value. +
    2. +
    3. If conversion results in a exception error, + abort the update with error. +
    4. +
    5. The payment handler SHOULD display an error for + each relevant erroneous field of paymentMethodErrors. +
    6. +
    +
  • Update the PaymentRequest using the new details:
    1. If the total