diff --git a/index.html b/index.html index f4a886b..d5b3422 100644 --- a/index.html +++ b/index.html @@ -162,7 +162,7 @@
The {{PaymentManager}} is used by payment handlers to manage - their associated instruments as well as supported payment methods. + their associated instruments as well as supported payment methods and + delegations.
+ This method allows a payment handler to asynchronously + declare its supported PaymentDelegation list. +
++ enum PaymentDelegation { + "shippingAddress", + "payerName", + "payerPhone", + "payerEmail" + }; ++
The {{PaymentInstruments}} interface represents a collection of payment instruments, each uniquely identified by an - instrumentKey. The instrumentKey identifier + instrumentKey. The instrumentKey identifier will be passed to the payment handler to indicate the {{PaymentInstrument}} selected by the user, if any.
@@ -743,6 +793,8 @@
The PaymentRequestDetailsUpdate
contains the updated
- total (optionally with modifiers) and possible errors resulting from
- user selection of a payment method.
+ total (optionally with modifiers and shipping options) and possible
+ errors resulting from user selection of a payment method, a shipping
+ address, or a shipping option within a payment handler.
dictionary PaymentRequestDetailsUpdate { DOMString error; PaymentCurrencyAmount total; sequence<PaymentDetailsModifier> modifiers; + sequence<PaymentShippingOption> shippingOptions; object paymentMethodErrors; + AddressErrors shippingAddressErrors; };
A human readable string that explains why the user selected payment - method cannot be used. + method, shipping address or shipping option cannot be used.
- Updated total based on the changed payment method. The total can - change, for example, because the billing address of the payment - method selected by the user changes the Value Added Tax (VAT). + Updated total based on the changed payment method, shipping + address, or shipping option. The total can change, for example, + because the billing address of the payment method selected by the + user changes the Value Added Tax (VAT); Or because the shipping + option/address selected/provided by the user changes the shipping + cost.
- Updated modifiers based on the changed payment method. For example, - if the overall total has increased by €1.00 based on the billing or - shipping address, then the totals specified in each of the - modifiers should also increase by €1.00. + Updated modifiers based on the changed payment method, shipping + address, or shipping option. For example, if the overall total has + increased by €1.00 based on the billing or shipping address, then + the totals specified in each of the modifiers should also increase + by €1.00. +
++ Updated shippingOptions based on the changed shipping address. For + example, it is possible that express shipping is more expensive or + unavailable for the user provided country.
+ Validation errors for the shipping address, if any. +
++ The value of PaymentOptions.requestBillingAddress + in the PaymentRequest. +
++ The value of PaymentOptions in the + PaymentRequest. Available only when shippingAddress and/or + any subset of payer's contact information are requested. +
++ The value of ShippingOptions + in the PaymentDetailsInit dictionary of the corresponding + PaymentRequest.(PaymentDetailsInit inherits + ShippingOptions from PaymentDetailsBase). Available only + when shipping address is requested. +
++ This method is used by the payment handler to get updated payment + details given the shippingAddress. When called, it runs the + change payment details algorithm. +
++ This method is used by the payment handler to get updated payment + details given the shippingOption identifier. When called, it runs + the change payment details algorithm. +
+The topOrigin, paymentRequestOrigin, paymentRequestId, methodData, - total, and modifiers members share their - definitions with those defined for {{PaymentRequestEvent}} + total, modifiers, paymentOptions, + and shippingOptions members share their definitions with + those defined for {{PaymentRequestEvent}}
Then run the following steps in parallel, with @@ -1645,6 +1805,11 @@
+ The user provided payer's name. +
++ The user provided payer's email. +
++ The user provided payer's phone number. +
++ The user provided shipping address. +
++ The identifier of the user selected shipping option. +
++ When this algorithm is invoked with shippingAddress or + shippingOption the user agent MUST run the following + steps: +
+null
.
+