Order

Type
Class
Namespace
craft\commerce\elements
Inherits
craft\commerce\elements\Order » craft\base\Element (opens new window) » craft\base\Component (opens new window) » craft\base\Model (opens new window) » yii\base\Model (opens new window) » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
ArrayAccess (opens new window), IteratorAggregate (opens new window), craft\base\ComponentInterface (opens new window), craft\base\ElementInterface (opens new window), craft\base\ModelInterface (opens new window), yii\base\Arrayable (opens new window), yii\base\Configurable (opens new window), yii\base\StaticInstanceInterface (opens new window)
Uses traits
craft\base\ClonefixTrait (opens new window), craft\base\ElementTrait (opens new window), craft\commerce\elements\traits\OrderElementTrait, craft\commerce\elements\traits\OrderNoticesTrait, craft\commerce\elements\traits\OrderValidatorsTrait, yii\base\ArrayableTrait (opens new window), yii\base\StaticInstanceTrait (opens new window)
Since
2.0

Order or Cart model.

View source (opens new window)

# Public Properties

Property Description
activeCart boolean (opens new window) – Is the current order the same as the active cart
activeValidators (opens new window) yii\validators\Validator (opens new window) – The validators applicable to the current scenario (opens new window).
additionalButtons (opens new window) string (opens new window)
adjustmentSubtotal float (opens new window), integer (opens new window) – the total of adjustments made to order
adjustmentSubtotalAsCurrency string (opens new window)
adjustments craft\commerce\models\OrderAdjustment[]
adjustmentsTotal float (opens new window)
adjustmentsTotalAsCurrency string (opens new window)
ancestors (opens new window) craft\elements\db\ElementQueryInterface (opens new window) – The element’s ancestors
archived (opens new window) boolean (opens new window) – Whether the element is archived
attributes (opens new window) array (opens new window) – Attribute values (name => value).
availableShippingMethodOptions craft\commerce\models\ShippingMethodOption[]
availableShippingMethods craft\commerce\models\ShippingMethod[]
awaitingFieldValues (opens new window) boolean (opens new window) – Whether the element is still awaiting its custom field values
behaviors (opens new window) yii\base\Behavior (opens new window) – List of behaviors attached to this component.
billingAddress craft\elements\Address (opens new window), null (opens new window)
billingAddressId integer (opens new window), null (opens new window) – Billing address ID
billingSameAsShipping boolean (opens new window) – Make this the shipping address the same as the billing address
cacheTags (opens new window) string (opens new window)[]
cancelUrl string (opens new window), null (opens new window) – Cancel URL
canonical (opens new window) craft\base\ElementInterface (opens new window), null (opens new window) – The canonical element, if one exists for the current site
canonicalId (opens new window) integer (opens new window), null (opens new window) – The element’s canonical ID
canonicalUid (opens new window) string (opens new window) – The element’s canonical UID
children (opens new window) craft\elements\db\ElementQueryInterface (opens new window) – The element’s children
contentId (opens new window) integer (opens new window), null (opens new window) – The element’s content row ID
contentTable (opens new window) string (opens new window) – The name of the table this element’s content is stored in
couponCode string (opens new window), null (opens new window) – Coupon Code
cpEditUrl (opens new window) string (opens new window), null (opens new window) – The element’s edit URL in the control panel
currency string (opens new window), null (opens new window) – Currency
currentRevision (opens new window) self, null (opens new window)
customer craft\elements\User (opens new window), null (opens new window)
customerId integer (opens new window), null (opens new window) – The order customer ID
customerLinkHtml string (opens new window)
dateAuthorized DateTime (opens new window), null (opens new window) – Date authorized
dateCreated (opens new window) DateTime (opens new window), null (opens new window) – The date that the element was created
dateDeleted (opens new window) DateTime (opens new window), null (opens new window) – The date that the element was trashed
dateLastMerged (opens new window) DateTime (opens new window), null (opens new window) – The date that the canonical element was last merged into this one
dateOrdered DateTime (opens new window), null (opens new window) – Date ordered
datePaid DateTime (opens new window), null (opens new window) – Date paid
dateUpdated (opens new window) DateTime (opens new window), null (opens new window) – The date that the element was last updated
descendants (opens new window) craft\elements\db\ElementQueryInterface (opens new window) – The element’s descendants
dirtyAttributes (opens new window) string (opens new window)[]
dirtyFields (opens new window) string (opens new window)[]
draftId (opens new window) integer (opens new window), null (opens new window) – The ID of the draft’s row in the drafts table
duplicateOf (opens new window) craft\base\ElementInterface (opens new window), null (opens new window) – The element that this element is being duplicated by.
editorHtml (opens new window) string (opens new window) – The HTML for the element’s editor HUD
email string (opens new window) – the email for this order
enabled (opens new window) boolean (opens new window) – Whether the element is enabled
enabledForSite (opens new window) boolean (opens new window) – Whether the element is enabled for this site
errors (opens new window) array (opens new window) – Errors for all attributes or the specified attribute.
estimatedBillingAddress null (opens new window), array (opens new window), craft\elements\Address (opens new window)
estimatedBillingAddressId integer (opens new window), null (opens new window) – Estimated Billing address ID
estimatedBillingSameAsShipping boolean (opens new window) – Whether estimated billing address should be set to the same address as estimated shipping
estimatedShippingAddress null (opens new window), array (opens new window), craft\elements\Address (opens new window)
estimatedShippingAddressId integer (opens new window), null (opens new window) – Estimated Shipping address ID
fieldColumnPrefix (opens new window) string (opens new window) – The field column prefix this element’s content uses
fieldContext (opens new window) string (opens new window) – The field context this element’s content uses
fieldLayout (opens new window) craft\models\FieldLayout (opens new window), null (opens new window) – The field layout used by this element
fieldLayoutId (opens new window) integer (opens new window), null (opens new window) – The element’s field layout ID
fieldParamNamespace (opens new window) array (opens new window) – The namespace used by custom field params on the request
fieldValues (opens new window) array (opens new window) – The element’s normalized custom field values, indexed by their handles
firstErrors (opens new window) array (opens new window) – The first errors.
firstNotice
firstSave (opens new window) boolean (opens new window) – Whether the element is being saved for the first time in a normal state (not as a draft or revision).
gateway craft\commerce\base\Gateway
gatewayId integer (opens new window), null (opens new window) – Gateway ID
gqlTypeName (opens new window) string (opens new window)
hardDelete (opens new window) boolean (opens new window) – Whether the element is being hard-deleted.
hasCheckeredThumb (opens new window) boolean (opens new window)
hasDescendants (opens new window) boolean (opens new window) – Whether the element has descendants
hasRoundedThumb (opens new window) boolean (opens new window)
histories craft\commerce\models\OrderHistory[] – order histories
htmlAttributes (opens new window) array (opens new window) – Any attributes that should be included in the element’s DOM representation in the control panel
id (opens new window) integer (opens new window), null (opens new window) – The element’s ID
isActiveCart boolean (opens new window) – the order has the same ID as the current sessions cart
isCanonical (opens new window) boolean (opens new window) – Whether this is the canonical element
isCompleted boolean (opens new window) – Is completed
isDerivative (opens new window) boolean (opens new window) – Whether this is a derivative element, such as a draft or revision
isDraft (opens new window) boolean (opens new window)
isEmpty boolean (opens new window) – the order has no line items with any qty
isFresh (opens new window) boolean (opens new window)
isHomepage (opens new window) boolean (opens new window)
isNewForSite (opens new window) boolean (opens new window) – Whether the element is being saved to the current site for the first time.
isPaid boolean (opens new window) – if the order is paid
isProvisionalDraft (opens new window) boolean (opens new window) – Whether this is a provisional draft.
isRevision (opens new window) boolean (opens new window)
isTitleTranslatable (opens new window) boolean (opens new window)
isUnpaid boolean (opens new window) – if the order is not paid
isUnpublishedDraft (opens new window) boolean (opens new window)
itemSubtotal integer (opens new window) – the total of all line item subtotals
itemSubtotalAsCurrency string (opens new window)
itemTotal float (opens new window)
itemTotalAsCurrency string (opens new window)
iterator (opens new window) ArrayIterator (opens new window) – An iterator for traversing the items in the list.
language (opens new window) string (opens new window)
lastIp string (opens new window), null (opens new window) – Last IP address
lastTransaction null (opens new window), craft\commerce\models\Transaction – The last transaction on the order.
level (opens new window) integer (opens new window), null (opens new window) – The element’s level within its structure
lft (opens new window) integer (opens new window), null (opens new window) – The element’s left position within its structure
lineItems craft\commerce\models\LineItem[]
link (opens new window) \Twig\Markup, null (opens new window) – An anchor pre-filled with this element’s URL and title
loadCartUrl null (opens new window), string (opens new window)
localized (opens new window) craft\elements\db\ElementQueryInterface (opens new window), \Illuminate\Support\Collection
makePrimaryBillingAddress boolean (opens new window) – Make this the customer‘s primary billing address
makePrimaryShippingAddress boolean (opens new window) – Make this the customer‘s primary shipping address
mergingCanonicalChanges (opens new window) boolean (opens new window) – Whether recent changes to the canonical element are being merged into this element.
message string (opens new window), null (opens new window) – Message
metadata array (opens new window)
modifiedAttributes (opens new window) string (opens new window)[]
modifiedFields (opens new window) string (opens new window)[]
nestedTransactions craft\commerce\models\Transaction[] – transactions for the order that have child transactions set on them
newSiteIds (opens new window) integer (opens new window)[] – The site IDs that the element was just propagated to for the first time.
next (opens new window) craft\base\ElementInterface (opens new window), null (opens new window) – The next element relative to this one, from a given set of criteria
nextSibling (opens new window) craft\base\ElementInterface (opens new window), null (opens new window) – The element’s next sibling
notices craft\commerce\models\OrderNotice[] – Notices for all types or the specified type / attribute.
number string (opens new window), null (opens new window) – Number
orderAdjustments craft\commerce\models\OrderAdjustment[]
orderLanguage string (opens new window), null (opens new window) – The language the order was made in.
orderSite craft\models\Site (opens new window), null (opens new window)
orderSiteId integer (opens new window), null (opens new window) – Order site ID
orderStatus craft\commerce\models\OrderStatus
orderStatusHtml string (opens new window)
orderStatusId integer (opens new window), null (opens new window) – Order status ID
origin string (opens new window), null (opens new window) – Order origin
outdatedAttributes (opens new window) string (opens new window)[]
outdatedFields (opens new window) string (opens new window)[]
outstandingBalance float (opens new window) – The balance amount to be paid on the Order
outstandingBalanceAsCurrency string (opens new window)
paidStatus string (opens new window) – the order’s paid status
paidStatusHtml string (opens new window) – the order’s paid status as HTML
parent (opens new window) craft\base\ElementInterface (opens new window), null (opens new window) – The element’s parent
parentId (opens new window) integer (opens new window), null (opens new window) – The element’s parent’s ID
parentUri (opens new window) string (opens new window), null (opens new window)
paymentAmount float (opens new window)
paymentCurrency string (opens new window) – the payment currency for this order
paymentSource craft\commerce\models\PaymentSource, null (opens new window)
paymentSourceId integer (opens new window), null (opens new window) – Payment source ID
pdfUrl string (opens new window) – the URL to the order’s PDF invoice
postEditUrl (opens new window) string (opens new window), null (opens new window)
prev (opens new window) craft\base\ElementInterface (opens new window), null (opens new window) – The previous element relative to this one, from a given set of criteria
prevSibling (opens new window) craft\base\ElementInterface (opens new window), null (opens new window) – The element’s previous sibling
previewTargets (opens new window) array (opens new window)
previewing (opens new window) boolean (opens new window) – Whether the element is currently being previewed.
propagateAll (opens new window) boolean (opens new window) – Whether all element attributes should be propagated across all its supported sites, even if that means overwriting existing site-specific values.
propagating (opens new window) boolean (opens new window) – Whether the element is being saved in the context of propagating another site's version of the element.
recalculationMode string (opens new window) – the mode of recalculation.
ref (opens new window) string (opens new window), null (opens new window) – The reference string to this element
reference string (opens new window), null (opens new window) – Reference
registerUserOnOrderComplete boolean (opens new window) – Register user on order complete
resaving (opens new window) boolean (opens new window) – Whether the element is being resaved by a ResaveElement job or a resave console command.
returnUrl string (opens new window), null (opens new window) – Return URL
revisionId (opens new window) integer (opens new window), null (opens new window) – The ID of the revision’s row in the revisions table
rgt (opens new window) integer (opens new window), null (opens new window) – The element’s right position within its structure
root (opens new window) integer (opens new window), null (opens new window) – The element’s structure’s root ID
route (opens new window) mixed – The route that should be used when the element’s URI is requested
scenario (opens new window) string (opens new window) – The scenario that this model is in.
searchScore (opens new window) integer (opens new window), null (opens new window) – The element’s search score, if the craft\elements\db\ElementQuery::search() (opens new window) parameter was used when querying for the element
serializedFieldValues (opens new window) array (opens new window) – Array of the element’s serialized custom field values, indexed by their handles
shippingAddress craft\elements\Address (opens new window), null (opens new window)
shippingAddressId integer (opens new window), null (opens new window) – Shipping address ID
shippingMethod craft\commerce\base\ShippingMethodInterface
shippingMethodHandle string (opens new window), null (opens new window) – Shipping Method Handle
shippingMethodName string (opens new window), null (opens new window) – Shipping Method Name
shippingSameAsBilling boolean (opens new window) – Make this the shipping address the same as the billing address
shortNumber string (opens new window)
siblings (opens new window) craft\elements\db\ElementQueryInterface (opens new window) – All of the element’s siblings
site (opens new window) craft\models\Site (opens new window) – Site the element is associated with
siteId (opens new window) integer (opens new window), null (opens new window) – The site ID the element is associated with
siteSettingsId (opens new window) integer (opens new window), null (opens new window) – The ID of the element’s record in the elements_sites table
slug (opens new window) string (opens new window), null (opens new window) – The element’s slug
sourceBillingAddressId integer (opens new window), null (opens new window) – The billing address ID that was selected from the customer’s address book, which populated the billing address on the order.
sourceId (opens new window) integer (opens new window), null (opens new window)
sourceShippingAddressId integer (opens new window), null (opens new window) – The shipping address ID that was selected from the customer’s address book, which populated the shipping address on the order.
sourceUid (opens new window) string (opens new window)
status (opens new window) string (opens new window), null (opens new window) – The element’s status
storedItemSubtotal float (opens new window), null (opens new window) – The item subtotal as stored in the database from last retrieval
storedItemSubtotalAsCurrency string (opens new window)
storedItemTotal float (opens new window), null (opens new window) – The item total as stored in the database from last retrieval
storedItemTotalAsCurrency string (opens new window)
storedTotal float (opens new window), null (opens new window) – The total as stored in the database from last retrieval
storedTotalAsCurrency string (opens new window)
storedTotalDiscount float (opens new window), null (opens new window) – The total of discount adjustments as stored in the database from last retrieval
storedTotalDiscountAsCurrency string (opens new window)
storedTotalPaid float (opens new window), null (opens new window) – The total paid as stored in the database from last retrieval
storedTotalPaidAsCurrency string (opens new window)
storedTotalPrice float (opens new window), null (opens new window) – The total price as stored in the database from last retrieval
storedTotalPriceAsCurrency string (opens new window)
storedTotalQty integer (opens new window), null (opens new window) – The total quantity as stored in the database from last retrieval
storedTotalShippingCost float (opens new window), null (opens new window) – The total shipping cost adjustments as stored in the database from last retrieval
storedTotalShippingCostAsCurrency string (opens new window)
storedTotalTax float (opens new window), null (opens new window) – The total tax adjustments as stored in the database from last retrieval
storedTotalTaxAsCurrency string (opens new window)
storedTotalTaxIncluded float (opens new window), null (opens new window) – The total tax included adjustments as stored in the database from last retrieval
storedTotalTaxIncludedAsCurrency string (opens new window)
structureId (opens new window) integer (opens new window), null (opens new window) – The element’s structure ID
supportedSites (opens new window) integer (opens new window)[], array (opens new window) – The sites this element is associated with
suppressEmails boolean (opens new window)
tempId (opens new window) string (opens new window), null (opens new window) – The element’s temporary ID (only used if the element’s URI format contains {id})
thumbAlt (opens new window) string (opens new window), null (opens new window)
title (opens new window) string (opens new window), null (opens new window) – The element’s title
titleTranslationDescription (opens new window) string (opens new window), null (opens new window)
titleTranslationKey (opens new window) string (opens new window) – The translation key
total float (opens new window)
totalAsCurrency string (opens new window)
totalAuthorized float (opens new window), integer (opens new window)
totalDescendants (opens new window) integer (opens new window) – The total number of descendants that the element has
totalDiscount float (opens new window)
totalDiscountAsCurrency string (opens new window)
totalPaid float (opens new window) – the total purchase and captured transactions belonging to this order
totalPaidAsCurrency string (opens new window)
totalPrice float (opens new window)
totalPriceAsCurrency string (opens new window)
totalQty integer (opens new window) – the total number of items
totalSaleAmount integer (opens new window) – the total sale amount
totalSaleAmountAsCurrency string (opens new window)
totalShippingCost float (opens new window)
totalShippingCostAsCurrency string (opens new window)
totalTax float (opens new window)
totalTaxAsCurrency string (opens new window)
totalTaxIncluded float (opens new window)
totalTaxIncludedAsCurrency string (opens new window)
totalWeight integer (opens new window)
transactions craft\commerce\models\Transaction[]
trashed (opens new window) boolean (opens new window) – Whether the element has been soft-deleted.
uiLabel (opens new window) string (opens new window)
uid (opens new window) string (opens new window), null (opens new window) – The element’s UID
updatingFromDerivative (opens new window) boolean (opens new window) – Whether the element is being updated from a derivative element, such as a draft or revision.
uri (opens new window) string (opens new window), null (opens new window) – The element’s URI
uriFormat (opens new window) string (opens new window), null (opens new window) – The URI format used to generate this element’s URL
url (opens new window) string (opens new window), null (opens new window) – The element’s full URL
user craft\elements\User (opens new window), null (opens new window)
validators (opens new window) ArrayObject (opens new window), yii\validators\Validator (opens new window) – All the validators declared in the model.

