---
title: "Updates the order for PayPal Express Checkout"
method: POST
path: "/paypal/updateOrder"
tags: ["Utility"]
---

# Updates the order for PayPal Express Checkout

`POST /paypal/updateOrder`

Updates the order for PayPal Express Checkout. This can be used to update the PayPal lightbox with an updated amount and delivery methods based on the delivery address.

## Headers

- `Idempotency-Key` string

## Request body

- PaypalUpdateOrderRequest
  - `amount` Amount
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
    - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `deliveryAddress` DeliveryAddress
    - `city` string, required — The name of the city. Maximum length: 3000 characters.
    - `country` string, required — The two-character ISO-3166-1 alpha-2 country code. For example, **US**. > If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.
    - `firstName` string
    - `houseNumberOrName` string, required — The number or name of the house. Maximum length: 3000 characters.
    - `lastName` string
    - `postalCode` string, required — A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.
    - `stateOrProvince` string — The two-character ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.
    - `street` string, required — The name of the street. Maximum length: 3000 characters. > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.
  - `deliveryMethods` DeliveryMethod[] — The list of new delivery methods and the cost of each.
    - `amount` Amount
      - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
      - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
    - `description` string — The name of the delivery method as shown to the shopper.
    - `reference` string — The reference of the delivery method.
    - `selected` boolean — If you display the PayPal lightbox with delivery methods, set to **true** for the delivery method that is selected. Only one delivery method can be selected at a time.
    - `type` 'Shipping' — The type of the delivery method.
  - `discountAmount` Amount
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
    - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `paymentData` string — The `paymentData` from the client side. This value changes every time you make a `/paypal/updateOrder` request.
  - `pspReference` string — The original `pspReference` from the `/payments` response.
  - `sessionId` string — The original `sessionId` from the `/sessions` response.
  - `shippingAmount` Amount
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
    - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `taxTotal` TaxTotal
    - `amount` Amount
      - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
      - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).

## Response `200`

OK - the request has succeeded.

- PaypalUpdateOrderResponse
  - `paymentData` string, required — The updated paymentData.
  - `status` 'error' | 'success', required — The status of the request. This indicates whether the order was successfully updated with PayPal.

## Other responses

- `400` — Bad Request - a problem reading or understanding the request.
- `401` — Unauthorized - authentication required.
- `403` — Forbidden - insufficient permissions to process the request.
- `422` — Unprocessable Entity - a request validation error.
- `500` — Internal Server Error - the server could not process the request.

---

[API](https://skmtc.net/adyen/apis/adyen-checkout-api.md) · [All operations](https://skmtc.net/adyen/apis/adyen-checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adyen/adyen-checkout-api/versions/a2d1f411288c/schema)
