Skip to content
Saleor
Esc
↑↓navigate↵open⌘Jpreview

Schema: Saleor 3.23.43Download SDLUpgrade guides

On this page

checkoutComplete Mutation

Completes the checkout. As a result a new order is created. The mutation allows to create the unpaid order when setting orderSettings.allowUnpaidOrders for given Channel is set to true. When orderSettings.allowUnpaidOrders is set to false, checkout can be completed only when attached Payment/TransactionItems fully cover the checkout’s total. When processing the checkout with Payment, in case of required additional confirmation step like 3D secure, the confirmationNeeded flag will be set to True and no order will be created until payment is confirmed with second call of this mutation.

Triggers the following webhook events:

  • SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid.
  • CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid.
  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.
  • ORDER_CREATED (async): Triggered when order is created.
  • NOTIFY_USER (async): A notification for order placement.
  • NOTIFY_USER (async): A staff notification for order placement.
  • ORDER_UPDATED (async): Triggered when order received the update after placement.
  • ORDER_PAID (async): Triggered when newly created order is paid.
  • ORDER_FULLY_PAID (async): Triggered when newly created order is fully paid.
  • ORDER_CONFIRMED (async): Optionally triggered when newly created order are automatically marked as confirmed.

Applied directives

@webhookEventsInfo(asyncEvents: [ORDER_CREATED, NOTIFY_USER, NOTIFY_USER, ORDER_UPDATED, ORDER_PAID, ORDER_FULLY_PAID, ORDER_CONFIRMED], syncEvents: [SHIPPING_LIST_METHODS_FOR_CHECKOUT, CHECKOUT_FILTER_SHIPPING_METHODS, CHECKOUT_CALCULATE_TAXES])
checkoutComplete(checkoutId: ID, id: ID, metadata: [MetadataInput!], paymentData: JSONString, redirectUrl: String, storeSource: Boolean = false, token: UUID): CheckoutComplete

Returns

CheckoutComplete

Show return type
type CheckoutComplete {
  order: Order
  confirmationNeeded: Boolean!
  confirmationData: JSONString
  checkoutErrors: [CheckoutError!]! @deprecated(reason: "Use `errors` field instead.")
  errors: [CheckoutError!]!
}

Arguments

checkoutId

checkoutId · ID

The ID of the checkout.

id

id · ID

The checkout’s ID.

metadata

metadata · [MetadataInput!]

Fields required to update the checkout metadata. Can be read by any API client authorized to read the object it’s attached to.

Warning: never store sensitive information, including financial data such as credit card details.

paymentData

paymentData · JSONString

Client-side generated data required to finalize the payment.

redirectUrl

redirectUrl · String

URL of a view where users should be redirected to see the order details. URL in RFC 1808 format.

storeSource

storeSource · Boolean

Determines whether to store the payment source for future usage.

Default: false.

token

token · UUID

Checkout token.


Schema: Saleor 3.23.43. Download SDL.

Last updated on April 13, 2026

Was this page helpful?