diff --git a/index.html b/index.html index 77093d67..adba0af0 100644 --- a/index.html +++ b/index.html @@ -387,22 +387,46 @@
TypeError
.
details
contains a value for error
, then throw a
+ If details.total.amount.value
is not a valid decimal monetary value, then throw a
TypeError
.
details.total.amount.value
is U+002D HYPHEN-MINUS, then throw a
TypeError
. total
MUST be a non-negative amount.
details.displayItems
sequence contains any PaymentItem
+ objects with an amount
that is not a valid decimal monetary value, then throw a
+ TypeError
.
+ details.shippingOptions
sequence contains any PaymentShippingOption
+ objects with an amount
that is not a valid decimal monetary value, then throw a
+ TypeError
.
+ details
contains a value for error
, then throw a
+ TypeError
.
+ PaymentMethodData
in methodData
, if the data
field
is supplied but is not a JSON-serializable object, then throw a TypeError
.
PaymentDetailsModifier
in details.modifiers
, if the total
field
+ is supplied and is not a valid decimal monetary value, then throw a TypeError
.
+ PaymentDetailsModifier
in details.modifiers
, if the total
field
is supplied and the first character of total.amount.value
is U+002D HYPHEN-MINUS, then throw a
TypeError
. total
MUST be a non-negative amount.
PaymentDetailsModifier
in details.modifiers
, if the
+ additionalDisplayItems
sequence contains any PaymentItem
+ objects with an amount
that is not a valid decimal monetary value, then throw a
+ TypeError
.
+ PaymentRequest
.methodData
into request@[[\methodData]].
@@ -648,12 +672,18 @@ value
^-?[0-9]+(\.[0-9]+)?$
.
+ The following regular expression is an implementation of the above definition.
+ ^-?[0-9]+(\.[0-9]+)?$
PaymentDetails
dictionary, then:
details
contains a total
value and the first character of
+ If details
contains a total
value and total.amount.value
+ is a valid decimal monetary value and the first character of
total.amount.value
is NOT U+002D HYPHEN-MINUS, then copy
total
value to the total
field of target@[[\details]]
(total
MUST be a non-negative amount).
details
contains a displayItems
value, then copy
- this value to the displayItems
field of target@[[\details]].
+ If details
contains a displayItems
value and every
+ PaymentItem
in the displayItems
has an
+ amount.value
containing a valid decimal monetary value,
+ then copy details.displayItems
to the displayItems
+ field of target@[[\details]].
details
contains a modifiers
value, then copy
- this value to the modifiers
field of target@[[\details]].
+ If details
contains a modifiers
value, then:
+ details.modifiers
.PaymentDetailsModifier
in modifiers, if the
+ total
field is supplied and is not a valid decimal monetary value,
+ then set modifiers to an empty sequence.PaymentDetailsModifier
in modifiers, if the
+ additionalDisplayItems
sequence contains any PaymentItem
+ objects with an amount
that is not a valid decimal monetary value,
+ then set modifiers to an empty sequence.modifiers
field of target@[[\details]].details
contains a shippingOptions
sequence, then:
details.shippingOptions
.details.shippingOptions
sequence contains multiple
+ If the shippingOptions sequence contains multiple
PaymentShippingOption
objects that have the same id
,
- then set the shippingOptions
field of request@[[\details]]
- to an empty sequence.
- Otherwise copy the shippingOptions
sequence from details
to the
- shippingOptions
field of target@[[\details]].
+ then set shippingOptions to the empty sequence.PaymentShippingOption
+ that has an amount.value
that is not a valid decimal monetary value,
+ then set shippingOptions to the empty sequence.shippingOptions
field of
+ target@[[\details]].