# activeCart

Type
boolean (opens new window)
Default value
null

Is the current order the same as the active cart

View source (opens new window)

# adjustmentSubtotal

Type
float (opens new window), integer (opens new window)
Default value
null

the total of adjustments made to order

View source (opens new window)

# adjustmentSubtotalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# adjustments

Type
craft\commerce\models\OrderAdjustment[]
Default value
null

View source (opens new window)

# adjustmentsTotal

Type
float (opens new window)
Default value
null

View source (opens new window)

# adjustmentsTotalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# availableShippingMethodOptions

Type
craft\commerce\models\ShippingMethodOption[]
Default value
null

View source (opens new window)

# availableShippingMethods

Type
craft\commerce\models\ShippingMethod[]
Default value
null

View source (opens new window)

# billingAddress

Type
craft\elements\Address (opens new window), null (opens new window)
Default value
null

View source (opens new window)

# billingAddressId

Example

echo $order->billingAddressId;

# billingSameAsShipping

Type
boolean (opens new window)
Default value
false

Make this the shipping address the same as the billing address

View source (opens new window)

Example

echo $order->billingSameAsShipping;

# cancelUrl

Example

echo $order->cancelUrl;

# couponCode

Example

echo $order->couponCode;

# currency

Example

echo $order->currency;

