> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# Package: subscriptions

# Namespace: subscriptionContracts

# Webhook link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/subscriptions/subscription-contracts/subscription-contract-created.md

# Webhook Permissions Scopes IDs:
Read subscription contracts: SCOPE.ECOM.SUBSCRIPTION-CONTRACT-READ

## Introduction

Triggered when a subscription contract is created. Subscription contracts are created at checkout, 1 for each group of subscription items that are billed together, so 1 checkout can trigger this event more than once.

---

## REST API

### Schema

```
Webhook: Subscription Contract Created
Description: Triggered when a subscription contract is created. Subscription contracts are created at checkout, 1 for each group of subscription items that are billed together, so 1 checkout can trigger this event more than once.
Event body:
 - name: id | type: string | description: Unique event ID. Allows clients to ignore duplicate events.
 - name: entityFqdn | type: string | description: Fully qualified domain name of the entity associated with the event.
 - name: slug | type: string | description: Event name.
 - name: entityId | type: string | description: ID of the entity associated with the event.
 - name: eventTime | type: string (date-time) | description: Event timestamp.
 - name: triggeredByAnonymizeRequest | type: boolean | description: Whether the event was triggered as a result of a privacy regulation application such as GDPR.
 - name: originatedFrom | type: string | description: If present, indicates the action that triggered the event.
 - name: createdEvent | type: object | description: Created event details.
    - name: entity | type: SubscriptionContract | description: The created entity.
        - name: id | type: string | description: Subscription contract GUID.
        - name: revision | type: string | description: Revision number, which increments by 1 each time the subscription contract is updated.
        - name: createdDate | type: string | description: Date and time the subscription contract was created.
        - name: updatedDate | type: string | description: Date and time the subscription contract was last updated.
        - name: subscriptionDescription | type: SubscriptionDescription | description: Subscription description, in the site's default language and translated into the buyer's language. For example, `"1kg of selected coffee, once a month"`.  For a subscription contract with more than one line item, holds a general name for the subscription.
           - name: original | type: string | description: Subscription description in the site's default language.
           - name: translated | type: string | description: Subscription description translated into the buyer's language.
        - name: subscriptionSettings | type: SubscriptionSettings | description: Subscription terms, such as the billing frequency, the number of billing cycles, and whether the subscription renews automatically.
           - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the billing cycle.
               - enum:
               -     UNDEFINED: 
               -     DAY: Day.
               -     WEEK: Week.
               -     MONTH: Month.
               -     YEAR: Year.
           - name: interval | type: integer | description: Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.
           - name: autoRenewal | type: boolean | description: Whether the subscription renews automatically at the end of each billing cycle.
           - name: billingCycles | type: integer | description: Number of billing cycles before the subscription ends.
           - name: enableCustomerCancellation | type: boolean | description: Whether the buyer can cancel the subscription.
           - name: freeTrialPeriod | type: FreeTrialPeriod | description: Free trial period before the first billing cycle starts.  Returned only when the subscription has a free trial.
              - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the free trial period.
                   - enum:
                   -     UNDEFINED: 
                   -     DAY: Day.
                   -     WEEK: Week.
                   -     MONTH: Month.
                   -     YEAR: Year.
              - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.
        - name: lineItems | type: array<OrderLineItem> | description: Subscription line items. The order for each billing cycle is created with these line items.  In a subscription contract: + `lineItems.subscriptionInfo.id` is the subscription contract's own GUID. + `lineItems.subscriptionInfo.cycleNumber` is always `0`. The billing cycle is set on the line items of each cycle's order. + `subscriptionInfo.title` and `subscriptionInfo.description` hold the subscription contract's title and description, not the line item's own subscription option. + `refundQuantity`, `restockQuantity`, and `depositAmount` aren't updated after the line item is added. Refunds, restocks, and fulfillment are recorded on each billing cycle's order. + `extendedFields` and `decimalQuantity` aren't returned. + When coupons were included in item prices at checkout, `price` is the price before coupons, and the coupons are in `appliedDiscounts`.
           - name: id | type: string | description: Line item GUID.
           - name: productName | type: ProductName | description: Item name.  + Stores - `product.name` + Bookings - `service.info.name` + Events - `ticket.name`
              - name: original | type: string | description: __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).  Min: 1 character. Max: 200 characters.
              - name: translated | type: string | description: Item name translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.
           - name: catalogReference | type: CatalogReference | description: References to the line item's origin catalog. Empty for custom line items.
              - name: catalogItemId | type: string | description: GUID of the item within the catalog it belongs to.
              - name: appId | type: string | description: GUID of the app providing the catalog.  You can get your app's GUID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  For items from Wix catalogs, the following values always apply: + Wix Stores: `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` + Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` + Wix Restaurants: `"9a5d83fd-8570-482e-81ab-cfa88942ee60"`
              - name: options | type: object | description: Additional item details in `key:value` pairs.  Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.  For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration.md) or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration.md), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction.md).
           - name: quantity | type: integer | description: Line item quantity.
           - name: totalDiscount | type: Price | description: Total discount for this line item's entire quantity.
              - name: amount | type: string | description: Amount.
              - name: formattedAmount | type: string | description: Amount formatted with currency symbol.
           - name: descriptionLines | type: array<DescriptionLine> | description: Line item description lines. Used for display purposes for the cart, checkout and order.
              - ONE-OF:
                 - name: plainText | type: PlainTextValue | description: Description line plain text value.
                    - name: original | type: string | description: Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                    - name: translated | type: string | description: Description line plain text value translated into the buyer's language.  Default: Same as `original`.
                 - name: colorInfo | type: Color | description: Description line color value.
                    - name: original | type: string | description: Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                    - name: translated | type: string | description: Description line color name translated into the buyer's language.  Default: Same as `original`.
                    - name: code | type: string | description: HEX or RGB color code for display.
              - name: name | type: DescriptionLineName | description: Description line name.
                 - name: original | type: string | description: Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                 - name: translated | type: string | description: Description line name translated into the buyer's language.  Default: Same as `original`.
           - name: image | type: Image | description: Line item image.
              - name: id | type: string | description: WixMedia image GUID.
              - name: url | type: string | description: Image URL.
              - name: height | type: integer | description: Original image height.
              - name: width | type: integer | description: Original image width.
              - name: altText | type: string | description: Image alt text.
              - name: filename | type: string | description: Image filename.
           - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item. When relevant, contains information such as SKU and item weight.
              - name: weight | type: number | description: Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.
              - name: sku | type: string | description: Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).
              - name: shippable | type: boolean | description: Whether this line item is shippable.
           - name: itemType | type: ItemType | description: Item type. Either a preset type or custom.
              - ONE-OF:
                 - name: preset | type: ItemTypePreset | description: Preset item type.
                       - enum: UNRECOGNISED, PHYSICAL, DIGITAL, GIFT_CARD, SERVICE
                 - name: custom | type: string | description: Custom item type. When none of the preset types are suitable, specifies the custom type.
           - name: fulfillerId | type: string | description: Fulfiller GUID. Field is empty when the line item is self-fulfilled. To get fulfillment information, pass the order GUID to [List Fulfillments For Single Order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/list-fulfillments-for-single-order.md).
           - name: refundQuantity | type: integer | description: Number of items that were refunded.
           - name: restockQuantity | type: integer | description: Number of items restocked.  For a per-location breakdown, see `restockLocations`.
           - name: price | type: Price | description: Line item price after line item discounts for display purposes.
           - name: priceBeforeDiscounts | type: Price | description: Line item price before line item discounts for display purposes. Defaults to `price` when not provided.
           - name: totalPriceBeforeTax | type: Price | description: Total price after discounts, and before tax.
           - name: totalPriceAfterTax | type: Price | description: Total price after all discounts and tax.
           - name: paymentOption | type: PaymentOptionType | description: Type of selected payment option for current item.  Default: `FULL_PAYMENT_ONLINE`
               - enum:
               -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
               -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
               -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
               -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
               -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
               -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
           - name: taxInfo | type: LineItemTaxInfo | description: Represents all the relevant tax details for a specific line item.
              - name: taxAmount | type: Price | description: Calculated tax, based on `taxable_amount` and `tax_rate`.
              - name: taxableAmount | type: Price | description: Amount for which tax is calculated.
              - name: taxRate | type: string | description: Tax rate %, as a decimal point.
              - name: taxGroupId | type: string | description: Tax group GUID.
              - name: taxIncludedInPrice | type: boolean | description: Indicates whether the price already includes tax.
              - name: taxBreakdown | type: array<LineItemTaxBreakdown> | description: Tax information for a line item.
                 - name: jurisdiction | type: string | description: Jurisdiction that taxes were calculated for. For example, "New York", or "Quebec".
                 - name: rate | type: string | description: Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.
                 - name: taxAmount | type: Price | description: Amount of tax calculated for this line item.
                 - name: taxType | type: string | description: The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, "Sales Tax", "Income Tax", "Value Added Tax", etc.
                 - name: taxName | type: string | description: The name of the tax against which this tax amount was calculated. For example, "NY State Sales Tax", "Quebec GST", etc. This name should be explicit enough to allow the merchant to understand what tax was calculated.
                 - name: jurisdictionType | type: JurisdictionType | description: Type of jurisdiction that taxes were calculated for.
                       - enum: UNDEFINED, COUNTRY, STATE, COUNTY, CITY, SPECIAL
                 - name: nonTaxableAmount | type: Price | description: Non-taxable amount of the line item price.
                 - name: taxableAmount | type: Price | description: Taxable amount of the line item price.
           - name: digitalFile | type: DigitalFile | description: Digital file identifier, relevant only for items with type DIGITAL.
              - name: fileId | type: string | description: GUID of the secure file in media.
              - name: link | type: string | description: Link will exist after the digital links have been generated on the order.
              - name: expirationDate | type: string | description: Link expiration time and date.
           - name: subscriptionInfo | type: SubscriptionInfo | description: Subscription info.
              - name: id | type: string | description: Subscription GUID.  For a subscription bought through Wix eCommerce, this is the GUID of the subscription contract the order was created from. To retrieve the subscription contract, call [Get Subscription Contract](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/subscriptions/subscription-contracts/get-subscription-contract.md).
              - name: cycleNumber | type: integer | description: Billing cycle the order is for. For example, `3` for the third billing cycle of a subscription. When a subscription starts with a free trial, the order created at checkout is for cycle `0`.
              - name: subscriptionSettings | type: SubscriptionSettings | description: Subscription detailed information.
                 - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the billing cycle.
                       - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                 - name: interval | type: integer | description: Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.
                 - name: autoRenewal | type: boolean | description: Whether the subscription renews automatically at the end of each billing cycle.
                 - name: billingCycles | type: integer | description: Number of billing cycles before the subscription ends. Ignored when `autoRenewal` is `true`.
                 - name: enableCustomerCancellation | type: boolean | description: Whether the buyer can cancel the subscription.
                 - name: freeTrialPeriod | type: FreeTrialPeriod | description: Free trial period before the first billing cycle starts.  Returned only when the subscription has a free trial.
                    - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the free trial period.
                           - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                    - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.
              - name: chargesDescription | type: string | description: Description of the charges that will be applied for subscription.
           - name: priceDescription | type: PriceDescription | description: Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67".
              - name: original | type: string | description: __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
              - name: translated | type: string | description: Price description translated into the buyer's language.  Default: Same as `original`.
           - name: depositAmount | type: Price | description: Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `"DEPOSIT_ONLINE"`.
           - name: locations | type: array<LocationAndQuantity> | description: Line item locations.  The location's total quantity must not exceed the line item quantity.
              - name: id | type: string | description: Location id in the associated owner app.
              - name: quantity | type: integer | description: Quantity for specific location.
              - name: name | type: string | description: Location name.
           - name: lineItemPrice | type: Price | description: Total price **after** catalog discounts and line item discounts.
           - name: taxableAddress | type: TaxableAddress | description: Address used for tax calculation.
              - ONE-OF:
                 - name: addressType | type: TaxableAddressType | description: taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.
                       - enum: BUSINESS, BILLING, SHIPPING
           - name: priceUndetermined | type: boolean | description: Whether the price is not yet defined, and will be updated after the order is created.  Default: `false`
           - name: fixedQuantity | type: boolean | description: Whether the line item quantity is fixed and cannot be changed.  Default: `false`
           - name: decimalQuantity | type: DecimalQuantity | description: Decimal-quantity metadata. Set when the line represents a non-integer purchase (e.g. 2.75 m² of fake grass).  When set, the line item must have `fixedQuantity` = true and be set with `quantity` = 1. The decimal value lives in `decimalQuantity.value`.
              - ONE-OF:
                 - name: measurementUnit | type: MeasurementUnit | description: Unit the value is expressed in, selected from the standard `measurementUnit` enum.
                       - enum: UNSPECIFIED, ML, CL, L, CBM, MG, G, KG, MM, CM, M, SQM, OZ, LB, FLOZ, PT, QT, GAL, IN, FT, YD, SQFT
                 - name: otherUnit | type: string | description: Free-form unit name for standard units not in the `measurementUnit` enum (e.g. "hour", "minute", "session").
              - name: value | type: string | description: The decimal quantity the buyer / merchant entered.  String-encoded decimal. The exact value is preserved — no rounding, no conversion to an integer.  Examples: "2.75", "1.5", "0.75".
              - name: description | type: TranslatableString | description: Human-readable, pre-formatted display string for the quantity. For example, "2.75 square meters of fake grass". Always set alongside `value`; use this directly for display rather than composing your own string from `value` and `unit`.
                 - name: original | type: string | description: __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).  Min: 1 character. Max: 200 characters.
                 - name: translated | type: string | description: String translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.
           - name: extendedFields | type: ExtendedFields | description: Custom extended fields for the line item object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.
              - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).
           - name: modifierGroups | type: array<ModifierGroup> | description: Modifier groups that were added to the item.
              - name: id | type: string | description: Modifier group GUID.
              - name: name | type: TranslatableString | description: Modifier group name.
              - name: modifiers | type: array<ItemModifier> | description: List of modifiers in this group.
                 - name: id | type: string | description: Modifier GUID.
                 - name: quantity | type: integer | description: The quantity of this modifier.
                 - name: label | type: TranslatableString | description: Primary display label for the modifier.
                 - name: details | type: TranslatableString | description: Additional details.
                 - name: price | type: Price | description: The price of the modifier.
        - name: buyerInfo | type: BuyerInfo | description: Buyer information.
           - ONE-OF:
              - name: visitorId | type: string | description: Visitor GUID. Returned when the buyer isn't a logged-in site member.
              - name: memberId | type: string | description: Member GUID. Returned when the buyer is a logged-in site member.
           - name: contactId | type: string | description: Contact GUID. Automatically created if one doesn't exist. For more information, see [Contacts API](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/introduction.md).
           - name: email | type: string | description: Buyer's email address.
        - name: buyerLanguage | type: string | description: Language for communication with the buyer. For a site that supports multiple languages, this is the language the buyer selected.  Default: Site language
        - name: weightUnit | type: WeightUnit | description: Weight measurement unit.  Default: Site's weight unit
           - enum:
           -     UNSPECIFIED_WEIGHT_UNIT: Weight unit can't be classified due to an error.
           -     KG: Kilograms.
           -     LB: Pounds.
        - name: currency | type: string | description: Currency used for the subscription contract's pricing, as a three-letter currency code in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) alphabetic format.
        - name: currencyConversionDetails | type: CurrencyConversionDetails | description: Multi-currency details for a subscription paid in a currency other than the site's currency.
           - name: originalCurrency | type: string | description: Currency used for the pricing of this order, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.  This currency is used to calculate the pricing before conversion to the buyer's payment currency.
           - name: conversionRate | type: string | description: The rate used for converting the original currency to the currency used for payment.  Returned only when a single rate produced every amount on the order. This is the case for an order converted once at checkout.
        - name: taxIncludedInPrices | type: boolean | description: Whether tax is included in line item prices.  Default: `false`
        - name: priceSummary | type: PriceSummary | description: Price summary of a single billing cycle.
           - name: subtotal | type: Price | description: Subtotal of all line items, before discounts and before tax.
           - name: shipping | type: Price | description: Total shipping price, before discounts and before tax.
           - name: tax | type: Price | description: Total tax applied to the order.
           - name: discount | type: Price | description: Total discount amount applied to the order.
           - name: total | type: Price | description: Order's total price after discounts and tax.
           - name: totalAdditionalFees | type: Price | description: Total additional fees before tax.
        - name: platformFeeSummary | type: PlatformFeeSummary | description: Summary of platform fees calculated at checkout, including totals by charge type and a breakdown of individual fees.  Not updated when draft changes are committed. Each billing cycle's order holds the platform fees for that cycle.
           - name: total | type: Price | description: Total sum of all platform fees.
           - name: totalPassOn | type: Price | description: Total amount of platform fees with `PASS_ON` charge type.
           - name: totalAbsorbed | type: Price | description: Total amount of platform fees with `ABSORBED` charge type.
           - name: fees | type: array<PlatformFee> | description: Specific information about each platform fee.
              - name: name | type: TranslatableString | description: Platform fee name.
              - name: amount | type: Price | description: Platform fee amount.
              - name: lineItemId | type: string | description: GUID of the line item the platform fee applies to.
              - name: chargeType | type: ChargeType | description: Platform fee charge type.
                   - enum:
                   -     PASS_ON: Platform fee passed on to buyer.  This type increases the order total, and is visible to the buyer and merchant as an additional fee.
                   -     ABSORBED: Platform fee absorbed by merchant.  This type does not increase the order total, and is only visible to the merchant.
              - name: percentageRate | type: string | description: Percentage rate charged as platform fee. The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.
        - name: billingInfo | type: AddressWithContact | description: Billing address and contact details.
           - name: address | type: Address | description: Address.
              - name: country | type: string | description: Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.
              - name: subdivision | type: string | description: Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.
              - name: city | type: string | description: City name.
              - name: postalCode | type: string | description: Postal or zip code.
              - name: streetAddress | type: StreetAddress | description: Street address.
                 - name: number | type: string | description: Street number.
                 - name: name | type: string | description: Street name.
              - name: addressLine | type: string | description: Main address line (usually street name and number).
              - name: addressLine2 | type: string | description: Free text providing more detailed address info. Usually contains apt, suite, floor.
              - name: geocode | type: AddressLocation | description: Geocode object containing latitude and longitude coordinates.
                 - name: latitude | type: number | description: Address latitude.
                 - name: longitude | type: number | description: Address longitude.
              - name: countryFullname | type: string | description: Country's full name.
              - name: subdivisionFullname | type: string | description: Subdivision full-name.
           - name: contactDetails | type: FullAddressContactDetails | description: Contact details.
              - name: firstName | type: string | description: First name.
              - name: lastName | type: string | description: Last name.
              - name: phone | type: string | description: Phone number.
              - name: company | type: string | description: Company name.
              - name: vatId | type: VatId | description: Tax information (for Brazil only). If GUID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.
                 - name: id | type: string | description: Customer's tax GUID.
                 - name: type | type: VatType | description: Tax type.  Supported values: + `CPF`: for individual tax payers + `CNPJ`: for corporations
                       - enum:
                       -     UNSPECIFIED: 
                       -     CPF: CPF - for individual tax payers.
                       -     CNPJ: CNPJ - for corporations
        - name: shippingInfo | type: ShippingInformation | description: Shipping information and selected shipping option details.
           - name: carrierId | type: string | description: App Def Id of external provider which was a source of shipping info
           - name: code | type: string | description: Unique code (or GUID) of selected shipping option. For example, `"usps_std_overnight"`.
           - name: title | type: string | description: Shipping option title. For example, `"USPS Standard Overnight Delivery"`, `"Standard"` or `"First-Class Package International"`.
           - name: logistics | type: DeliveryLogistics | description: Shipping logistics.
              - ONE-OF:
                 - name: shippingDestination | type: AddressWithContact | description: Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address.
                 - name: pickupDetails | type: PickupDetails | description: Pickup details for store pickup or pickup point orders.
                    - name: address | type: PickupAddress | description: Pickup address.
                       - name: country | type: string | description: Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.
                       - name: subdivision | type: string | description: Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.
                       - name: city | type: string | description: City name.
                       - name: postalCode | type: string | description: Postal or zip code.
                       - name: streetAddress | type: StreetAddress | description: Street address object, with number, name, and apartment number in separate fields.
                       - name: addressLine | type: string | description: Main address line (usually street name and number).
                       - name: addressLine2 | type: string | description: Free text providing more detailed address info. Usually contains apt, suite, floor.
                       - name: countryFullname | type: string | description: Country's full name.
                       - name: subdivisionFullname | type: string | description: Subdivision full-name.
                    - name: pickupMethod | type: PickupMethod | description: Pickup method
                           - enum: STORE_PICKUP, PICKUP_POINT
              - name: deliveryTime | type: string | description: Expected delivery time in free text. For example, `"3-5 business days"`.
              - name: instructions | type: string | description: Instructions for the carrier. For example, `"Please knock on the door. If unanswered, please call contact number."`.
              - name: deliveryTimeSlot | type: DeliveryTimeSlot | description: Expected delivery time slot with start and end times.
                 - name: from | type: string | description: Delivery slot starting time.
                 - name: to | type: string | description: Delivery slot ending time.
           - name: cost | type: ShippingPrice | description: Shipping costs.
              - name: price | type: Price | description: Shipping price for display purposes.
              - name: totalPriceBeforeTax | type: Price | description: Total price of shipping after discounts (when relevant), and before tax.
              - name: totalPriceAfterTax | type: Price | description: Shipping price after all discounts (if any exist), and after tax.
              - name: taxInfo | type: LineItemTaxInfo | description: Represents all the relevant tax details for a shipping.
              - name: discount | type: Price | description: Shipping discount before tax.
           - name: region | type: ShippingRegion | description: Shipping region.
              - name: name | type: string | description: Name of shipping region. For example, `"Metropolitan London"`, or `"Outer Melbourne suburbs"`.
        - name: appliedDiscounts | type: array<AppliedDiscount> | description: Discounts applied to the subscription contract.
           - ONE-OF:
              - name: coupon | type: Coupon | description: Coupon applied by the customer.
                 - name: id | type: string | description: Coupon GUID.
                 - name: code | type: string | description: Coupon code.
                 - name: name | type: string | description: Coupon name.
                 - name: amount | type: Price | description: Total amount the coupon took off.
              - name: merchantDiscount | type: MerchantDiscount | description: Discount applied manually by the merchant.
                 - ONE-OF:
                    - name: discountReason | type: DiscountReason | description: Predefined discount reason.
                           - enum:
                           -     UNSPECIFIED: Unknown discount reason.
                           -     EXCHANGED_ITEMS: Balance adjustment resulting from an item exchange.
                           -     BILLING_ADJUSTMENT: Proportional discount for a shortened subscription billing cycle. Applied when a subscription's billing date is moved earlier, reducing the cycle length.
                    - name: description | type: string | description: Custom discount description as free text.
                 - name: amount | type: Price | description: Discount amount.
              - name: discountRule | type: DiscountRule | description: Automatic discount applied by the system based on configured discount rules.
                 - name: id | type: string | description: Discount rule GUID
                 - name: name | type: DiscountRuleName | description: Discount rule name
                    - name: original | type: string | description: Original discount rule name (in site's default language).
                    - name: translated | type: string | description: Translated discount rule name according to buyer language. Defaults to `original` when not provided.
                 - name: amount | type: Price | description: Total amount the discount rule took off.
           - name: discountType | type: DiscountType | description: Discount type.
               - enum:
               -     GLOBAL: Discount applies to the entire order.
               -     SPECIFIC_ITEMS: Discount applies to specific items.
               -     SHIPPING: Discount applies to shipping. For example, free shipping.
           - name: id | type: string | description: Discount GUID.
           - name: lineItemDiscounts | type: array<LineItemDiscount> | description: Line items the discount applies to, including the discount amount for each.
              - name: id | type: string | description: Line item GUID.
              - name: totalDiscount | type: Price | description: Total discount amount for this line item.
        - name: channelInfo | type: ChannelInfo | description: Information about the sales channel the subscription was purchased through.
           - name: type | type: ChannelType | description: Sales channel that submitted the order.  When creating an order via the API to record an external order, use the channel type that matches the original source. If no matching type exists, use `OTHER_PLATFORM`.
               - enum:
               -     UNSPECIFIED: Unspecified sales channel. This value is not supported.
               -     WEB: A web client.
               -     POS: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395).
               -     EBAY: [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop).
               -     AMAZON: [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop).
               -     OTHER_PLATFORM: Other sales platform.
               -     WIX_APP_STORE: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview).
               -     WIX_INVOICES: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)
               -     BACKOFFICE_MERCHANT: Wix merchant backoffice.
               -     WISH: Wish sales channel.
               -     CLASS_PASS: [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass).
               -     GLOBAL_E: Global-E sales channel.
               -     FACEBOOK: [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops).
               -     ETSY: [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel).
               -     TIKTOK: [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel).
               -     FAIRE_COM: [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app).
               -     PAYPAL_AGENTIC_CHECKOUT: PayPal Agentic Checkout sales channel.
               -     STRIPE_AGENTIC_CHECKOUT: Stripe Agentic Checkout sales channel.
           - name: externalOrderId | type: string | description: Reference to an order GUID from an external system. Relevant when recording orders from external platforms.
           - name: externalOrderUrl | type: string | description: URL to the order in the external system. Relevant when recording orders from external platforms.
        - name: customFields | type: array<CustomField> | description: Custom fields.
           - name: value | type: Value | description: Custom field value.
              - ONE-OF:
                 - name: nullValue | type:  | description: 
                 - name: numberValue | type: number | description: 
                 - name: stringValue | type: string | description: 
                 - name: boolValue | type: boolean | description: 
                 - name: structValue | type: object | description: 
                 - name: listValue | type: ListValue | description: 
                    - name: values | type: array<Value> | description: 
           - name: title | type: string | description: Custom field title.
           - name: translatedTitle | type: string | description: Translated custom field title.
        - name: recipientInfo | type: AddressWithContact | description: Recipient address and contact details.  This field may differ from the address in `shippingInfo.logistics` when: + The chosen shipping option is pickup point or store pickup. + No shipping option is selected.
        - name: extendedFields | type: ExtendedFields | description: Custom field data for the subscription contract object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.
        - name: subscriptionTitle | type: SubscriptionTitle | description: Subscription title, in the site's default language and translated into the buyer's language. For example, `"Monthly coffee subscription"`.  For a subscription contract with more than one line item, holds a general name for the subscription.
           - name: original | type: string | description: Subscription title in the site's default language.
           - name: translated | type: string | description: Subscription title translated into the buyer's language.
        - name: additionalFees | type: array<AdditionalFee> | description: Additional fees applied to the subscription contract.
           - name: code | type: string | description: Additional fee's unique code for future processing.
           - name: name | type: string | description: Name of additional fee.
           - name: price | type: Price | description: Additional fee's price.
           - name: taxInfo | type: LineItemTaxInfo | description: Represents all the relevant tax details for additional fee.
           - name: providerAppId | type: string | description: SPI implementer's `appId`.
           - name: priceBeforeTax | type: Price | description: Additional fee's price before tax.
           - name: priceAfterTax | type: Price | description: Additional fee's price after tax.
           - name: id | type: string | description: Additional fee's id.
           - name: lineItemIds | type: array<string> | description: Optional - Line items associated with this additional fee. If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.
           - name: source | type: AdditionalFeeSource | description: Specifies the entity that added the additional fee.
               - enum:
               -     SERVICE_PLUGIN: The additional fee was added by an additional fee service plugin.
               -     ITEM: The additional fee was added to the item by a catalog or custom line item.
               -     MANUAL: The additional fee was added manually on request.
               -     SHIPPING: The additional fee was added by the shipping provider.
               -     PLATFORM: The additional fee was added by the Wix eCommerce platform.
           - name: taxableAddress | type: TaxableAddress | description: Address type tax was calculated against for this fee.

