---
title: "Update or cancel order"
method: PATCH
path: "/orders/{order_id}"
tags: ["Payments"]
---

# Update or cancel order

`PATCH /orders/{order_id}`

Update information about an order, ship it, or cancel it. 

**⚠️Note:** 
It is not possible to change the order ID or description after the order has been created. 
Use this request to change the status of BNPL orders to **Shipped**.

## Path parameters

- `order_id` string, required

## Request body

- union
  - object — Cancel an order
    - `status` string, required — The [order status](https://docs.multisafepay.com/docs/payment-statuses/). To cancel the order and its underlying session, set to `cancelled`.
    - `exclude_order` boolean — Sets the outcome of the cancellation. To cancel the order, set to `true`.
  - object — Extend the expiration date of a Klarna payment, e.g. when shipment is late or a sold item is temporarily out of stock.
    - `extend_expiration` boolean, required — To extend the due date of the customer's Klarna payment by 6 weeks, set to `true`. The new expiry date is returned (in `YYYY-MM-DD` format) in the response.
    - `reason` string, required — Your reason to extend the expiration.
  - object
    - `amount` integer — The amount of the partial shipment. For [E-Invoicing](https://docs.multisafepay.com/docs/e-invoicing) orders, if set to a lesser amount than the total order `amount`, this triggers partial capture shipment.
    - `carrier` Carrier — unresolved $ref
    - `invoice_id` InvoiceId — unresolved $ref
    - `invoice_url` string — The URL to the `invoice_id`.
    - `po_number` string — The purchase order number of the shipping company.
    - `reason` string — The reason for partially shipping the order.
    - `ship_date` string, DD/MM/YYYY — The date you shipped the order (recommended).
    - `status` string — The [order status](/https://docs.multisafepay.com/docs/payment-statuses/). To communicate that you have shipped the order, set to `shipped`.
    - `tracktrace_code` TracktraceCode — unresolved $ref
    - `tracktrace_url` string — The track and trace URL provided by the shipping company (recommended).
  - object
    - `carrier` Carrier — unresolved $ref
    - `invoice_id` InvoiceId — unresolved $ref
    - `invoice_url` string — The URL to the `invoice_id`.
    - `po_number` string — The purchase order number of the shipping company.
    - `reason` string — The reason for updating the order.
    - `ship_date` string — The date you shipped the order.
    - `status` string, required — The [order status](/https://docs.multisafepay.com/docs/payment-statuses/). To communicate that you have shipped the order, set to `shipped`.
    - `tracktrace_code` TracktraceCode — unresolved $ref
    - `tracktrace_url` string — The track and trace URL provided by the shipping company.

## Response `200`

Request successful

- union
  - object
    - `success` boolean — Whether the request was successful.
    - `data` Data — unresolved $ref
  - object
    - `success` boolean — Whether the request was successful.
    - `data` Data — unresolved $ref
  - object
    - `success` boolean — Whether the request was successful.
    - `data` object — Information about the partial shipment.
      - `order_id` string — The order ID for this partial shipment. Use to cancel or refund the partial shipment.
      - `transaction_id` Schema — unresolved $ref

## Other responses

- `404` — Error
- `410` — Invalid request

---

[API](https://skmtc.dev/multisafepay/apis/multisafepay-banking-order-api.md) · [All operations](https://skmtc.dev/multisafepay/apis/multisafepay-banking-order-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/multisafepay/multisafepay-banking-order-api/revisions/ce9612e4a307/schema)