# customer

Type
craft\elements\User (opens new window), null (opens new window)
Default value
null

View source (opens new window)

# customerId

Type
integer (opens new window), null (opens new window)
Default value
null

The order customer ID

View source (opens new window)

# customerLinkHtml

Type
string (opens new window)
Default value
null

View source (opens new window)

# dateAuthorized

Example

echo $order->dateAuthorized;

# dateOrdered

Example

echo $order->dateOrdered;

# datePaid

Example

echo $order->datePaid;

# email

Type
string (opens new window)
Default value
null

the email for this order

View source (opens new window)

# estimatedBillingAddress

Type
null (opens new window), array (opens new window), craft\elements\Address (opens new window)
Default value
null

View source (opens new window)

# estimatedBillingAddressId

Type
integer (opens new window), null (opens new window)
Default value
null
Since
2.2

Estimated Billing address ID

View source (opens new window)

# estimatedBillingSameAsShipping

Type
boolean (opens new window)
Default value
false
Since
2.2

Whether estimated billing address should be set to the same address as estimated shipping

View source (opens new window)

# estimatedShippingAddress

Type
null (opens new window), array (opens new window), craft\elements\Address (opens new window)
Default value
null

View source (opens new window)

# estimatedShippingAddressId

Type
integer (opens new window), null (opens new window)
Default value
null
Since
2.2

Estimated Shipping address ID

View source (opens new window)

# gateway

Type
craft\commerce\base\Gateway
Default value
null

View source (opens new window)

# gatewayId

Example

echo $order->gatewayId;

# histories

Type
craft\commerce\models\OrderHistory[]
Default value
null

order histories

View source (opens new window)

# isActiveCart

Type
boolean (opens new window)
Default value
null

the order has the same ID as the current sessions cart

View source (opens new window)

# isCompleted

Type
boolean (opens new window)
Default value
false

Is completed

View source (opens new window)

Example

echo $order->isCompleted;

# isEmpty

Type
boolean (opens new window)
Default value
null

the order has no line items with any qty

View source (opens new window)

# isPaid

Type
boolean (opens new window)
Default value
null

if the order is paid

View source (opens new window)

# isUnpaid

Type
boolean (opens new window)
Default value
null

if the order is not paid

View source (opens new window)

# itemSubtotal

Type
integer (opens new window)
Default value
null

the total of all line item subtotals

View source (opens new window)

# itemSubtotalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# itemTotal

Type
float (opens new window)
Default value
null

View source (opens new window)

# itemTotalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# lastIp

Example

echo $order->lastIp;

# lastTransaction

Type
null (opens new window), craft\commerce\models\Transaction
Default value
null

The last transaction on the order.

View source (opens new window)

# lineItems

Type
craft\commerce\models\LineItem[]
Default value
null

View source (opens new window)

# loadCartUrl

Type
null (opens new window), string (opens new window)
Default value
null

View source (opens new window)

# makePrimaryBillingAddress

Type
boolean (opens new window)
Default value
false

Make this the customer‘s primary billing address

View source (opens new window)

Example

echo $order->makePrimaryBillingAddress;

# makePrimaryShippingAddress

Type
boolean (opens new window)
Default value
false

Make this the customer‘s primary shipping address

View source (opens new window)

Example

echo $order->makePrimaryShippingAddress;

# message

Example

echo $order->message;

# metadata

Type
array (opens new window)
Default value
null

View source (opens new window)

# nestedTransactions

Type
craft\commerce\models\Transaction[]
Default value
null

transactions for the order that have child transactions set on them

View source (opens new window)

# number

Example

echo $order->number;

# orderAdjustments

Type
craft\commerce\models\OrderAdjustment[]
Default value
null

View source (opens new window)

# orderLanguage

Type
string (opens new window), null (opens new window)
Default value
null

The language the order was made in.

View source (opens new window)

Example

echo $order->orderLanguage;

# orderSite

Type
craft\models\Site (opens new window), null (opens new window)
Default value
null

View source (opens new window)

# orderSiteId

Example

echo $order->orderSiteId;

# orderStatus

Type
craft\commerce\models\OrderStatus
Default value
null

View source (opens new window)

# orderStatusHtml

Type
string (opens new window)
Default value
null

View source (opens new window)

# orderStatusId

Example

echo $order->orderStatusId;

# origin

Example

echo $order->origin;

# outstandingBalance

Type
float (opens new window)
Default value
null

The balance amount to be paid on the Order

View source (opens new window)

# outstandingBalanceAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# paidStatus

Type
string (opens new window)
Default value
null

the order’s paid status

View source (opens new window)

# paidStatusHtml

Type
string (opens new window)
Default value
null

the order’s paid status as HTML

View source (opens new window)

# paymentAmount

Type
float (opens new window)
Default value
null

View source (opens new window)

# paymentCurrency

Type
string (opens new window)
Default value
null

the payment currency for this order

View source (opens new window)

# paymentSource

Type
craft\commerce\models\PaymentSource, null (opens new window)
Default value
null

View source (opens new window)

# paymentSourceId

Example

echo $order->paymentSourceId;

# pdfUrl

Type
string (opens new window)
Default value
null

the URL to the order’s PDF invoice

View source (opens new window)

# recalculationMode

Type
string (opens new window)
Default value
null

the mode of recalculation.

View source (opens new window)

# reference

Example

echo $order->reference;

# registerUserOnOrderComplete

Type
boolean (opens new window)
Default value
false

Register user on order complete

View source (opens new window)

Example

echo $order->registerUserOnOrderComplete;

# returnUrl

Example

echo $order->returnUrl;

# shippingAddress

Type
craft\elements\Address (opens new window), null (opens new window)
Default value
null

View source (opens new window)

# shippingAddressId

Example

echo $order->shippingAddressId;

# shippingMethod

Type
craft\commerce\base\ShippingMethodInterface
Default value
null

View source (opens new window)

# shippingMethodHandle

Type
string (opens new window), null (opens new window)
Default value
''

Shipping Method Handle

View source (opens new window)

# shippingMethodName

Type
string (opens new window), null (opens new window)
Default value
null
Since
3.2.0

Shipping Method Name

View source (opens new window)

# shippingSameAsBilling

Type
boolean (opens new window)
Default value
false

Make this the shipping address the same as the billing address

View source (opens new window)

Example

echo $order->shippingSameAsBilling;

# shortNumber

Type
string (opens new window)
Default value
null

View source (opens new window)

# sourceBillingAddressId

Type
integer (opens new window), null (opens new window)
Default value
null
Since
4.0

The billing address ID that was selected from the customer’s address book, which populated the billing address on the order.

View source (opens new window)

# sourceShippingAddressId

Type
integer (opens new window), null (opens new window)
Default value
null
Since
4.0

The shipping address ID that was selected from the customer’s address book, which populated the shipping address on the order.

View source (opens new window)

# storedItemSubtotal

Type
float (opens new window), null (opens new window)
Default value
null

