Skip to main content

Checkout Object

Checkout object.

type Checkout implements Node, ObjectWithMetadata {
id: ID!
privateMetadata: [MetadataItem!]!
privateMetafield(
key: String!
): String
privateMetafields(
keys: [String!]
): Metadata
metadata: [MetadataItem!]!
metafield(
key: String!
): String
metafields(
keys: [String!]
): Metadata
created: DateTime!
updatedAt: DateTime!
lastChange: DateTime! @deprecated
user: User
channel: Channel!
billingAddress: Address
shippingAddress: Address
customerNote: String!
note: String! @deprecated
discount: Money
discountName: String
translatedDiscountName: String
voucher: Voucher
voucherCode: String
availableShippingMethods: [ShippingMethod!]! @deprecated
shippingMethods: [ShippingMethod!]!
availableCollectionPoints: [Warehouse!]!
availablePaymentGateways: [PaymentGateway!]!
email: String
giftCards: [GiftCard!]!
isShippingRequired: Boolean!
quantity: Int!
stockReservationExpires: DateTime
lines: [CheckoutLine!]!
shippingPrice: TaxedMoney!
delivery: Delivery
shippingMethod: ShippingMethod @deprecated
deliveryMethod: DeliveryMethod @deprecated
subtotalPrice: TaxedMoney!
taxExemption: Boolean!
token: UUID!
totalPrice: TaxedMoney!
totalBalance: Money!
languageCode: LanguageCodeEnum!
transactions: [TransactionItem!]
displayGrossPrices: Boolean!
authorizeStatus: CheckoutAuthorizeStatusEnum!
chargeStatus: CheckoutChargeStatusEnum!
storedPaymentMethods(
amount: PositiveDecimal
): [StoredPaymentMethod!]
problems: [CheckoutProblem!]
}

Fields

id ● ID!

The ID of the checkout.

privateMetadata ● [MetadataItem!]!

List of private metadata items. Requires staff permissions to access.

privateMetafield ● String

A single key from private metadata. Requires staff permissions to access.

Tip: Use GraphQL aliases to fetch multiple keys.

key ● String!

privateMetafields ● Metadata

Private metadata. Requires staff permissions to access. Use keys to control which fields you want to include. The default is to include everything.

keys ● [String!]

metadata ● [MetadataItem!]!

List of public metadata items. Can be accessed without permissions.

metafield ● String

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

key ● String!

metafields ● Metadata

Public metadata. Use keys to control which fields you want to include. The default is to include everything.

keys ● [String!]

created ● DateTime!

The date and time when the checkout was created.

updatedAt ● DateTime!

Time of last modification of the given checkout.

user ● User

The user assigned to the checkout.

Requires one of the following permissions: MANAGE_USERSHANDLE_PAYMENTSOWNER

channel ● Channel!

The channel for which checkout was created.

billingAddress ● Address

The billing address of the checkout.

shippingAddress ● Address

The shipping address of the checkout.

customerNote ● String!

The customer note for the checkout.

Added in Saleor 3.21

discount ● Money

The total discount applied to the checkout. Note: Only discount created via voucher are included in this field.

discountName ● String

The name of voucher assigned to the checkout.

translatedDiscountName ● String

Translation of the discountName field in the language set in Checkout.languageCode field.Note: this field is set automatically when Checkout.languageCode is defined; otherwise it's null

voucher ● Voucher

The voucher assigned to the checkout.

Added in Saleor 3.18
Requires the MANAGE_DISCOUNTSpermission.

voucherCode ● String

The code of voucher assigned to the checkout.

shippingMethods ● [ShippingMethod!]!

Shipping methods that can be used with this checkout.

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.

availableCollectionPoints ● [Warehouse!]!

Collection points that can be used for this order.

availablePaymentGateways ● [PaymentGateway!]!

List of available payment gateways.

Triggers the following webhook events:

  • PAYMENT_LIST_GATEWAYS (sync): Fetch payment gateways available for checkout.

email ● String

Email of a customer.

giftCards ● [GiftCard!]!

List of gift cards associated with this checkout.

isShippingRequired ● Boolean!

Returns True, if checkout requires shipping.

quantity ● Int!

The number of items purchased.

stockReservationExpires ● DateTime

Date when oldest stock reservation for this checkout expires or null if no stock is reserved.

lines ● [CheckoutLine!]!

A list of checkout lines, each containing information about an item in the checkout.

shippingPrice ● TaxedMoney!

The price of the shipping, with all the taxes included. Set to 0 when no delivery method is selected.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

delivery ● Delivery

The delivery method selected for this checkout.

Added in Saleor 3.23 (unreleased)

subtotalPrice ● TaxedMoney!

The price of the checkout before shipping, with taxes included.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

taxExemption ● Boolean!

Returns True if checkout has to be exempt from taxes.

token ● UUID!

The checkout's token.

totalPrice ● TaxedMoney!

The sum of the checkout line prices, with all the taxes,shipping costs, and discounts included.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

totalBalance ● Money!

The difference between the paid and the checkout total amount.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

languageCode ● LanguageCodeEnum!

Checkout language code.

transactions ● [TransactionItem!]

List of transactions for the checkout.

Requires one of the following permissions: MANAGE_CHECKOUTSHANDLE_PAYMENTS

displayGrossPrices ● Boolean!

Determines whether displayed prices should include taxes.

authorizeStatus ● CheckoutAuthorizeStatusEnum!

The authorize status of the checkout.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

chargeStatus ● CheckoutChargeStatusEnum!

The charge status of the checkout.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

storedPaymentMethods ● [StoredPaymentMethod!]

List of user's stored payment methods that can be used in this checkout session. It uses the channel that the checkout was created in. When amount is not provided, checkout.total will be used as a default value.

amount ● PositiveDecimal

Amount that will be used to fetch stored payment methods.

problems ● [CheckoutProblem!]

List of problems with the checkout.

Show deprecated

Interfaces

Node

An object with an ID

ObjectWithMetadata

Returned By

checkout query

Member Of

CheckoutAddPromoCode object ● CheckoutBillingAddressUpdate object ● CheckoutCountableEdge object ● CheckoutCreate object ● CheckoutCreated object ● CheckoutCreateFromOrder object ● CheckoutCustomerAttach object ● CheckoutCustomerDetach object ● CheckoutCustomerNoteUpdate object ● CheckoutDeliveryMethodUpdate object ● CheckoutEmailUpdate object ● CheckoutFilterShippingMethods object ● CheckoutFullyAuthorized object ● CheckoutFullyPaid object ● CheckoutLanguageCodeUpdate object ● CheckoutLineDelete object ● CheckoutLinesAdd object ● CheckoutLinesDelete object ● CheckoutLinesUpdate object ● CheckoutMetadataUpdated object ● CheckoutPaymentCreate object ● CheckoutRemovePromoCode object ● CheckoutShippingAddressUpdate object ● CheckoutShippingMethodUpdate object ● CheckoutUpdated object ● Payment object ● PaymentListGateways object ● ShippingListMethodsForCheckout object ● TransactionItem object ● User object

Implemented By

OrderOrCheckout union ● TaxSourceObject union