diff --git a/index.html b/index.html
index 0b422b29..23c823ff 100644
--- a/index.html
+++ b/index.html
@@ -566,8 +566,33 @@
then throw a TypeError, optionally informing the
developer that at least one payment method is required.
+
Let seenPMIs be an emtpy list.
+
For each paymentMethod of methodData:
+ - Run the steps to
+ validate a payment method identifier with
+ paymentMethod.supportedMethods.
+ If it returns false, then throw a RangeError
+ exception and terminate this algorithm. Optionally, inform
+ the developer that the payment method identifier is
+ invalid.
+
+ - If seenPMIs contains
+ paymentMethod.supportedMethods,
+ continue to the next paymentMethod of
+ methodData (if any). Optionally, inform the
+ developer that paymentMethod.supportedMethods was
+ already seen and paymentMethod will be ignored.
+
+ - Append paymentMethod.supportedMethods to
+ seenPMI.
+
- If the data
member of paymentMethod is missing, let
serializedData be null. Otherwise, let
@@ -2547,9 +2572,21 @@
- Let serializedModifierData be an empty
list.
+ - Let seenPMIs be an empty list.
+
- For each PaymentDetailsModifier
modifier in modifiers:
+ - Run the steps to
+ validate a payment method identifier with
+ modifier.supportedMethods.
+ If it returns false, then abort the update
+ with a RangeError exception. Optional,
+ inform the developer that the payment method
+ identifier is invalid.
+
- If the total member of
modifier is present, then:
@@ -2588,6 +2625,20 @@
exception, then abort the update with that
exception.
+ - If seenPMIs contains
+ modifier.supportedMethods,
+ continue to the next modifier of
+ modifiers (if any). Optionally, inform
+ the developer that
+ modifier.supportedMethods
+ was already seen and modifier will be
+ ignored.
+
+ - Append modifier.supportedMethods
+ to seenPMI.
+
- Add serializedData to
serializedModifierData.