The item subtotal as stored in the database from last retrieval

View source (opens new window)

# storedItemSubtotalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedItemTotal

Type
float (opens new window), null (opens new window)
Default value
null

The item total as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedItemTotal;

# storedItemTotalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedTotal

Type
float (opens new window), null (opens new window)
Default value
null

The total as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotal;

# storedTotalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedTotalDiscount

Type
float (opens new window), null (opens new window)
Default value
null

The total of discount adjustments as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotalDiscount;

# storedTotalDiscountAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedTotalPaid

Type
float (opens new window), null (opens new window)
Default value
null

The total paid as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotalPaid;

# storedTotalPaidAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedTotalPrice

Type
float (opens new window), null (opens new window)
Default value
null

The total price as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotalPrice;

# storedTotalPriceAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedTotalQty

Type
integer (opens new window), null (opens new window)
Default value
null

The total quantity as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotalQty;

# storedTotalShippingCost

Type
float (opens new window), null (opens new window)
Default value
null

The total shipping cost adjustments as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotalShippingCost;

# storedTotalShippingCostAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedTotalTax

Type
float (opens new window), null (opens new window)
Default value
null

The total tax adjustments as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotalTax;

# storedTotalTaxAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# storedTotalTaxIncluded

Type
float (opens new window), null (opens new window)
Default value
null

The total tax included adjustments as stored in the database from last retrieval

View source (opens new window)

Example

echo $order->storedTotalTaxIncluded;

# storedTotalTaxIncludedAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# suppressEmails

Type
boolean (opens new window)
Default value
false

View source (opens new window)

# total

Type
float (opens new window)
Default value
null

View source (opens new window)

# totalAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalAuthorized

Type
float (opens new window), integer (opens new window)
Default value
null

View source (opens new window)

# totalDiscount

Type
float (opens new window)
Default value
null

View source (opens new window)

# totalDiscountAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalPaid

Type
float (opens new window)
Default value
null

the total purchase and captured transactions belonging to this order

View source (opens new window)

# totalPaidAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalPrice

Type
float (opens new window)
Default value
null

View source (opens new window)

# totalPriceAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalQty

Type
integer (opens new window)
Default value
null

the total number of items

View source (opens new window)

# totalSaleAmount

Type
integer (opens new window)
Default value
null

the total sale amount

View source (opens new window)

# totalSaleAmountAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalShippingCost

Type
float (opens new window)
Default value
null

View source (opens new window)

# totalShippingCostAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalTax

Type
float (opens new window)
Default value
null

View source (opens new window)

# totalTaxAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalTaxIncluded

Type
float (opens new window)
Default value
null

View source (opens new window)

# totalTaxIncludedAsCurrency

Type
string (opens new window)
Default value
null

View source (opens new window)

# totalWeight

Type
integer (opens new window)
Default value
null

View source (opens new window)

# transactions

Type
craft\commerce\models\Transaction[]
Default value
null

View source (opens new window)

# user

Type
craft\elements\User (opens new window), null (opens new window)
Default value
null

View source (opens new window)

