PaymentRequestUpdateEvent: updateWith() method
==============================================

**Secure context:** This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

 The **`updateWith()`** method of the
 `PaymentRequestUpdateEvent` interface updates the details of an existing
 `PaymentRequest`.

Syntax
------


```js
updateWith(details)
```

### Parameters

`details`

An object specifying the changes applied to the payment request:

`displayItems` Optional

An array of objects, each describing one line item for the payment request. These represent the line items on a receipt or invoice, each with the following properties:

`amount`

An object describing the monetary value of the item. This object includes the following fields:

`currency`

A string containing a valid 3-letter ISO 4217 currency identifier (ISO 4217) indicating the currency used for the payment `value`.

`value`

A string containing a valid decimal value representing the mount of currency constituting the payment amount. This string must only contain an optional leading "-" to indicate a negative value, then one or more digits from 0 to 9, and an optional decimal point (".", regardless of locale) followed by at least one more digit. No whitespace is permitted.


`label`

A string specifying a human-readable name or description of the item or service being charged for. This may be displayed to the user by the user agent, depending on the design of the interface.

`pending`

A Boolean value which is `true` if the specified `amount` has not yet been finalized. This can be used to show items such as shipping or tax amounts that depend upon the selection of shipping address, shipping option, or so forth. The user agent may show this information but is not required to do so.


`error` Optional 
Deprecated

Non-standard

A string specifying an error message to present to the user\*.\* When calling `updateWith()`, including `error` in the updated data causes the user agent to display the text as a general error message. For address field-specific errors, use the `shippingAddressErrors` field.

`modifiers` Optional

An `Array` of `PaymentDetailsModifier` objects, whose properties are described in `PaymentRequestEvent.modifiers`.

For example, you can use one to adjust the total payment amount based on the selected payment method ("5% cash discount!").

`shippingAddressErrors` Optional 
Deprecated

Non-standard

An object which includes an error message for each property of the shipping address that could not be validated.

`shippingOptions` Optional 
Deprecated

Non-standard

An array of objects, each describing one available shipping option from which the user may choose.

`total` Optional

An object with the same properties as the objects in `displayItems` providing an updated total for the payment. Make sure this equals the sum of all of the items in `displayItems`. *This is not calculated automatically*. You must update this value yourself anytime the total amount due changes. This lets you have flexibility for how to handle things like tax, discounts, and other adjustments to the total price charged.


### Return value

None (`undefined`).

Specifications
--------------

| Specification |
| --- |
| Payment Request API 1.1 # dom-paymentrequestupdateevent-updatewith |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.