---
title: "Complete a Checkout"
method: POST
path: "/v1/checkouts/{order_reference_id}/complete"
tags: ["v1", "Orders"]
---

# Complete a Checkout

`POST /v1/checkouts/{order_reference_id}/complete`

Initiate order payment capture if `merchant_completes` was `true` at Create Checkout.
An example use-case is if users need to return to the merchant's site before finalizing the purchase with Sezzle.
Submit the Complete Checkout request within 30 minutes after the user is redirected to the merchant's site. Failure to do so results in Sezzle canceling the checkout.
The default expiration period for new orders can be extended up to 7 days via the Merchant Dashboard.

## Path parameters

- `order_reference_id` string, required

## Response `200`

Successful Operation

- object
  - `amount_in_cents` number — The order total amount in cents
  - `currency_code` string — The 3 character currency code as defined by ISO 4217
  - `order_description` string — Your description for this order
  - `order_reference_id` string — The checkout or cart ID from the merchant, currently used for tracking only (must contain only alphanumeric characters, dashes (-), and underscores (_))
  - `display_order_reference_id` string
  - `checkout_cancel_url` string — The HTTP request information used to redirect the customer in the case of a cancellation
  - `checkout_complete_url` string — The HTTP request information used to redirect the customer upon completion of the session
  - `customer` object — The customer's basic contact information
    - `first_name` string — The customer's first name
    - `last_name` string — The customer's last name
    - `email` string — The customer's email address
    - `phone` string — The customer's phone number
  - `billing_address` AddressV1
    - `name` string — The name on the address
    - `street` string — The street and number of the address
    - `street2` string — The apt or unit
    - `city` string — The city
    - `state` string — The 2 character state code
    - `postal_code` string — The postal delivery code
    - `country_code` string — The 2 character country code
    - `phone_number` string — The phone number at the delivery location
  - `shipping_address` AddressV1
    - `name` string — The name on the address
    - `street` string — The street and number of the address
    - `street2` string — The apt or unit
    - `city` string — The city
    - `state` string — The 2 character state code
    - `postal_code` string — The postal delivery code
    - `country_code` string — The 2 character country code
    - `phone_number` string — The phone number at the delivery location
  - `items` LineItemBasic[] — The items being purchased
    - `name` string — The name of the item
    - `sku` string — The sku identifier
    - `quantity` integer — The quantity purchased
    - `price` Price
      - `amount_in_cents` integer, required — The amount in cents
      - `currency` string, required — The 3 character currency code as defined by ISO 4217
    - `category_path` string — The category path where the product is located. Use `>` only as the category delimiter, not as part of a product or category name. Example: Camping Gear & Supplies > Tents & Shelters.
  - `discounts` Discount[] — The discounts applied to this order. Must be included in total
    - `name` string — The description of the discount
    - `amount` Price
      - `amount_in_cents` integer, required — The amount in cents
      - `currency` string, required — The 3 character currency code as defined by ISO 4217
  - `tax_amount` Price
    - `amount_in_cents` integer, required — The amount in cents
    - `currency` string, required — The 3 character currency code as defined by ISO 4217
  - `shipping_amount` Price
    - `amount_in_cents` integer, required — The amount in cents
    - `currency` string, required — The 3 character currency code as defined by ISO 4217
  - `merchant_completes` boolean — If your checkout flow requires the user to confirm their checkout on your site after being approved by Sezzle, use `true` to only authorize the payment. If you prefer the checkout be captured immediately, use `false`.

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — The specified resource was not found
- `409` — Conflict
- `422` — Unable to process the request entity

---

[API](https://skmtc.dev/sezzle/apis/sezzle-api-v2.md) · [All operations](https://skmtc.dev/sezzle/apis/sezzle-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sezzle/sezzle-api-v2/revisions/878c32abbb37/schema)