# Protected Properties

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window)
__construct() (opens new window)
__get() (opens new window) Returns the value of a component property.
__isset() (opens new window) Checks if a property is set.
__set() (opens new window) Sets the value of a component property.
__toString() Returns the string representation of the element.
__unset() (opens new window) Sets a component property to be null.
_getAdjustmentsTotalByType()
actions() (opens new window) Returns the available element actions (opens new window) for a given source.
activeAttributes() (opens new window) Returns the attribute names that are subject to validation in the current scenario.
addError() (opens new window) Adds a new error to the specified attribute.
addErrors() (opens new window) Adds a list of errors.
addLineItem() Adds a line item to the order. Updates the line item if the ID of that line item is already in the cart.
addModelErrors() (opens new window) Adds errors from another model, with a given attribute name prefix.
addNotice() Adds a new notice
addNotices() Adds a list of notices.
afterDelete() (opens new window) Performs actions after an element is deleted.
afterMoveInStructure() (opens new window) Performs actions after an element is moved within a structure.
afterOrderComplete() Called after the order successfully completes
afterPropagate() (opens new window) Performs actions after an element is fully saved and propagated to other sites.
afterRestore() (opens new window) Performs actions after an element is restored.
afterSave() Performs actions after an element is saved.
afterValidate() (opens new window) This method is invoked after validation ends.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
attributeHints() (opens new window) Returns the attribute hints.
attributeLabels() (opens new window) Returns the attribute labels.
attributes() Returns the list of attribute names.
autoSetAddresses() Automatically set addresses on the order if it's a cart and autoSetNewCartAddresses is true.
autoSetPaymentSource()
autoSetShippingMethod() Auto set shipping method based on config settings and available options
beforeDelete() (opens new window) Performs actions before an element is deleted.
beforeMoveInStructure() (opens new window) Performs actions before an element is moved within a structure.
beforeRestore() (opens new window) Performs actions before an element is restored.
beforeSave() (opens new window) Performs actions before an element is saved.
beforeValidate() This method is invoked before validation starts.
behaviors()
canCreateDrafts() (opens new window) Returns whether the given user is authorized to create drafts for this element.
canDelete() Returns whether the given user is authorized to delete this element.
canDeleteForSite() (opens new window) Returns whether the given user is authorized to delete this element for its current site.
canDuplicate() Returns whether the given user is authorized to duplicate this element.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSave() Returns whether the given user is authorized to save this element in its current form.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
canView() Returns whether the given user is authorized to view this element’s edit page.
className() (opens new window) Returns the fully qualified name of this class.
clearErrors() (opens new window) Removes errors for all attributes or a single attribute.
clearNotices() Removes notices for all types or a single type.
createAnother() (opens new window) Creates a new element (without saving it) based on this one.
createCondition() Returns an element condition for the element type.
createValidators() (opens new window) Creates validator objects based on the validation rules specified in rules() (opens new window).
currencyAttributes() The attributes on the order that should be made available as formatted currency.
datetimeAttributes() (opens new window) Returns the names of any attributes that should hold DateTime (opens new window) values.
defaultTableAttributes() (opens new window) Returns the list of table attribute keys that should be shown by default.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
displayName()
eagerLoadingMap() (opens new window) Returns an array that maps source-to-target element IDs based on the given sub-property handle.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
exporters() (opens new window) Returns the available export options for a given source.
extraFields() Returns the list of fields that can be expanded further and returned by toArray() (opens new window).
fieldLayouts() (opens new window) Returns all of the field layouts associated with elements from the given source.
fields()
find() Creates an \ElementQueryInterface instance for query purpose.
findAll() (opens new window) Returns a list of elements that match the specified ID(s) or a set of element criteria parameters.
findOne() (opens new window) Returns a single element instance by a primary key or a set of element criteria parameters.
formName() (opens new window) Returns the form name that this model class should use.
generateAttributeLabel() (opens new window) Generates a user friendly attribute label based on the give attribute name.
getActiveValidators() (opens new window) Returns the validators applicable to the current scenario (opens new window).
getAdditionalButtons() (opens new window) Returns additional buttons that should be shown at the top of the element’s edit page.
getAdjustmentSubtotal() Returns the total of adjustments made to order.
getAdjustments()
getAdjustmentsByType()
getAdjustmentsTotal()
getAncestors() (opens new window) Returns the element’s ancestors.
getAttributeHint() (opens new window) Returns the text hint for the specified attribute.
getAttributeLabel() (opens new window) Returns the text label for the specified attribute.
getAttributeStatus() (opens new window) Returns the status of a given attribute.
getAttributes() (opens new window) Returns attribute values.
getAvailableShippingMethodOptions()
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getBillingAddress() Get the billing address on the order.
getCacheTags() (opens new window) Returns the cache tags that should be cleared when this element is saved.
getCanonical() (opens new window) Returns the canonical version of the element.
getCanonicalId() (opens new window) Returns the element’s canonical ID.
getCanonicalUid() (opens new window) Returns the element’s canonical UUID.
getChildren() (opens new window) Returns the element’s children.
getContentTable() (opens new window) Returns the name of the table this element’s content is stored in.
getCpEditUrl() Returns the element’s edit URL in the control panel.
getCurrentRevision() (opens new window) Returns the element’s current revision, if one exists.
getCustomer() Returns the order's customer.
getCustomerId() Returns the order customer ID.
getCustomerLinkHtml() Customer represented as HTML Customer User link represented as HTML
getDescendants() (opens new window) Returns the element’s descendants.
getDirtyAttributes() (opens new window) Returns a list of attribute names that have changed since the element was first loaded.
getDirtyFields() (opens new window) Returns a list of custom field handles that have changed since the element was first loaded.
getEagerLoadedElementCount() (opens new window) Returns the count of eager-loaded elements for a given handle.
getEagerLoadedElements() (opens new window) Returns the eager-loaded elements for a given handle.
getEmail() Returns the email for this order. Will always be the registered users email if the order's customer is related to a user.
getEnabledForSite() (opens new window) Returns whether the element is enabled for the current site.
getErrorSummary() (opens new window) Returns the errors for all attributes as a one-dimensional array.
getErrors() (opens new window) Returns the errors for all attributes or a single attribute.
getEstimatedBillingAddress()
getEstimatedShippingAddress()
getFieldColumnPrefix() (opens new window) Returns the field column prefix this element’s content uses.
getFieldContext() (opens new window) Returns the field context this element’s content uses.
getFieldLayout() Returns the field layout used by this element.
getFieldParamNamespace() (opens new window) Returns the namespace used by custom field params on the request.
getFieldValue() (opens new window) Returns the value for a given field.
getFieldValues() (opens new window) Returns the element’s normalized custom field values, indexed by their handles.
getFirstError() (opens new window) Returns the first error of the specified attribute.
getFirstErrors() (opens new window) Returns the first error of every attribute in the model.
getFirstNotice() Returns the first error of the specified type or attribute
getGateway()
getGqlTypeName() (opens new window) Returns the GraphQL type name for this element type.
getHasCheckeredThumb() (opens new window) Returns whether the element’s thumbnail should have a checkered background.
getHasDescendants() (opens new window) Returns whether the element has descendants.
getHasRoundedThumb() (opens new window) Returns whether the element’s thumbnail should be rounded.
getHistories()
getHtmlAttributes() (opens new window) Returns any attributes that should be included in the element’s DOM representation in the control panel.
getId() (opens new window)
getIsActiveCart() Returns whether this order is the user's current active cart.
getIsCanonical() (opens new window) Returns whether this is the canonical element.
getIsDerivative() (opens new window) Returns whether this is a derivative element, such as a draft or revision.
getIsDraft() (opens new window) Returns whether this is a draft.
getIsEmpty() Returns whether the order has any items in it.
getIsFresh() (opens new window) Returns whether the element is "fresh" (not yet explicitly saved, and without validation errors).
getIsHomepage() (opens new window) Returns whether this element represents the site homepage.
getIsPaid()
getIsRevision() (opens new window) Returns whether this is a revision.
getIsTitleTranslatable() (opens new window) Returns whether the Title field should be shown as translatable in the UI.
getIsUnpaid()
getIsUnpublishedDraft() (opens new window) Returns whether the element is an unpublished draft.
getItemSubtotal() Returns the total of all line item's subtotals.
getItemTotal()
getIterator() (opens new window) Returns an iterator for traversing the attributes in the model.
getLanguage() (opens new window) Returns the language of the element.
getLastTransaction()
getLineItems()
getLink() Returns an anchor pre-filled with this element’s URL and title.
getLoadCartUrl() Returns the URL to the cart’s load action url
getLocalized() (opens new window) Returns the same element in other locales.
getMetadata() Returns element metadata that should be shown within the editor sidebar.
getModifiedAttributes() (opens new window) Returns the attribute names that have changed for this element.
getModifiedFields() (opens new window) Returns the field handles that have changed for this element.
getNestedTransactions() Returns an array of transactions for the order that have child transactions set on them.
getNext() (opens new window) Returns the next element relative to this one, from a given set of criteria.
getNextSibling() (opens new window) Returns the element’s next sibling.
getNotices() Returns the notices for all types/attributes or a single type/attributes.
getOrderAdjustments()
getOrderSite() Get the site for the order.
getOrderStatus()
getOrderStatusHtml()
getOutdatedAttributes() (opens new window) Returns the attribute names that have been updated on the canonical element since the last time it was merged into this element.
getOutdatedFields() (opens new window) Returns the field handles that have been updated on the canonical element since the last time it was merged into this element.
getOutstandingBalance() Returns the difference between the order amount and amount paid.
getPaidStatus() What is the status of the orders payment
getPaidStatusHtml() Paid status represented as HTML
getParent() (opens new window) Returns the element’s parent.
getParentId() (opens new window) Returns the parent ID.
getParentUri() (opens new window) Returns the parent element’s URI, if there is one.
getPaymentAmount() Returns the paymentAmount for this order.
getPaymentCurrency() Returns the current payment currency, and defaults to the primary currency if not set.
getPaymentSource() Returns the order's selected payment source if any.
getPdfUrl() Returns the URL to the order’s PDF invoice.
getPostEditUrl() (opens new window) Returns the URL that users should be redirected to after editing the element.
getPrev() (opens new window) Returns the previous element relative to this one, from a given set of criteria.
getPrevSibling() (opens new window) Returns the element’s previous sibling.
getPreviewTargets() (opens new window) Returns the additional locations that should be available for previewing the element, besides its primary URL (opens new window).
getRecalculationMode() Gets the recalculation mode of the order
getRef() (opens new window) Returns the reference string to this element.
getRoute() (opens new window) Returns the route that should be used when the element’s URI is requested.
getScenario() (opens new window) Returns the scenario that this model is used in.
getSearchKeywords() Returns the search keywords for a given search attribute.
getSerializedFieldValues() (opens new window) Returns an array of the element’s serialized custom field values, indexed by their handles.
getShippingAddress() * Get the shipping address on the order.
getShippingMethod()
getShortNumber()
getSiblings() (opens new window) Returns all of the element’s siblings.
getSidebarHtml() (opens new window) Returns the HTML for any fields/info that should be shown within the editor sidebar.
getSite() (opens new window) Returns the site the element is associated with.
getSourceId() (opens new window) Returns the element’s canonical ID.
getSourceUid() (opens new window) Returns the element’s canonical UID.
getStatus() (opens new window) Returns the element’s status.
getSupportedSites() (opens new window) Returns the sites this element is associated with.
getTableAttributeHtml() (opens new window) Returns the HTML that should be shown for a given attribute in Table View.
getThumbAlt() (opens new window) Returns alt text for the element’s thumbnail.
getThumbUrl() (opens new window) Returns the URL to the element’s thumbnail, if there is one.
getTitleTranslationDescription() (opens new window) Returns the description of the Title field’s translation support.
getTitleTranslationKey() (opens new window) Returns the Title’s translation key.
getTotal() Returns the raw total of the order, which is the total of all line items and adjustments. This number can be negative, so it is not the price of the order.
getTotalAuthorized()
getTotalDescendants() (opens new window) Returns the total number of descendants that the element has.
getTotalDiscount() The total amount of discount adjustments.
getTotalPaid() Returns the total purchase and captured transactions belonging to this order.
getTotalPrice() Get the total price of the order, whose minimum value is enforced by the configured {@link Settings::minimumTotalPriceStrategy strategy set for minimum total price}.
getTotalQty() Returns total number of items.
getTotalSaleAmount() Returns the total sale amount.
getTotalShippingCost() The total amount of shipping adjustments.
getTotalTax() The total amount of tax adjustments that are additive taxes that affect total price.
getTotalTaxIncluded() The total amount of tax adjustments on the order that are included in the price, and do not affect total price.
getTotalWeight()
getTransactions()
getUiLabel() (opens new window) Returns what the element should be called within the control panel.
getUriFormat() (opens new window) Returns the URI format used to generate this element’s URI.
getUrl() (opens new window) Returns the element’s full URL.
getUser()
getValidators() (opens new window) Returns all the validators declared in rules() (opens new window).
gqlMutationNameByContext() (opens new window) Returns the GraphQL mutation name by an element’s context.
gqlScopesByContext() (opens new window) Returns the GraphQL scopes required by element’s context.
gqlTypeNameByContext() (opens new window) Returns the GraphQL type name by an element’s context.
hasContent() Returns whether elements of this type will be storing any data in the content table (titles or custom fields).
hasEagerLoadedElements() (opens new window) Returns whether elements have been eager-loaded with a given handle.
hasErrors() (opens new window) Returns a value indicating whether there is any validation error.
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasLineItems()
hasMatchingAddresses() Returns whether the billing and shipping addresses' data matches
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasNotices() Returns a value indicating whether there is any notices.
hasOutstandingBalance()
hasProperty() (opens new window) Returns a value indicating whether a property is defined for this component.
hasRevisions() (opens new window) Returns whether revisions should be created when this element is saved.
hasShippableItems()
hasStatuses() (opens new window) Returns whether elements of this type have statuses.
hasTitles() (opens new window) Returns whether elements of this type have traditional titles.
hasUris() (opens new window) Returns whether elements of this type can have their own slugs and URIs.
indexHtml() (opens new window) Returns the element index HTML.
init() Initializes the object.
instance() (opens new window) Returns static class instance, which can be used to obtain meta information.
isAncestorOf() (opens new window) Returns whether this element is an ancestor of another one.
isAttributeActive() (opens new window) Returns a value indicating whether the attribute is active in the current scenario.
isAttributeDirty() (opens new window) Returns whether an attribute has changed since the element was first loaded.
isAttributeModified() (opens new window) Returns whether an attribute value has changed for this element.
isAttributeOutdated() (opens new window) Returns whether an attribute value has fallen behind the canonical element’s value.
isAttributeRequired() (opens new window) Returns a value indicating whether the attribute is required.
isAttributeSafe() (opens new window) Returns a value indicating whether the attribute is safe for massive assignments.
isChildOf() (opens new window) Returns whether this element is a direct child of another one.
isDescendantOf() (opens new window) Returns whether this element is a descendant of another one.
isFieldDirty() (opens new window) Returns whether a custom field value has changed since the element was first loaded.
isFieldEmpty() (opens new window) Returns whether a field is empty.
isFieldModified() (opens new window) Returns whether a field value has changed for this element.
isFieldOutdated() (opens new window) Returns whether a field value has fallen behind the canonical element’s value.
isLocalized() (opens new window) Returns whether elements of this type store content on a per-site basis.
isNextSiblingOf() (opens new window) Returns whether this element is the direct next sibling of another one.
isParentOf() (opens new window) Returns whether this element is a direct parent of another one.
isPaymentAmountPartial() Returns whether the payment amount currently set is a partial amount of the order's outstanding balance.
isPrevSiblingOf() (opens new window) Returns whether this element is the direct previous sibling of another one.
isSelectable() (opens new window) Returns whether the component should be selectable in component Type selects.
isSiblingOf() (opens new window) Returns whether this element is a sibling of another one.
load() (opens new window) Populates the model with input data.
loadMultiple() (opens new window) Populates a set of models with the data from end user.
lowerDisplayName() Returns the lowercase version of displayName().
markAsClean() (opens new window) Resets the record of dirty attributes and fields.
markAsComplete() Marks the order as complete and sets the default order status, then saves the order.
markAsDirty() (opens new window) Marks all fields and attributes as dirty.
mergeCanonicalChanges() (opens new window) Merges changes from the canonical element into this one.
off() (opens new window) Detaches an existing event handler from this component.
offsetExists() (opens new window) Returns whether there is an element at the specified offset.
offsetGet() (opens new window) Returns the element at the specified offset.
offsetSet() (opens new window) Sets the element at the specified offset.
offsetUnset() (opens new window) Sets the element value at the specified offset to null.
on() (opens new window) Attaches an event handler to an event.
onUnsafeAttribute() (opens new window) This method is invoked when an unsafe attribute is being massively assigned.
pluralDisplayName() Returns the plural version of displayName().
pluralLowerDisplayName() Returns the plural, lowercase version of displayName().
prepElementQueryForTableAttribute() Preps the element criteria for a given table attribute
prepareEditScreen() (opens new window) Prepares the response for the element’s Edit screen.
recalculate() Regenerates all adjusters and updates line items, depending on the current recalculationMode
refHandle() (opens new window) Returns the handle that should be used to refer to this element type from reference tags.
removeBillingAddress()
removeLineItem() Removes a specific line item from the order.
removeShippingAddress()
rules() (opens new window) Returns the validation rules for attributes.
safeAttributes() (opens new window) Returns the attribute names that are safe to be massively assigned in the current scenario.
scenarios() (opens new window) Returns a list of scenarios and the corresponding active attributes.
searchableAttributes() (opens new window) Defines which element attributes should be searchable.
setAdjustments()
setAttributes() (opens new window) Sets the attribute values in a massive way.
setBillingAddress() Set the billing address on the order.
setCanonical() (opens new window) Sets the canonical version of the element.
setCanonicalId() (opens new window) Sets the element’s canonical ID.
setCustomer() Sets the order's customer.
setCustomerId() Sets the order customer ID.
setDirtyAttributes() (opens new window) Sets the list of dirty attribute names.
setEagerLoadedElementCount() (opens new window) Sets the count of eager-loaded elements for a given handle.
setEagerLoadedElements() (opens new window) Sets some eager-loaded elements on a given handle.
setEmail() Sets the orders user based on the email address provided.
setEnabledForSite() (opens new window) Sets whether the element is enabled for the current site.
setEstimatedBillingAddress()
setEstimatedShippingAddress()
setFieldParamNamespace() (opens new window) Sets the namespace used by custom field params on the request.
setFieldValue() (opens new window) Sets the value for a given field.
setFieldValues() (opens new window) Sets the element’s custom field values.
setFieldValuesFromRequest() (opens new window) Sets the element’s custom field values, when the values have come from post data.
setGatewayId() Sets the order's selected gateway id.
setIsFresh() (opens new window) Sets whether the element is "fresh" (not yet explicitly saved, and without validation errors).
setLineItems()
setNext() (opens new window) Sets the default next element.
setParent() (opens new window) Sets the element’s parent.
setParentId() (opens new window) Sets the parent ID.
setPaymentAmount() Sets the order's payment amount in the order's currency. This amount is not persisted.
setPaymentCurrency()
setPaymentSource() Sets the order's selected payment source
setPrev() (opens new window) Sets the default previous element.
setRecalculationMode() Sets the recalculation mode of the order
setRevisionCreatorId() (opens new window) Sets the revision creator ID to be saved.
setRevisionNotes() (opens new window) Sets the revision notes to be saved.
setScenario() (opens new window) Sets the scenario for the model.
setShippingAddress() Set the shipping address on the order.
setTransactions() Set transactions on the order. Set to null to clear cache and force next getTransactions() call to get the latest transactions.
setUiLabel() (opens new window) Defines what the element should be called within the control panel.
sortOptions() (opens new window) Returns the sort options for the element type.
sources() (opens new window) Returns the source definitions that elements of this type may belong to.
statuses() (opens new window) Returns all of the possible statuses that elements of this type may have.
tableAttributes() (opens new window) Defines all of the available columns that can be shown in table views.
toArray() (opens new window) Converts the model into an array.
trackChanges() (opens new window) Returns whether Craft should keep track of attribute and custom field changes made to this element type, including when the last time they were changed, and who was logged-in at the time.
trigger() (opens new window) Triggers an event.
updateOrderPaidInformation() Updates the paid status and paid date of the order, and marks as complete if the order is paid or authorized.
validate() (opens new window) Performs the data validation.
validateAddress() Validates addresses, and also adds prefixed validation errors to order
validateAddressReuse() Validates that shipping address isn't being set to be the same as billing address, when billing address is set to be shipping address
validateCouponCode()
validateCustomFieldAttribute() (opens new window) Calls a custom validation function on a custom field.
validateGatewayId()
validateLineItems() Validates line items, and also adds prefixed validation errors to order
validateMultiple() (opens new window) Validates multiple models.
validatePaymentCurrency()
validatePaymentSourceId()