```

### Examples


```curl
{
  "id": "1b7d3e95-6a2c-4f8e-9d0b-3c5a7e1f9b24",
  "entityFqdn": "wix.ecom.subscription_contracts.v1.subscription_contract",
  "slug": "created",
  "entityId": "01d10356-9188-4ab2-90c1-acfcfeb488c1",
  "createdEvent": {
    "entity": {
      "id": "01d10356-9188-4ab2-90c1-acfcfeb488c1",
      "revision": "1",
      "createdDate": "2026-01-26T11:38:59.118Z",
      "updatedDate": "2026-01-26T11:38:59.118Z",
      "subscriptionTitle": {
        "original": "Monthly sun hat subscription",
        "translated": "Monthly sun hat subscription"
      },
      "subscriptionDescription": {
        "original": "A black sun hat delivered once a month for 12 months.",
        "translated": "A black sun hat delivered once a month for 12 months."
      },
      "subscriptionSettings": {
        "frequency": "MONTH",
        "interval": 1,
        "autoRenewal": false,
        "billingCycles": 12,
        "enableCustomerCancellation": false
      },
      "lineItems": [
        {
          "id": "00000000-0000-0000-0000-000000000001",
          "productName": {
            "original": "Simple Black Sun Hat",
            "translated": "Simple Black Sun Hat"
          },
          "catalogReference": {
            "catalogItemId": "25199b84-ed2f-4ced-a4cb-532f3df0968c",
            "appId": "0a0a36eb-ec3b-4f06-89cd-07ac85c0c761"
          },
          "quantity": 1,
          "totalDiscount": {
            "amount": "5.00",
            "formattedAmount": "$5.00"
          },
          "descriptionLines": [
            {
              "name": {
                "original": "Color",
                "translated": "Color"
              },
              "colorInfo": {
                "original": "Black",
                "translated": "Black",
                "code": "#000000"
              }
            }
          ],
          "itemType": {
            "preset": "PHYSICAL"
          },
          "priceBeforeDiscounts": {
            "amount": "20.00",
            "formattedAmount": "$20.00"
          },
          "price": {
            "amount": "20.00",
            "formattedAmount": "$20.00"
          },
          "subscriptionInfo": {
            "id": "01d10356-9188-4ab2-90c1-acfcfeb488c1",
            "cycleNumber": 0,
            "subscriptionSettings": {
              "frequency": "MONTH",
              "interval": 1,
              "autoRenewal": false,
              "billingCycles": 12,
              "enableCustomerCancellation": false
            }
          },
          "totalPriceBeforeTax": {
            "amount": "15.00",
            "formattedAmount": "$15.00"
          },
          "totalPriceAfterTax": {
            "amount": "15.00",
            "formattedAmount": "$15.00"
          },
          "paymentOption": "FULL_PAYMENT_ONLINE",
          "locations": [],
          "lineItemPrice": {
            "amount": "20.00",
            "formattedAmount": "$20.00"
          },
          "taxInfo": {
            "taxAmount": {
              "amount": "0.00",
              "formattedAmount": "$0.00"
            },
            "taxableAmount": {
              "amount": "0.00",
              "formattedAmount": "$0.00"
            },
            "taxRate": "0.0000",
            "taxIncludedInPrice": true,
            "taxBreakdown": []
          },
          "taxableAddress": {
            "addressType": "SHIPPING"
          },
          "priceUndetermined": false,
          "fixedQuantity": false,
          "modifierGroups": [],
          "physicalProperties": {
            "weight": 0.5,
            "sku": "HAT-BLK-001",
            "shippable": true
          }
        }
      ],
      "buyerInfo": {
        "contactId": "3c7b1f5e-8d2a-4e6b-9f1c-2a4d6e8b0c13",
        "email": "jane.doe@example.com",
        "memberId": "3c7b1f5e-8d2a-4e6b-9f1c-2a4d6e8b0c13"
      },
      "buyerLanguage": "en",
      "weightUnit": "LB",
      "currency": "USD",
      "taxIncludedInPrices": true,
      "priceSummary": {
        "subtotal": {
          "amount": "20.00",
          "formattedAmount": "$20.00"
        },
        "shipping": {
          "amount": "5.00",
          "formattedAmount": "$5.00"
        },
        "tax": {
          "amount": "0.00",
          "formattedAmount": "$0.00"
        },
        "discount": {
          "amount": "5.00",
          "formattedAmount": "$5.00"
        },
        "total": {
          "amount": "20.00",
          "formattedAmount": "$20.00"
        },
        "totalAdditionalFees": {
          "amount": "0.00",
          "formattedAmount": "$0.00"
        }
      },
      "platformFeeSummary": {
        "total": {
          "amount": "2.00",
          "formattedAmount": "$2.00"
        },
        "totalAbsorbed": {
          "amount": "2.00",
          "formattedAmount": "$2.00"
        },
        "fees": [
          {
            "name": {
              "original": "1st item Platform Fee"
            },
            "amount": {
              "amount": "2.00",
              "formattedAmount": "$2.00"
            },
            "lineItemId": "00000000-0000-0000-0000-000000000001",
            "chargeType": "ABSORBED",
            "percentageRate": "0.1"
          }
        ]
      },
      "billingInfo": {
        "address": {
          "country": "US",
          "subdivision": "US-NY",
          "city": "New York",
          "postalCode": "10011",
          "streetAddress": {
            "number": "235",
            "name": "W 23rd St"
          },
          "addressLine": "235 W 23rd St",
          "addressLine2": "Apartment 4",
          "countryFullname": "United States",
          "subdivisionFullname": "New York"
        },
        "contactDetails": {
          "firstName": "Jane",
          "lastName": "Doe",
          "phone": "2125555217",
          "company": "Doe Hats LLC"
        }
      },
      "shippingInfo": {
        "code": "standard-shipping",
        "title": "Standard Shipping",
        "logistics": {
          "deliveryTime": "3-5 business days",
          "shippingDestination": {
            "address": {
              "country": "US",
              "subdivision": "US-NY",
              "city": "New York",
              "postalCode": "10011",
              "streetAddress": {
                "number": "235",
                "name": "W 23rd St"
              },
              "addressLine": "235 W 23rd St",
              "addressLine2": "Apartment 4",
              "countryFullname": "United States",
              "subdivisionFullname": "New York"
            },
            "contactDetails": {
              "firstName": "Jane",
              "lastName": "Doe",
              "phone": "2125555217",
              "company": "Doe Hats LLC"
            }
          }
        },
        "cost": {
          "price": {
            "amount": "5.00",
            "formattedAmount": "$5.00"
          },
          "totalPriceBeforeTax": {
            "amount": "5.00",
            "formattedAmount": "$5.00"
          },
          "totalPriceAfterTax": {
            "amount": "5.00",
            "formattedAmount": "$5.00"
          },
          "discount": {
            "amount": "0.00",
            "formattedAmount": "$0.00"
          }
        },
        "region": {
          "name": "United States"
        }
      },
      "appliedDiscounts": [
        {
          "discountType": "GLOBAL",
          "coupon": {
            "id": "e4a7c2b9-1d3f-4b6e-8a5c-7f9d2e0b3c61",
            "code": "HAT5",
            "name": "5 off a hat subscription",
            "amount": {
              "amount": "5.00",
              "formattedAmount": "$5.00"
            }
          },
          "id": "c2e6a9d1-4f8b-4b3e-a7c5-9d1f3e5b7a20",
          "lineItemDiscounts": [
            {
              "id": "00000000-0000-0000-0000-000000000001",
              "totalDiscount": {
                "amount": "5.00",
                "formattedAmount": "$5.00"
              }
            }
          ]
        }
      ],
      "channelInfo": {
        "type": "WEB"
      },
      "customFields": [
        {
          "value": "Leave at the front desk.",
          "title": "Delivery note",
          "translatedTitle": "Delivery note"
        }
      ],
      "recipientInfo": {
        "address": {
          "country": "US",
          "subdivision": "US-NY",
          "city": "New York",
          "postalCode": "10011",
          "streetAddress": {
            "number": "235",
            "name": "W 23rd St"
          },
          "addressLine": "235 W 23rd St",
          "addressLine2": "Apartment 4",
          "countryFullname": "United States",
          "subdivisionFullname": "New York"
        },
        "contactDetails": {
          "firstName": "Jane",
          "lastName": "Doe",
          "phone": "2125555217",
          "company": "Doe Hats LLC"
        }
      },
      "extendedFields": {
        "namespaces": {}
      },
      "additionalFees": []
    }
  },
  "eventTime": "2026-01-26T11:38:59.118Z",
  "triggeredByAnonymizeRequest": false,
  "entityEventSequence": "1"
}

