<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "ApplePayontheWeb",
  "identifier" : "/documentation/ApplePayontheWeb/ApplePaySession/completeShippingMethodSelection",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Apple Pay on the Web"
    ],
    "preciseIdentifier" : "instm/ApplePaySession/completeShippingMethodSelection"
  },
  "title" : "completeShippingMethodSelection"
}
-->

# completeShippingMethodSelection

Completes the selection of a shipping method with an update.

```
undefined completeShippingMethodSelection(
	unsigned short
);
```

## Discussion

This method must be called by [`onshippingmethodselected`](/documentation/ApplePayontheWeb/ApplePaySession/onshippingmethodselected).

For Apple Pay JS API version 3, the parameter is an [`ApplePayShippingMethodUpdate`](/documentation/ApplePayontheWeb/ApplePayShippingMethodUpdate) object.

### completeShippingMethodSelection in Apple Pay JS API version 1 and 2

In Apple Pay JS API version 1 and 2, [`completeShippingMethodSelection`](/documentation/ApplePayontheWeb/ApplePaySession/completeShippingMethodSelection) has the following parameters:

`status`

The status of the shipping method update. For valid values, see <doc://com.apple.documentation/documentation/ApplePayontheWeb/apple-pay-status-codes>. If status is not [`STATUS_SUCCESS`](/documentation/ApplePayontheWeb/ApplePaySession/STATUS_SUCCESS), pass null for the other parameters.

`newTotal`

An [`ApplePayLineItem`](/documentation/ApplePayontheWeb/ApplePayLineItem) dictionary representing the total price for the purchase. Set the label to the merchant’s name, and the amount to the total price. The amount must be greater than zero.

`newLineItems`

A sequence of [`ApplePayLineItem`](/documentation/ApplePayontheWeb/ApplePayLineItem) dictionaries. Use [`ApplePayLineItem`](/documentation/ApplePayontheWeb/ApplePayLineItem) dictionaries to represent all other costs or discounts.

Do not use line items to represent the individual items purchased by the user. Instead, combine all the purchases into a single subtotal item. Use additional line items to represent other costs or discounts (tax, shipping, coupons, and so forth.).

If you do not have any additional costs or discounts, do not use this argument. Set the `newTotal` argument with the total cost of all the purchased items, and either pass an empty array or null for `newLineItems`.

## See Also

[`supportsVersion`](/documentation/ApplePayontheWeb/ApplePaySession/supportsVersion)

Detects whether a web browser supports a particular Apple Pay version.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)