# __toString()

Returns the string representation of the element.

View source (opens new window)

Returns

string (opens new window)

# _getAdjustmentsTotalByType()

View source (opens new window)

Arguments

  • $types
  • $included

# addLineItem()

Adds a line item to the order. Updates the line item if the ID of that line item is already in the cart.

View source (opens new window)

Arguments

  • $lineItem

# afterOrderComplete()

Called after the order successfully completes

View source (opens new window)

# afterSave()

Performs actions after an element is saved.

View source (opens new window)

Arguments

# attributes()

Returns the list of attribute names.

By default, this method returns all public non-static properties of the class. You may override this method to change the default behavior.

View source (opens new window)

Returns

string (opens new window)[] – List of attribute names.

# autoSetAddresses()

Since
3.4.14

Automatically set addresses on the order if it's a cart and autoSetNewCartAddresses is true.

View source (opens new window)

Returns

boolean (opens new window) – Returns true if order is mutated

Throws

# autoSetPaymentSource()

Since
4.2

View source (opens new window)

Returns

boolean (opens new window)

Throws

# autoSetShippingMethod()

Since
4.1

Auto set shipping method based on config settings and available options

View source (opens new window)

Returns

boolean (opens new window) – Returns true if order is mutated

# beforeValidate()

This method is invoked before validation starts.

The default implementation raises a beforeValidate event. You may override this method to do preliminary checks before validation. Make sure the parent implementation is invoked so that the event can be raised.

View source (opens new window)

Returns

boolean (opens new window) – Whether the validation should be executed. Defaults to true. If false is returned, the validation will stop and the model is considered invalid.

# behaviors()

View source (opens new window)

# canDelete()

Returns whether the given user is authorized to delete this element.

This will only be called if the element can be viewed.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# canDuplicate()

Returns whether the given user is authorized to duplicate this element.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# canSave()

Returns whether the given user is authorized to save this element in its current form.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# canView()

Returns whether the given user is authorized to view this element’s edit page.

If they can view but not save, the edit form will either render statically, or be restricted to only saving changes as a draft, depending on canCreateDrafts() (opens new window).

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# currencyAttributes()

The attributes on the order that should be made available as formatted currency.

View source (opens new window)

# displayName()

View source (opens new window)

Returns

string (opens new window)

# extraFields()

Returns the list of fields that can be expanded further and returned by toArray() (opens new window).