```

---

## JavaScript SDK

### Schema

```
Webhook: onSubscriptionContractCreated
Description: Triggered when a subscription contract is created. Subscription contracts are created at checkout, 1 for each group of subscription items that are billed together, so 1 checkout can trigger this event more than once.
Payload: SubscriptionContractCreatedEnvelope
  - name: entity | type: SubscriptionContract | description: none
     - name: _id | type: string | description: Subscription contract GUID.
     - name: revision | type: string | description: Revision number, which increments by 1 each time the subscription contract is updated.
     - name: _createdDate | type: Date | description: Date and time the subscription contract was created.
     - name: _updatedDate | type: Date | description: Date and time the subscription contract was last updated.
     - name: subscriptionDescription | type: SubscriptionDescription | description: Subscription description, in the site's default language and translated into the buyer's language. For example, `"1kg of selected coffee, once a month"`.  For a subscription contract with more than one line item, holds a general name for the subscription.
        - name: original | type: string | description: Subscription description in the site's default language.
        - name: translated | type: string | description: Subscription description translated into the buyer's language.
     - name: subscriptionSettings | type: SubscriptionSettings | description: Subscription terms, such as the billing frequency, the number of billing cycles, and whether the subscription renews automatically.
        - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the billing cycle.
             - enum:
             -     UNDEFINED: 
             -     DAY: Day.
             -     WEEK: Week.
             -     MONTH: Month.
             -     YEAR: Year.
        - name: interval | type: integer | description: Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.
        - name: autoRenewal | type: boolean | description: Whether the subscription renews automatically at the end of each billing cycle.
        - name: billingCycles | type: integer | description: Number of billing cycles before the subscription ends.
        - name: enableCustomerCancellation | type: boolean | description: Whether the buyer can cancel the subscription.
        - name: freeTrialPeriod | type: FreeTrialPeriod | description: Free trial period before the first billing cycle starts.  Returned only when the subscription has a free trial.
           - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the free trial period.
                 - enum:
                 -     UNDEFINED: 
                 -     DAY: Day.
                 -     WEEK: Week.
                 -     MONTH: Month.
                 -     YEAR: Year.
           - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.
     - name: lineItems | type: array<OrderLineItem> | description: Subscription line items. The order for each billing cycle is created with these line items.  In a subscription contract: + `lineItems.subscriptionInfo.id` is the subscription contract's own GUID. + `lineItems.subscriptionInfo.cycleNumber` is always `0`. The billing cycle is set on the line items of each cycle's order. + `subscriptionInfo.title` and `subscriptionInfo.description` hold the subscription contract's title and description, not the line item's own subscription option. + `refundQuantity`, `restockQuantity`, and `depositAmount` aren't updated after the line item is added. Refunds, restocks, and fulfillment are recorded on each billing cycle's order. + `extendedFields` and `decimalQuantity` aren't returned. + When coupons were included in item prices at checkout, `price` is the price before coupons, and the coupons are in `appliedDiscounts`.
        - name: _id | type: string | description: Line item GUID.
        - name: productName | type: ProductName | description: Item name.  + Stores - `product.name` + Bookings - `service.info.name` + Events - `ticket.name`
           - name: original | type: string | description: __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).  Min: 1 character. Max: 200 characters.
           - name: translated | type: string | description: Item name translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.
        - name: catalogReference | type: CatalogReference | description: References to the line item's origin catalog. Empty for custom line items.
           - name: catalogItemId | type: string | description: GUID of the item within the catalog it belongs to.
           - name: appId | type: string | description: GUID of the app providing the catalog.  You can get your app's GUID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  For items from Wix catalogs, the following values always apply: + Wix Stores: `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` + Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` + Wix Restaurants: `"9a5d83fd-8570-482e-81ab-cfa88942ee60"`
           - name: options | type: object | description: Additional item details in `key:value` pairs.  Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.  For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration.md) or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration.md), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction.md).
        - name: quantity | type: integer | description: Line item quantity.
        - name: totalDiscount | type: Price | description: Total discount for this line item's entire quantity.
           - name: amount | type: string | description: Amount.
           - name: formattedAmount | type: string | description: Amount formatted with currency symbol.
        - name: descriptionLines | type: array<DescriptionLine> | description: Line item description lines. Used for display purposes for the cart, checkout and order.
           - ONE-OF:
              - name: plainText | type: PlainTextValue | description: Description line plain text value.
                 - name: original | type: string | description: Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                 - name: translated | type: string | description: Description line plain text value translated into the buyer's language.  Default: Same as `original`.
              - name: colorInfo | type: Color | description: Description line color value.
                 - name: original | type: string | description: Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                 - name: translated | type: string | description: Description line color name translated into the buyer's language.  Default: Same as `original`.
                 - name: code | type: string | description: HEX or RGB color code for display.
           - name: name | type: DescriptionLineName | description: Description line name.
              - name: original | type: string | description: Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
              - name: translated | type: string | description: Description line name translated into the buyer's language.  Default: Same as `original`.
        - name: image | type: string | description: Line item image.
        - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item. When relevant, contains information such as SKU and item weight.
           - name: weight | type: number | description: Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.
           - name: sku | type: string | description: Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).
           - name: shippable | type: boolean | description: Whether this line item is shippable.
        - name: itemType | type: ItemType | description: Item type. Either a preset type or custom.
           - ONE-OF:
              - name: preset | type: ItemTypePreset | description: Preset item type.
                     - enum: UNRECOGNISED, PHYSICAL, DIGITAL, GIFT_CARD, SERVICE
              - name: custom | type: string | description: Custom item type. When none of the preset types are suitable, specifies the custom type.
        - name: fulfillerId | type: string | description: Fulfiller GUID. Field is empty when the line item is self-fulfilled. To get fulfillment information, pass the order GUID to [List Fulfillments For Single Order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/list-fulfillments-for-single-order.md).
        - name: refundQuantity | type: integer | description: Number of items that were refunded.
        - name: restockQuantity | type: integer | description: Number of items restocked.  For a per-location breakdown, see `restockLocations`.
        - name: price | type: Price | description: Line item price after line item discounts for display purposes.
        - name: priceBeforeDiscounts | type: Price | description: Line item price before line item discounts for display purposes. Defaults to `price` when not provided.
        - name: totalPriceBeforeTax | type: Price | description: Total price after discounts, and before tax.
        - name: totalPriceAfterTax | type: Price | description: Total price after all discounts and tax.
        - name: paymentOption | type: PaymentOptionType | description: Type of selected payment option for current item.  Default: `FULL_PAYMENT_ONLINE`
             - enum:
             -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
             -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
             -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
             -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
             -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
             -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
        - name: taxInfo | type: LineItemTaxInfo | description: Represents all the relevant tax details for a specific line item.
           - name: taxAmount | type: Price | description: Calculated tax, based on `taxable_amount` and `tax_rate`.
           - name: taxableAmount | type: Price | description: Amount for which tax is calculated.
           - name: taxRate | type: string | description: Tax rate %, as a decimal point.
           - name: taxGroupId | type: string | description: Tax group GUID.
           - name: taxIncludedInPrice | type: boolean | description: Indicates whether the price already includes tax.
           - name: taxBreakdown | type: array<LineItemTaxBreakdown> | description: Tax information for a line item.
              - name: jurisdiction | type: string | description: Jurisdiction that taxes were calculated for. For example, "New York", or "Quebec".
              - name: rate | type: string | description: Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.
              - name: taxAmount | type: Price | description: Amount of tax calculated for this line item.
              - name: taxType | type: string | description: The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, "Sales Tax", "Income Tax", "Value Added Tax", etc.
              - name: taxName | type: string | description: The name of the tax against which this tax amount was calculated. For example, "NY State Sales Tax", "Quebec GST", etc. This name should be explicit enough to allow the merchant to understand what tax was calculated.
              - name: jurisdictionType | type: JurisdictionType | description: Type of jurisdiction that taxes were calculated for.
                     - enum: UNDEFINED, COUNTRY, STATE, COUNTY, CITY, SPECIAL
              - name: nonTaxableAmount | type: Price | description: Non-taxable amount of the line item price.
              - name: taxableAmount | type: Price | description: Taxable amount of the line item price.
        - name: digitalFile | type: DigitalFile | description: Digital file identifier, relevant only for items with type DIGITAL.
           - name: fileId | type: string | description: GUID of the secure file in media.
           - name: link | type: string | description: Link will exist after the digital links have been generated on the order.
           - name: expirationDate | type: Date | description: Link expiration time and date.
        - name: subscriptionInfo | type: SubscriptionInfo | description: Subscription info.
           - name: _id | type: string | description: Subscription GUID.  For a subscription bought through Wix eCommerce, this is the GUID of the subscription contract the order was created from. To retrieve the subscription contract, call [Get Subscription Contract](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/subscriptions/subscription-contracts/get-subscription-contract.md).
           - name: cycleNumber | type: integer | description: Billing cycle the order is for. For example, `3` for the third billing cycle of a subscription. When a subscription starts with a free trial, the order created at checkout is for cycle `0`.
           - name: subscriptionSettings | type: SubscriptionSettings | description: Subscription detailed information.
              - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the billing cycle.
                     - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
              - name: interval | type: integer | description: Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.
              - name: autoRenewal | type: boolean | description: Whether the subscription renews automatically at the end of each billing cycle.
              - name: billingCycles | type: integer | description: Number of billing cycles before the subscription ends. Ignored when `autoRenewal` is `true`.
              - name: enableCustomerCancellation | type: boolean | description: Whether the buyer can cancel the subscription.
              - name: freeTrialPeriod | type: FreeTrialPeriod | description: Free trial period before the first billing cycle starts.  Returned only when the subscription has a free trial.
                 - name: frequency | type: SubscriptionFrequency | description: Frequency unit of the free trial period.
                         - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                 - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.
           - name: chargesDescription | type: string | description: Description of the charges that will be applied for subscription.
        - name: priceDescription | type: PriceDescription | description: Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67".
           - name: original | type: string | description: __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
           - name: translated | type: string | description: Price description translated into the buyer's language.  Default: Same as `original`.
        - name: depositAmount | type: Price | description: Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `"DEPOSIT_ONLINE"`.
        - name: locations | type: array<LocationAndQuantity> | description: Line item locations.  The location's total quantity must not exceed the line item quantity.
           - name: _id | type: string | description: Location id in the associated owner app.
           - name: quantity | type: integer | description: Quantity for specific location.
           - name: name | type: string | description: Location name.
        - name: lineItemPrice | type: Price | description: Total price **after** catalog discounts and line item discounts.
        - name: taxableAddress | type: TaxableAddress | description: Address used for tax calculation.
           - ONE-OF:
              - name: addressType | type: TaxableAddressType | description: taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.
                     - enum: BUSINESS, BILLING, SHIPPING
        - name: priceUndetermined | type: boolean | description: Whether the price is not yet defined, and will be updated after the order is created.  Default: `false`
        - name: fixedQuantity | type: boolean | description: Whether the line item quantity is fixed and cannot be changed.  Default: `false`
        - name: decimalQuantity | type: DecimalQuantity | description: Decimal-quantity metadata. Set when the line represents a non-integer purchase (e.g. 2.75 m² of fake grass).  When set, the line item must have `fixedQuantity` = true and be set with `quantity` = 1. The decimal value lives in `decimalQuantity.value`.
           - ONE-OF:
              - name: measurementUnit | type: MeasurementUnit | description: Unit the value is expressed in, selected from the standard `measurementUnit` enum.
                     - enum: UNSPECIFIED, ML, CL, L, CBM, MG, G, KG, MM, CM, M, SQM, OZ, LB, FLOZ, PT, QT, GAL, IN, FT, YD, SQFT
              - name: otherUnit | type: string | description: Free-form unit name for standard units not in the `measurementUnit` enum (e.g. "hour", "minute", "session").
           - name: value | type: string | description: The decimal quantity the buyer / merchant entered.  String-encoded decimal. The exact value is preserved — no rounding, no conversion to an integer.  Examples: "2.75", "1.5", "0.75".
           - name: description | type: TranslatableString | description: Human-readable, pre-formatted display string for the quantity. For example, "2.75 square meters of fake grass". Always set alongside `value`; use this directly for display rather than composing your own string from `value` and `unit`.
              - name: original | type: string | description: __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).  Min: 1 character. Max: 200 characters.
              - name: translated | type: string | description: String translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.
        - name: extendedFields | type: ExtendedFields | description: Custom extended fields for the line item object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.
           - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).
        - name: modifierGroups | type: array<ModifierGroup> | description: Modifier groups that were added to the item.
           - name: _id | type: string | description: Modifier group GUID.
           - name: name | type: TranslatableString | description: Modifier group name.
           - name: modifiers | type: array<ItemModifier> | description: List of modifiers in this group.
              - name: _id | type: string | description: Modifier GUID.
              - name: quantity | type: integer | description: The quantity of this modifier.
              - name: label | type: TranslatableString | description: Primary display label for the modifier.
              - name: details | type: TranslatableString | description: Additional details.
              - name: price | type: Price | description: The price of the modifier.
     - name: buyerInfo | type: BuyerInfo | description: Buyer information.
        - ONE-OF:
           - name: visitorId | type: string | description: Visitor GUID. Returned when the buyer isn't a logged-in site member.
           - name: memberId | type: string | description: Member GUID. Returned when the buyer is a logged-in site member.
        - name: contactId | type: string | description: Contact GUID. Automatically created if one doesn't exist. For more information, see [Contacts API](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/introduction.md).
        - name: email | type: string | description: Buyer's email address.
     - name: buyerLanguage | type: string | description: Language for communication with the buyer. For a site that supports multiple languages, this is the language the buyer selected.  Default: Site language
     - name: weightUnit | type: WeightUnit | description: Weight measurement unit.  Default: Site's weight unit
         - enum:
         -     UNSPECIFIED_WEIGHT_UNIT: Weight unit can't be classified due to an error.
         -     KG: Kilograms.
         -     LB: Pounds.
     - name: currency | type: string | description: Currency used for the subscription contract's pricing, as a three-letter currency code in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) alphabetic format.
     - name: currencyConversionDetails | type: CurrencyConversionDetails | description: Multi-currency details for a subscription paid in a currency other than the site's currency.
        - name: originalCurrency | type: string | description: Currency used for the pricing of this order, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.  This currency is used to calculate the pricing before conversion to the buyer's payment currency.
        - name: conversionRate | type: string | description: The rate used for converting the original currency to the currency used for payment.  Returned only when a single rate produced every amount on the order. This is the case for an order converted once at checkout.
     - name: taxIncludedInPrices | type: boolean | description: Whether tax is included in line item prices.  Default: `false`
     - name: priceSummary | type: PriceSummary | description: Price summary of a single billing cycle.
        - name: subtotal | type: Price | description: Subtotal of all line items, before discounts and before tax.
        - name: shipping | type: Price | description: Total shipping price, before discounts and before tax.
        - name: tax | type: Price | description: Total tax applied to the order.
        - name: discount | type: Price | description: Total discount amount applied to the order.
        - name: total | type: Price | description: Order's total price after discounts and tax.
        - name: totalAdditionalFees | type: Price | description: Total additional fees before tax.
     - name: platformFeeSummary | type: PlatformFeeSummary | description: Summary of platform fees calculated at checkout, including totals by charge type and a breakdown of individual fees.  Not updated when draft changes are committed. Each billing cycle's order holds the platform fees for that cycle.
        - name: total | type: Price | description: Total sum of all platform fees.
        - name: totalPassOn | type: Price | description: Total amount of platform fees with `PASS_ON` charge type.
        - name: totalAbsorbed | type: Price | description: Total amount of platform fees with `ABSORBED` charge type.
        - name: fees | type: array<PlatformFee> | description: Specific information about each platform fee.
           - name: name | type: TranslatableString | description: Platform fee name.
           - name: amount | type: Price | description: Platform fee amount.
           - name: lineItemId | type: string | description: GUID of the line item the platform fee applies to.
           - name: chargeType | type: ChargeType | description: Platform fee charge type.
                 - enum:
                 -     PASS_ON: Platform fee passed on to buyer.  This type increases the order total, and is visible to the buyer and merchant as an additional fee.
                 -     ABSORBED: Platform fee absorbed by merchant.  This type does not increase the order total, and is only visible to the merchant.
           - name: percentageRate | type: string | description: Percentage rate charged as platform fee. The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.
     - name: billingInfo | type: AddressWithContact | description: Billing address and contact details.
        - name: address | type: Address | description: Address.
           - name: streetAddress | type: StreetAddress | description: none
              - name: name | type: string | description: none
              - name: number | type: string | description: none
           - name: city | type: string | description: none
           - name: subdivision | type: string | description: none
           - name: country | type: string | description: none
           - name: postalCode | type: string | description: none
           - name: addressLine2 | type: string | description: none
        - name: contactDetails | type: FullAddressContactDetails | description: Contact details.
           - name: firstName | type: string | description: First name.
           - name: lastName | type: string | description: Last name.
           - name: phone | type: string | description: Phone number.
           - name: company | type: string | description: Company name.
           - name: vatId | type: VatId | description: Tax information (for Brazil only). If GUID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.
              - name: _id | type: string | description: Customer's tax GUID.
              - name: type | type: VatType | description: Tax type.  Supported values: + `CPF`: for individual tax payers + `CNPJ`: for corporations
                     - enum:
                     -     UNSPECIFIED: 
                     -     CPF: CPF - for individual tax payers.
                     -     CNPJ: CNPJ - for corporations
     - name: shippingInfo | type: ShippingInformation | description: Shipping information and selected shipping option details.
        - name: carrierId | type: string | description: App Def Id of external provider which was a source of shipping info
        - name: code | type: string | description: Unique code (or GUID) of selected shipping option. For example, `"usps_std_overnight"`.
        - name: title | type: string | description: Shipping option title. For example, `"USPS Standard Overnight Delivery"`, `"Standard"` or `"First-Class Package International"`.
        - name: logistics | type: DeliveryLogistics | description: Shipping logistics.
           - ONE-OF:
              - name: shippingDestination | type: AddressWithContact | description: Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address.
              - name: pickupDetails | type: PickupDetails | description: Pickup details for store pickup or pickup point orders.
                 - name: address | type: PickupAddress | description: Pickup address.
                    - name: streetAddress | type: StreetAddress | description: none
                    - name: city | type: string | description: none
                    - name: subdivision | type: string | description: none
                    - name: country | type: string | description: none
                    - name: postalCode | type: string | description: none
                    - name: addressLine2 | type: string | description: none
                 - name: pickupMethod | type: PickupMethod | description: Pickup method
                         - enum: STORE_PICKUP, PICKUP_POINT
           - name: deliveryTime | type: string | description: Expected delivery time in free text. For example, `"3-5 business days"`.
           - name: instructions | type: string | description: Instructions for the carrier. For example, `"Please knock on the door. If unanswered, please call contact number."`.
           - name: deliveryTimeSlot | type: DeliveryTimeSlot | description: Expected delivery time slot with start and end times.
              - name: from | type: Date | description: Delivery slot starting time.
              - name: to | type: Date | description: Delivery slot ending time.
        - name: cost | type: ShippingPrice | description: Shipping costs.
           - name: price | type: Price | description: Shipping price for display purposes.
           - name: totalPriceBeforeTax | type: Price | description: Total price of shipping after discounts (when relevant), and before tax.
           - name: totalPriceAfterTax | type: Price | description: Shipping price after all discounts (if any exist), and after tax.
           - name: taxInfo | type: LineItemTaxInfo | description: Represents all the relevant tax details for a shipping.
           - name: discount | type: Price | description: Shipping discount before tax.
        - name: region | type: ShippingRegion | description: Shipping region.
           - name: name | type: string | description: Name of shipping region. For example, `"Metropolitan London"`, or `"Outer Melbourne suburbs"`.
     - name: appliedDiscounts | type: array<AppliedDiscount> | description: Discounts applied to the subscription contract.
        - ONE-OF:
           - name: coupon | type: Coupon | description: Coupon applied by the customer.
              - name: _id | type: string | description: Coupon GUID.
              - name: code | type: string | description: Coupon code.
              - name: name | type: string | description: Coupon name.
              - name: amount | type: Price | description: Total amount the coupon took off.
           - name: merchantDiscount | type: MerchantDiscount | description: Discount applied manually by the merchant.
              - ONE-OF:
                 - name: discountReason | type: DiscountReason | description: Predefined discount reason.
                         - enum:
                         -     UNSPECIFIED: Unknown discount reason.
                         -     EXCHANGED_ITEMS: Balance adjustment resulting from an item exchange.
                         -     BILLING_ADJUSTMENT: Proportional discount for a shortened subscription billing cycle. Applied when a subscription's billing date is moved earlier, reducing the cycle length.
                 - name: description | type: string | description: Custom discount description as free text.
              - name: amount | type: Price | description: Discount amount.
           - name: discountRule | type: DiscountRule | description: Automatic discount applied by the system based on configured discount rules.
              - name: _id | type: string | description: Discount rule GUID
              - name: name | type: DiscountRuleName | description: Discount rule name
                 - name: original | type: string | description: Original discount rule name (in site's default language).
                 - name: translated | type: string | description: Translated discount rule name according to buyer language. Defaults to `original` when not provided.
              - name: amount | type: Price | description: Total amount the discount rule took off.
        - name: discountType | type: DiscountType | description: Discount type.
             - enum:
             -     GLOBAL: Discount applies to the entire order.
             -     SPECIFIC_ITEMS: Discount applies to specific items.
             -     SHIPPING: Discount applies to shipping. For example, free shipping.
        - name: _id | type: string | description: Discount GUID.
        - name: lineItemDiscounts | type: array<LineItemDiscount> | description: Line items the discount applies to, including the discount amount for each.
           - name: _id | type: string | description: Line item GUID.
           - name: totalDiscount | type: Price | description: Total discount amount for this line item.
     - name: channelInfo | type: ChannelInfo | description: Information about the sales channel the subscription was purchased through.
        - name: type | type: ChannelType | description: Sales channel that submitted the order.  When creating an order via the API to record an external order, use the channel type that matches the original source. If no matching type exists, use `OTHER_PLATFORM`.
             - enum:
             -     UNSPECIFIED: Unspecified sales channel. This value is not supported.
             -     WEB: A web client.
             -     POS: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395).
             -     EBAY: [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop).
             -     AMAZON: [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop).
             -     OTHER_PLATFORM: Other sales platform.
             -     WIX_APP_STORE: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview).
             -     WIX_INVOICES: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)
             -     BACKOFFICE_MERCHANT: Wix merchant backoffice.
             -     WISH: Wish sales channel.
             -     CLASS_PASS: [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass).
             -     GLOBAL_E: Global-E sales channel.
             -     FACEBOOK: [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops).
             -     ETSY: [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel).
             -     TIKTOK: [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel).
             -     FAIRE_COM: [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app).
             -     PAYPAL_AGENTIC_CHECKOUT: PayPal Agentic Checkout sales channel.
             -     STRIPE_AGENTIC_CHECKOUT: Stripe Agentic Checkout sales channel.
        - name: externalOrderId | type: string | description: Reference to an order GUID from an external system. Relevant when recording orders from external platforms.
        - name: externalOrderUrl | type: string | description: URL to the order in the external system. Relevant when recording orders from external platforms.
     - name: customFields | type: array<CustomField> | description: Custom fields.
        - name: value | type: Value | description: Custom field value.
           - ONE-OF:
              - name: nullValue | type:  | description: 
              - name: numberValue | type: number | description: 
              - name: stringValue | type: string | description: 
              - name: boolValue | type: boolean | description: 
              - name: structValue | type: object | description: 
              - name: listValue | type: ListValue | description: 
                 - name: values | type: array<Value> | description: 
        - name: title | type: string | description: Custom field title.
        - name: translatedTitle | type: string | description: Translated custom field title.
     - name: recipientInfo | type: AddressWithContact | description: Recipient address and contact details.  This field may differ from the address in `shippingInfo.logistics` when: + The chosen shipping option is pickup point or store pickup. + No shipping option is selected.
     - name: extendedFields | type: ExtendedFields | description: Custom field data for the subscription contract object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.
     - name: subscriptionTitle | type: SubscriptionTitle | description: Subscription title, in the site's default language and translated into the buyer's language. For example, `"Monthly coffee subscription"`.  For a subscription contract with more than one line item, holds a general name for the subscription.
        - name: original | type: string | description: Subscription title in the site's default language.
        - name: translated | type: string | description: Subscription title translated into the buyer's language.
     - name: additionalFees | type: array<AdditionalFee> | description: Additional fees applied to the subscription contract.
        - name: code | type: string | description: Additional fee's unique code for future processing.
        - name: name | type: string | description: Name of additional fee.
        - name: price | type: Price | description: Additional fee's price.
        - name: taxInfo | type: LineItemTaxInfo | description: Represents all the relevant tax details for additional fee.
        - name: providerAppId | type: string | description: SPI implementer's `appId`.
        - name: priceBeforeTax | type: Price | description: Additional fee's price before tax.
        - name: priceAfterTax | type: Price | description: Additional fee's price after tax.
        - name: _id | type: string | description: Additional fee's id.
        - name: lineItemIds | type: array<string> | description: Optional - Line items associated with this additional fee. If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.
        - name: source | type: AdditionalFeeSource | description: Specifies the entity that added the additional fee.
             - enum:
             -     SERVICE_PLUGIN: The additional fee was added by an additional fee service plugin.
             -     ITEM: The additional fee was added to the item by a catalog or custom line item.
             -     MANUAL: The additional fee was added manually on request.
             -     SHIPPING: The additional fee was added by the shipping provider.
             -     PLATFORM: The additional fee was added by the Wix eCommerce platform.
        - name: taxableAddress | type: TaxableAddress | description: Address type tax was calculated against for this fee.
  - name: metadata | type: EventMetadata | description: none
     - name: instanceId | type: string | description: App instance GUID.
     - name: eventType | type: string | description: Event type.
     - name: identity | type: IdentificationData | description: The identification type and identity data.
        - ONE-OF:
           - name: anonymousVisitorId | type: string | description: GUID of a site visitor that has not logged in to the site.
           - name: memberId | type: string | description: GUID of a site visitor that has logged in to the site.
           - name: wixUserId | type: string | description: GUID of a Wix user (site owner, contributor, etc.).
           - name: appId | type: string | description: GUID of an app.
        - name: identityType | type: WebhookIdentityType | description: 
             - enum: UNKNOWN, ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
     - name: accountInfo | type: AccountInfo | description: Details related to the account
        - name: accountId | type: string | description: GUID of the Wix account associated with the event.
        - name: parentAccountId | type: string | description: GUID of the parent Wix account. Only included when accountId belongs to a child account.
        - name: siteId | type: string | description: GUID of the Wix site associated with the event. Only included when the event is tied to a specific site.
     - name: _id | type: string | description: Event GUID. With this GUID you can easily spot duplicated events and ignore them.
     - name: entityFqdn | type: string | description: Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
     - name: slug | type: string | description: Event action name, placed at the top level to make it easier for users to dispatch messages. For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
     - name: entityId | type: string | description: GUID of the entity associated with the event.
     - name: eventTime | type: Date | description: Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`.
     - name: triggeredByAnonymizeRequest | type: boolean | description: Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
     - name: originatedFrom | type: string | description: If present, indicates the action that triggered the event.
     - name: entityEventSequence | type: string | description: A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.

```

### Examples


```javascript
import { subscriptionContracts } from '@wix/ecom';

subscriptionContracts.onSubscriptionContractCreated((event) => {
    // handle your event here
});
```


```javascript
import { createClient, AppStrategy } from '@wix/sdk';
import { subscriptionContracts } from '@wix/ecom';

const wixClient = createClient({
  auth: AppStrategy({
    appId: 'MY-APP-ID',
    publicKey: 'YOUR_APP_PUBLIC_KEY',
  }),
  modules: {
      subscriptionContracts,
    },
});

wixClient.subscriptionContracts.onSubscriptionContractCreated((event) => {
    // handle your event here
});
```

---