Complete a draft order

Completes a draft order. Using the DraftOrder resource, you can create a draft order and transition it to an order. The following flows are supported: Create a draft order that calculates taxes and totals but accept payment from the customer outside of Shopify. Create a draft order and send an invoice to the customer.

Script shopify Verified

by hugo697 ยท 11/8/2023

The script

Submitted by hugo697 Typescript (fetch-only)
Verified 396 days ago
1
type Shopify = {
2
  token: string;
3
  store_name: string;
4
};
5
/**
6
 * Complete a draft order
7
 * Completes a draft order.  Using the DraftOrder resource, you can create a draft order and transition it to an order.  The following flows are supported:   Create a draft order that calculates taxes and totals but accept payment from the customer outside of Shopify. Create a draft order and send an invoice to the customer.
8
 */
9
export async function main(
10
  auth: Shopify,
11
  api_version: string = "2023-10",
12
  draft_order_id: string
13
) {
14
  const url = new URL(
15
    `https://${auth.store_name}.myshopify.com/admin/api/${api_version}/draft_orders/${draft_order_id}/complete.json`
16
  );
17

18
  const response = await fetch(url, {
19
    method: "PUT",
20
    headers: {
21
      "X-Shopify-Access-Token": auth.token,
22
    },
23
    body: undefined,
24
  });
25
  if (!response.ok) {
26
    const text = await response.text();
27
    throw new Error(`${response.status} ${text}`);
28
  }
29
  return await response.json();
30
}
31