This method is similar to fields() except that the list of fields returned by this method are not returned by default by toArray() (opens new window). Only when field names to be expanded are explicitly specified when calling toArray() (opens new window), will their values be exported.

The default implementation returns an empty array.

You may override this method to return a list of expandable fields based on some context information (e.g. the current application user).

View source (opens new window)

Returns

array (opens new window) – The list of expandable field names or field definitions. Please refer to fields() on the format of the return value.

# fields()

View source (opens new window)

# getAdjustmentSubtotal()

Returns the total of adjustments made to order.

View source (opens new window)

Returns

float (opens new window)

Throws

# getAdjustments()

View source (opens new window)

Returns

craft\commerce\models\OrderAdjustment[], null (opens new window)

Throws

# getAdjustmentsByType()

Since
3.0

View source (opens new window)

Arguments

  • $type

# getAdjustmentsTotal()

View source (opens new window)

# getAvailableShippingMethodOptions()

Since
3.1

View source (opens new window)

Returns

craft\commerce\models\ShippingMethodOption[]

# getBillingAddress()

Get the billing address on the order.

View source (opens new window)

# getCpEditUrl()

Returns the element’s edit URL in the control panel.

View source (opens new window)

Returns

string (opens new window), null (opens new window)

# getCustomer()

Example

$customer = $order->customer;

# getCustomerId()

Since
4.0.0

Returns the order customer ID.

View source (opens new window)

Returns

integer (opens new window), null (opens new window)

# getCustomerLinkHtml()

Since
3.0

Customer represented as HTML Customer User link represented as HTML

View source (opens new window)

Returns

string (opens new window)

# getEmail()

Returns the email for this order. Will always be the registered users email if the order's customer is related to a user.

View source (opens new window)

# getEstimatedBillingAddress()

Since
2.2

View source (opens new window)

# getEstimatedShippingAddress()

Since
2.2

View source (opens new window)

# getGateway()

View source (opens new window)

Returns

craft\commerce\base\GatewayInterface, null (opens new window)

Throws

# getHistories()

View source (opens new window)

Returns

craft\commerce\models\OrderHistory[]

# getIsActiveCart()

Returns whether this order is the user's current active cart.

View source (opens new window)

Throws

# getIsEmpty()

Returns whether the order has any items in it.

View source (opens new window)

# getIsPaid()

View source (opens new window)

# getIsUnpaid()

View source (opens new window)

# getItemSubtotal()

Returns the total of all line item's subtotals.

View source (opens new window)

# getItemTotal()

View source (opens new window)

# getLastTransaction()

View source (opens new window)

# getLineItems()

View source (opens new window)

Returns

craft\commerce\models\LineItem[]

Returns an anchor pre-filled with this element’s URL and title.

View source (opens new window)

Returns

\Twig\Markup, null (opens new window)

# getLoadCartUrl()

Returns the URL to the cart’s load action url

View source (opens new window)

Returns

string (opens new window), null (opens new window) – The URL to the order’s load cart URL, or null if the cart is an order

# getMetadata()

Returns element metadata that should be shown within the editor sidebar.

View source (opens new window)

Returns

array (opens new window) – The data, with keys representing the labels. The values can either be strings or callables. If a value is false, it will be omitted.

# getNestedTransactions()

Returns an array of transactions for the order that have child transactions set on them.

View source (opens new window)

Returns

craft\commerce\models\Transaction[]

# getOrderAdjustments()

View source (opens new window)

# getOrderSite()

Since
3.2.9

Get the site for the order.

View source (opens new window)

# getOrderStatus()

View source (opens new window)

Throws

# getOrderStatusHtml()

View source (opens new window)

# getOutstandingBalance()

Returns the difference between the order amount and amount paid.

View source (opens new window)

# getPaidStatus()

What is the status of the orders payment

View source (opens new window)

# getPaidStatusHtml()

Paid status represented as HTML

View source (opens new window)

# getPaymentAmount()

Returns the paymentAmount for this order.

View source (opens new window)

Throws

# getPaymentCurrency()

Returns the current payment currency, and defaults to the primary currency if not set.

View source (opens new window)

# getPaymentSource()

Returns the order's selected payment source if any.

View source (opens new window)

Throws

# getPdfUrl()

Returns the URL to the order’s PDF invoice.

View source (opens new window)

Arguments

Returns

string (opens new window), null (opens new window) – The URL to the order’s PDF invoice, or null if the PDF template doesn’t exist

# getRecalculationMode()

Gets the recalculation mode of the order

View source (opens new window)

# getShippingAddress()

  • Get the shipping address on the order.

View source (opens new window)

# getShippingMethod()

View source (opens new window)

Returns

craft\commerce\models\ShippingMethod, null (opens new window)

Throws

# getShortNumber()

View source (opens new window)

# getTotal()

Returns the raw total of the order, which is the total of all line items and adjustments. This number can be negative, so it is not the price of the order.

See also craft\commerce\elements\Order::getTotalPrice() – The actual total price of the order View source (opens new window)

# getTotalAuthorized()

View source (opens new window)

Returns

float (opens new window)

# getTotalDiscount()

The total amount of discount adjustments.

View source (opens new window)

Returns

float (opens new window)

# getTotalPaid()

Returns the total purchase and captured transactions belonging to this order.

View source (opens new window)

# getTotalPrice()

Get the total price of the order, whose minimum value is enforced by the configured {@link Settings::minimumTotalPriceStrategy strategy set for minimum total price}.

View source (opens new window)

# getTotalQty()

Returns total number of items.

View source (opens new window)

# getTotalSaleAmount()

Returns the total sale amount.

View source (opens new window)

# getTotalShippingCost()

The total amount of shipping adjustments.

View source (opens new window)

Returns

float (opens new window)

# getTotalTax()

The total amount of tax adjustments that are additive taxes that affect total price.

View source (opens new window)

Returns

float (opens new window)

# getTotalTaxIncluded()

The total amount of tax adjustments on the order that are included in the price, and do not affect total price.

View source (opens new window)

Returns

float (opens new window)

# getTotalWeight()

View source (opens new window)

# getTransactions()

View source (opens new window)

Returns

craft\commerce\models\Transaction[]

# getUser()

DEPRECATED

Deprecated in 4.0.0. Use getCustomer() instead.

View source (opens new window)

# hasLineItems()

View source (opens new window)

# hasMatchingAddresses()

Since
4.1.0

Returns whether the billing and shipping addresses' data matches

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# hasOutstandingBalance()

View source (opens new window)

# hasShippableItems()

Since
3.4

View source (opens new window)

# init()

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

View source (opens new window)

# isPaymentAmountPartial()

Since
3.4.10

Returns whether the payment amount currently set is a partial amount of the order's outstanding balance.

View source (opens new window)

Throws

# lowerDisplayName()

Returns the lowercase version of displayName().

View source (opens new window)

Returns

string (opens new window)

# markAsComplete()

Marks the order as complete and sets the default order status, then saves the order.

View source (opens new window)

Throws

# pluralDisplayName()

Returns the plural version of displayName().

View source (opens new window)

Returns

string (opens new window)

# pluralLowerDisplayName()

Returns the plural, lowercase version of displayName().

View source (opens new window)

Returns

string (opens new window)

# recalculate()

Regenerates all adjusters and updates line items, depending on the current recalculationMode

View source (opens new window)

Throws

# removeBillingAddress()

Since
3.1

View source (opens new window)

# removeLineItem()

Removes a specific line item from the order.

View source (opens new window)

Arguments

  • $lineItem

# removeShippingAddress()

Since
3.1

View source (opens new window)

# setAdjustments()

View source (opens new window)

Arguments

# setBillingAddress()

Set the billing address on the order.

View source (opens new window)

Arguments

# setCustomer()

Sets the order's customer.

View source (opens new window)

Arguments

# setCustomerId()

Since
4.0.0

Sets the order customer ID.

View source (opens new window)

Arguments

# setEmail()

Sets the orders user based on the email address provided.

View source (opens new window)

Arguments

Throws

# setEstimatedBillingAddress()

Since
2.2

View source (opens new window)

Arguments

  • $address

# setEstimatedShippingAddress()

Since
2.2

View source (opens new window)

Arguments

  • $address

# setGatewayId()

Sets the order's selected gateway id.

View source (opens new window)

Arguments

  • $gatewayId

# setLineItems()

View source (opens new window)

Arguments

# setPaymentAmount()

Sets the order's payment amount in the order's currency. This amount is not persisted.

View source (opens new window)

Arguments

  • $amount

Throws

# setPaymentCurrency()

View source (opens new window)

Arguments

# setPaymentSource()

Sets the order's selected payment source

View source (opens new window)

Arguments

  • $paymentSource

# setRecalculationMode()

Sets the recalculation mode of the order

View source (opens new window)

Arguments

  • $value

# setShippingAddress()

Set the shipping address on the order.

View source (opens new window)

Arguments

# setTransactions()

Since
3.2.0

Set transactions on the order. Set to null to clear cache and force next getTransactions() call to get the latest transactions.

View source (opens new window)

Arguments

# updateOrderPaidInformation()

Updates the paid status and paid date of the order, and marks as complete if the order is paid or authorized.

View source (opens new window)

# Protected Methods

Method Description
cacheTags() (opens new window) Returns the cache tags that should be cleared when this element is saved.
cpEditUrl() (opens new window) Returns the element’s edit URL in the control panel.
defineActions() Defines the available element actions for a given source.
defineBehaviors() (opens new window) Returns the behaviors to attach to this class.
defineDefaultTableAttributes() Returns the list of table attribute keys that should be shown by default.
defineExporters() Defines the available element exporters for a given source.
defineFieldLayouts() (opens new window) Defines the field layouts associated with elements for a given source.
defineRules() Returns the validation rules for attributes.
defineSearchableAttributes() Defines which element attributes should be searchable.
defineSortOptions() Returns the sort options for the element type.
defineSources() Defines the sources that elements of this type may belong to.
defineTableAttributes() Defines all of the available columns that can be shown in table views.
extractFieldsFor() (opens new window) Extract nested fields from a fields collection for a given root field Nested fields are separated with dots (.). e.g: "item.id" The previous example would extract "id".
extractRootFields() (opens new window) Extracts the root field names from nested fields.
fieldByHandle() (opens new window) Returns the field with a given handle.
fieldLayoutFields() (opens new window) Returns each of this element’s fields.
findByCondition() (opens new window) Finds Element instance(s) by the given condition.
hasFieldLayout() (opens new window) Returns whether the element has a field layout with at least one tab.
hasNewParent() (opens new window) Returns whether the element has been assigned a new parent.
htmlAttributes() Returns any attributes that should be included in the element’s DOM representation in the control panel.
includeSetStatusAction() (opens new window) Returns whether the Set Status action should be included in actions() (opens new window) automatically.
metaFieldsHtml() (opens new window) Returns the HTML for any meta fields that should be shown within the editor sidebar.
metadata() (opens new window) Returns element metadata that should be shown within the editor sidebar.
normalizeFieldValue() (opens new window) Normalizes a field’s value.
notesFieldHtml() (opens new window) Returns the notes field HTML for the sidebar.
previewTargets() (opens new window) Returns the additional locations that should be available for previewing the element, besides its primary URL (opens new window).
resolveFields() (opens new window) Determines which fields can be returned by toArray() (opens new window).
route() (opens new window) Returns the route that should be used when the element’s URI is requested.
searchKeywords() (opens new window) Returns the search keywords for a given search attribute.
slugFieldHtml() (opens new window) Returns the HTML for the element’s Slug field.
statusFieldHtml() (opens new window) Returns the status field HTML for the sidebar.
tableAttributeHtml() Returns the HTML that should be shown for a given attribute in Table View.
uiLabel() (opens new window) Returns what the element should be called within the control panel.

# defineRules()

Returns the validation rules for attributes.

See rules() (opens new window) for details about what should be returned.

Models should override this method instead of rules() (opens new window) so EVENT_DEFINE_RULES (opens new window) handlers can modify the class-defined rules.

View source (opens new window)

Returns

array (opens new window)

# Constants

Constant Description
ATTR_STATUS_MODIFIED
ATTR_STATUS_OUTDATED
HOMEPAGE_URI
ORIGIN_CP Order created from the control panel.
ORIGIN_REMOTE Order created by a remote source.
ORIGIN_WEB Order created from the front end.
PAID_STATUS_OVERPAID Payments exceed order total.
PAID_STATUS_PAID Payments equal order total.
PAID_STATUS_PARTIAL Payments less than order total.
PAID_STATUS_UNPAID Payments total zero on non-free order.
RECALCULATION_MODE_ADJUSTMENTS_ONLY Recalculates adjustments only; does not recalculate line items or populate from purchasables.
RECALCULATION_MODE_ALL Recalculates line items, populates from purchasables, and regenerates adjustments.
RECALCULATION_MODE_NONE Does not recalculate anything on the order.
SCENARIO_DEFAULT The name of the default scenario.
SCENARIO_ESSENTIALS
SCENARIO_LIVE
STATUS_ARCHIVED
STATUS_DISABLED
STATUS_ENABLED

# Events

# EVENT_AFTER_ADD_LINE_ITEM

Type
yii\base\Event (opens new window)

The event that is triggered after a line item has been added to an order.

use craft\commerce\elements\Order;
use craft\commerce\events\LineItemEvent;
use craft\commerce\models\LineItem;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_AFTER_ADD_LINE_ITEM,
    function(LineItemEvent $event) {
        // @var LineItem $lineItem
        $lineItem = $event->lineItem;
        // @var bool $isNew
        $isNew = $event->isNew;
        // ...
    }
);

# EVENT_AFTER_APPLY_ADD_LINE_ITEM

Type
yii\base\Event (opens new window)

The event that is triggered after a line item has been added to an order.

use craft\commerce\elements\Order;
use craft\commerce\events\LineItemEvent;
use craft\commerce\models\LineItem;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_AFTER_APPLY_ADD_LINE_ITEM,
    function(LineItemEvent $event) {
        // @var LineItem $lineItem
        $lineItem = $event->lineItem;
        // @var bool $isNew
        $isNew = $event->isNew;
        // ...
    }
);

# EVENT_AFTER_APPLY_REMOVE_LINE_ITEM

Type
yii\base\Event (opens new window)

The event that is triggered after a line item has been removed from an order.

use craft\commerce\elements\Order;
use craft\commerce\events\LineItemEvent;
use craft\commerce\models\LineItem;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_AFTER_APPLY_REMOVE_LINE_ITEM,
    function(LineItemEvent $event) {
        // @var LineItem $lineItem
        $lineItem = $event->lineItem;
        // @var bool $isNew
        $isNew = $event->isNew;
        // ...
    }
);

# EVENT_AFTER_COMPLETE_ORDER

Type
yii\base\Event (opens new window)

The event that is triggered after an order is completed.

use craft\commerce\elements\Order;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_AFTER_COMPLETE_ORDER,
    function(Event $event) {
        // @var Order $order
        $order = $event->sender;
        // ...
    }
);

# EVENT_AFTER_ORDER_AUTHORIZED

Type
yii\base\Event (opens new window)

This event is raised after an order is authorized in full and completed

Plugins can get notified after an order is authorized in full and completed

use craft\commerce\elements\Order;
use yii\base\Event;

Event::on(Order::class, Order::EVENT_AFTER_ORDER_AUTHORIZED, function(Event $e) {
    // @var Order $order
    $order = $e->sender;
    // ...
});

# EVENT_AFTER_ORDER_PAID

Type
yii\base\Event (opens new window)

The event that is triggered after an order is paid and completed.

use craft\commerce\elements\Order;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_AFTER_ORDER_PAID,
    function(Event $event) {
        // @var Order $order
        $order = $event->sender;
        // ...
    }
);

# EVENT_AFTER_REMOVE_LINE_ITEM

Type
yii\base\Event (opens new window)

The event that is triggered after a line item has been removed from an order.

use craft\commerce\elements\Order;
use craft\commerce\events\LineItemEvent;
use craft\commerce\models\LineItem;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_AFTER_REMOVE_LINE_ITEM,
    function(LineItemEvent $event) {
        // @var LineItem $lineItem
        $lineItem = $event->lineItem;
        // @var bool $isNew
        $isNew = $event->isNew;
        // ...
    }
);

# EVENT_BEFORE_ADD_LINE_ITEM

Type
yii\base\Event (opens new window)

The event that is triggered before a new line item has been added to the order.

use craft\commerce\elements\Order;
use craft\commerce\models\LineItem;
use craft\commerce\events\AddLineItemEvent;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_BEFORE_ADD_LINE_ITEM,
    function(AddLineItemEvent $event) {
        // @var LineItem $lineItem
        $lineItem = $event->lineItem;
        // @var bool $isNew
        $isNew = $event->isNew;
        // ...
    }
);

# EVENT_BEFORE_APPLY_ADD_NOTICE

Type
yii\base\Event (opens new window)
Since
4.1.0

The event that is triggered before a notice has been added to the order.

use craft\commerce\elements\Order;
use craft\commerce\models\OrderNotice;
use craft\commerce\events\OrderNoticeEvent;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_BEFORE_APPLY_ADD_NOTICE,
    function(OrderNoticeEvent $event) {
        // @var OrderNotice $orderNotice
        $orderNotice = $event->orderNotice;
        // ...
    }
);

# EVENT_BEFORE_COMPLETE_ORDER

Type
yii\base\Event (opens new window)

The event that is triggered before an order is completed.

use craft\commerce\elements\Order;
use yii\base\Event;

Event::on(
    Order::class,
    Order::EVENT_BEFORE_COMPLETE_ORDER,
    function(Event $event) {
        // @var Order $order
        $order = $event->sender;
        // ...
    }
);