import { ServicePluginDefinition } from '@wix/sdk-types'; interface GetPaymentSettingsRequest { /** Order. */ order?: Order; } /** * An order represents a completed purchase from a buyer. Orders are created through the checkout flow or manually via the Create Order endpoint. * * The order contains details about purchased items, buyer and recipient information, pricing, tax, shipping, fulfillment status, and payment status. * * To get the total sum of all discounts applied to an order, use `priceSummary.discount.amount`. */ interface Order { /** * Order ID. * @format GUID * @readonly */ _id?: string | null; /** * Order number displayed in the site owner's dashboard (auto-generated). * @readonly */ number?: string; /** * Date and time the order was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. * @readonly * @immutable */ _createdDate?: Date | null; /** * Date and time the order was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. * @readonly */ _updatedDate?: Date | null; /** * Order line items. * @minSize 1 * @maxSize 300 * @readonly */ lineItems?: OrderLineItem[]; /** Buyer information. */ buyerInfo?: V1BuyerInfo; /** Order payment status. */ paymentStatus?: PaymentStatus; /** * Order fulfillment status. * @readonly */ fulfillmentStatus?: FulfillmentStatus; /** * Language for communication with the buyer. Defaults to the site language. * For a site that supports multiple languages, this is the language the buyer selected. */ buyerLanguage?: string | null; /** Weight measurement unit - defaults to site's weight unit. */ weightUnit?: WeightUnit; /** * 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. * @format CURRENCY */ currency?: string | null; /** Currency conversion details. For use with multi-currency sites. */ currencyConversionDetails?: CurrencyConversionDetails; /** * Whether tax is included in line item prices. * @immutable */ taxIncludedInPrices?: boolean; /** * Site language in which original values are shown. * @readonly * @immutable */ siteLanguage?: string | null; /** * Order price summary. * @readonly */ priceSummary?: PriceSummary; /** Billing address and contact details. */ billingInfo?: ApiAddressWithContact; /** Shipping info and selected shipping option details. */ shippingInfo?: V1ShippingInformation; /** * [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. * @maxLength 1000 */ buyerNote?: string | null; /** Order status. */ status?: OrderStatus; /** Whether order is archived. */ archived?: boolean | null; /** * Tax summary. * Deprecated. Use `taxInfo` instead. * This field will be removed on September 30, 2024. * @deprecated Tax summary. * Deprecated. Use `taxInfo` instead. * This field will be removed on September 30, 2024. * @replacedBy tax_info * @targetRemovalDate 2024-09-30 */ taxSummary?: TaxSummary; /** Tax information. */ taxInfo?: OrderTaxInfo; /** * Applied discounts. * @maxSize 320 */ appliedDiscounts?: AppliedDiscount[]; /** * Order activities. * @readonly * @maxSize 1000 */ activities?: Activity[]; /** Order attribution source. */ attributionSource?: AttributionSource; /** * ID of the order's initiator. * @readonly */ createdBy?: V1CreatedBy; /** Information about the sales channel that submitted this order. */ channelInfo?: ChannelInfo; /** Whether a human has seen the order. Set when an order is clicked on in the dashboard. */ seenByAHuman?: boolean | null; /** * Checkout ID. * @format GUID */ checkoutId?: string | null; /** Custom fields. */ customFields?: CustomField[]; /** * Balance summary. * @readonly */ balanceSummary?: BalanceSummary; /** * Additional fees applied to the order. * @maxSize 100 */ additionalFees?: AdditionalFee[]; /** * Custom field data for the order object. * * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; /** * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. * @format GUID */ purchaseFlowId?: string | null; /** * Final recipient's address and contact details. * * This field represents who will ultimately receive the order. It may differ from `shippingInfo.logistics.shippingDestination` when: * + The chosen shipping option is a pickup point or store pickup, where `shippingDestination` contains the pickup location. * + No shipping option is selected. */ recipientInfo?: ApiAddressWithContact; /** * Order tags. * * [Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) are labels attached to entities, allowing for flexible categorization and data management. */ tags?: Tags; /** * Date and time the order was originally purchased in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. * Used for migration from external systems. * @immutable */ purchasedDate?: Date | null; /** Order Location */ businessLocation?: Location; /** * Pay after free trial price summary. Price summary that should be paid for subscriptions after free trial period. * @readonly */ payAfterFreeTrial?: PriceSummary; } interface OrderLineItem { /** * Line item ID. * @immutable */ _id?: string; /** * Item name. * * + Stores - `product.name` * + Bookings - `service.info.name` * + Events - `ticket.name` */ productName?: ProductName; /** References to the line item's origin catalog. Empty for custom line items. */ catalogReference?: CatalogReference; /** * Line item quantity. * @min 1 * @max 100000 */ quantity?: number; /** * Total discount for this line item's entire quantity. * @readonly */ totalDiscount?: Price; /** * Line item description lines. Used for display purposes for the cart, checkout and order. * @maxSize 20 */ descriptionLines?: DescriptionLine[]; /** Line item image. */ image?: string; /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */ physicalProperties?: PhysicalProperties; /** Item type. Either a preset type or custom. */ itemType?: ItemType; /** * Fulfiller ID. Field is empty when the line item is self-fulfilled. * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/list-fulfillments-for-single-order). * @format GUID */ fulfillerId?: string | null; /** * Number of items that were refunded. * @max 100000 */ refundQuantity?: number | null; /** * Number of items restocked. * @max 100000 */ restockQuantity?: number | null; /** Line item price after line item discounts for display purposes. */ price?: Price; /** * Line item price before line item discounts for display purposes. Defaults to `price` when not provided. * @readonly */ priceBeforeDiscounts?: Price; /** * Total price after discounts, and before tax. * @readonly */ totalPriceBeforeTax?: Price; /** * Total price after all discounts and tax. * @readonly */ totalPriceAfterTax?: Price; /** * Type of selected payment option for current item. * * Default: `FULL_PAYMENT_ONLINE` */ paymentOption?: PaymentOptionType; /** * Deprecated. Use `taxInfo` instead. * This field will be removed on September 30, 2024. * Tax details for this line item. * @deprecated Deprecated. Use `taxInfo` instead. * This field will be removed on September 30, 2024. * Tax details for this line item. * @replacedBy tax_info * @targetRemovalDate 2024-09-30 */ taxDetails?: ItemTaxFullDetails; /** Represents all the relevant tax details for a specific line item. */ taxInfo?: LineItemTaxInfo; /** Digital file identifier, relevant only for items with type DIGITAL. */ digitalFile?: DigitalFile; /** Subscription info. */ subscriptionInfo?: SubscriptionInfo; /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67". */ priceDescription?: PriceDescription; /** * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `"DEPOSIT_ONLINE"`. * @readonly */ depositAmount?: Price; /** * Line item locations. * * The location's total quantity must not exceed the line item quantity. * @maxSize 5 */ locations?: LocationAndQuantity[]; /** Total price **after** catalog discounts and line item discounts. */ lineItemPrice?: Price; /** Address used for tax calculation. */ taxableAddress?: TaxableAddress; /** * Whether the price is not yet defined, and will be updated after the order is created. * * Default: `false` */ priceUndetermined?: boolean; /** * Custom extended fields for the line item object. * * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; /** * Modifier groups that were added to the item. * @readonly * @maxSize 10 */ modifierGroups?: V1ModifierGroup[]; } interface ProductName { /** * __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#request-envelope). * * Min: 1 character. * Max: 200 characters. * @minLength 1 * @maxLength 200 */ original?: string; /** * Item name translated into the buyer's language. * * Min: 1 character. * Max: 400 characters. * Default: Same as `original`. * @minLength 1 * @maxLength 400 */ translated?: string | null; } /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */ interface CatalogReference { /** * ID of the item within the catalog it belongs to. * @minLength 1 * @maxLength 36 */ catalogItemId?: string; /** * ID of the app providing the catalog. * * You can get your app's ID 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"` * @minLength 1 */ appId?: string; /** * 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) * or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction). */ options?: Record | null; } interface Price { /** * Amount. * @decimalValue options { gte:0, lte:1000000000000000 } */ amount?: string; /** * Amount formatted with currency symbol. * @readonly */ formattedAmount?: string; } interface DescriptionLine extends DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf { /** Description line plain text value. */ plainText?: PlainTextValue; /** Description line color value. */ colorInfo?: Color; /** Description line name. */ name?: DescriptionLineName; } /** @oneof */ interface DescriptionLineValueOneOf { /** Description line plain text value. */ plainText?: PlainTextValue; /** Description line color value. */ colorInfo?: Color; } /** @oneof */ interface DescriptionLineDescriptionLineValueOneOf { } interface DescriptionLineName { /** * 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#request-envelope). * @maxLength 100 */ original?: string; /** * Description line name translated into the buyer's language. * * Default: Same as `original`. * @maxLength 200 */ translated?: string | null; } interface PlainTextValue { /** * 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#request-envelope). * @maxLength 600 */ original?: string; /** * Description line plain text value translated into the buyer's language. * * Default: Same as `original`. * @maxLength 600 */ translated?: string | null; } interface Color { /** * 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#request-envelope). * @maxLength 500 */ original?: string; /** * Description line color name translated into the buyer's language. * * Default: Same as `original`. * @maxLength 500 */ translated?: string | null; /** HEX or RGB color code for display. */ code?: string | null; } declare enum DescriptionLineType { /** Unrecognized type. */ UNRECOGNISED = "UNRECOGNISED", /** Plain text type. */ PLAIN_TEXT = "PLAIN_TEXT", /** Color type. */ COLOR = "COLOR" } interface FocalPoint { /** X-coordinate of the focal point. */ x?: number; /** Y-coordinate of the focal point. */ y?: number; /** crop by height */ height?: number | null; /** crop by width */ width?: number | null; } interface PhysicalProperties { /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */ weight?: number | null; /** * Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). * @maxLength 40 */ sku?: string | null; /** Whether this line item is shippable. */ shippable?: boolean; } interface Dimensions { /** * Length. Measurement unit is handled at the system level (metric/imperial). * @decimalValue options { gte:0, lte:999999999, maxScale:6 } */ length?: string | null; /** * Width. Measurement unit is handled at the system level (metric/imperial). * @decimalValue options { gte:0, lte:999999999, maxScale:6 } */ width?: string | null; /** * Height. Measurement unit is handled at the system level (metric/imperial). * @decimalValue options { gte:0, lte:999999999, maxScale:6 } */ height?: string | null; /** Unit of measurement for dimensions (length, width, height). */ unit?: DimensionsUnit; } declare enum DimensionsUnit { UNKNOWN_DIMENSIONS_UNIT = "UNKNOWN_DIMENSIONS_UNIT", /** Millimeters. */ MM = "MM", /** Centimeters. */ CM = "CM", /** Meters. */ M = "M", /** Inches. */ IN = "IN", /** Feet. */ FT = "FT", /** Yards. */ YD = "YD" } interface ItemType extends ItemTypeItemTypeDataOneOf { /** Preset item type. */ preset?: ItemTypePreset; /** Custom item type. When none of the preset types are suitable, specifies the custom type. */ custom?: string; } /** @oneof */ interface ItemTypeItemTypeDataOneOf { /** Preset item type. */ preset?: ItemTypePreset; /** Custom item type. When none of the preset types are suitable, specifies the custom type. */ custom?: string; } declare enum ItemTypePreset { UNRECOGNISED = "UNRECOGNISED", PHYSICAL = "PHYSICAL", DIGITAL = "DIGITAL", GIFT_CARD = "GIFT_CARD", SERVICE = "SERVICE" } /** Type of selected payment option for catalog item */ declare enum PaymentOptionType { /** The entire payment for this item happens as part of the checkout. */ FULL_PAYMENT_ONLINE = "FULL_PAYMENT_ONLINE", /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */ FULL_PAYMENT_OFFLINE = "FULL_PAYMENT_OFFLINE", /** 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. */ MEMBERSHIP = "MEMBERSHIP", /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */ DEPOSIT_ONLINE = "DEPOSIT_ONLINE", /** 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_OFFLINE = "MEMBERSHIP_OFFLINE", /** * Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline. * @documentationMaturity preview */ MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER = "MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER" } interface ItemTaxFullDetails { /** Taxable amount of this line item. */ taxableAmount?: Price; /** * Tax rate percentage, as a decimal numeral between 0 and 1. For example, `"0.13"`. * @decimalValue options { gte:0, maxScale:6 } */ taxRate?: string; /** The calculated tax, based on the `taxableAmount` and `taxRate`. */ totalTax?: Price; } interface LineItemTaxInfo { /** Calculated tax, based on `taxable_amount` and `tax_rate`. */ taxAmount?: Price; /** Amount for which tax is calculated. */ taxableAmount?: Price; /** * Tax rate %, as a decimal point. * @format DECIMAL_VALUE * @decimalValue options { gte:0, maxScale:6 } */ taxRate?: string | null; /** * Tax group ID. * @format GUID */ taxGroupId?: string | null; /** Indicates whether the price already includes tax. */ taxIncludedInPrice?: boolean; /** * Tax information for a line item. * @maxSize 7 */ taxBreakdown?: LineItemTaxBreakdown[]; } /** * TaxBreakdown represents tax information for a line item. * It holds the tax amount and the tax rate for each tax authority that apply on the line item. */ interface LineItemTaxBreakdown { /** * Jurisdiction that taxes were calculated for. For example, "New York", or "Quebec". * @maxLength 200 */ jurisdiction?: string | null; /** * Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000. * @format DECIMAL_VALUE * @decimalValue options { gte:0, maxScale:6 } */ rate?: string | null; /** Amount of tax calculated for this line item. */ taxAmount?: Price; /** * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, "Sales Tax", "Income Tax", "Value Added Tax", etc. * @maxLength 200 */ taxType?: string | null; /** * 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. * @maxLength 200 */ taxName?: string | null; /** Type of jurisdiction that taxes were calculated for. */ jurisdictionType?: JurisdictionType; /** Non-taxable amount of the line item price. */ nonTaxableAmount?: Price; /** Taxable amount of the line item price. */ taxableAmount?: Price; } /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */ declare enum JurisdictionType { UNDEFINED = "UNDEFINED", COUNTRY = "COUNTRY", STATE = "STATE", COUNTY = "COUNTY", CITY = "CITY", SPECIAL = "SPECIAL" } interface DigitalFile { /** * ID of the secure file in media. * @minLength 1 * @maxLength 100 */ fileId?: string; /** * Link will exist after the digital links have been generated on the order. * @format WEB_URL * @minLength 1 * @maxLength 2000 */ link?: string | null; /** * Link expiration time and date. * @readonly */ expirationDate?: Date | null; } interface SubscriptionInfo { /** * Subscription ID. * @format GUID */ _id?: string | null; /** Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`. */ cycleNumber?: number; /** * Subscription option title. For example, `"Monthly coffee Subscription"`. * @maxLength 150 * @deprecated Subscription option title. For example, `"Monthly coffee Subscription"`. * @replacedBy title * @targetRemovalDate 2025-10-01 */ subscriptionOptionTitle?: string; /** * Subscription option description. For example, `"1kg of selected coffee, once a month"`. * @maxLength 500 * @deprecated Subscription option description. For example, `"1kg of selected coffee, once a month"`. * @replacedBy description * @targetRemovalDate 2025-10-01 */ subscriptionOptionDescription?: string | null; /** * Subscription detailed information. * @immutable */ subscriptionSettings?: SubscriptionSettings; /** * Description of the charges that will be applied for subscription. * @maxLength 1000 */ chargesDescription?: string | null; } interface SubscriptionTitle { /** * Subscription option 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#request-envelope). * @minLength 1 * @maxLength 150 */ original?: string; /** * Subscription option name translated into the buyer's language. * * Default: Same as `original`. * @minLength 1 * @maxLength 150 */ translated?: string | null; } interface SubscriptionDescription { /** * Subscription option description. * @maxLength 500 */ original?: string; /** * Translated subscription option description. * @maxLength 500 */ translated?: string | null; } interface SubscriptionSettings { /** Frequency of recurring payment. */ frequency?: SubscriptionFrequency; /** * Interval of recurring payment. * @min 1 * @max 3650 */ interval?: number | null; /** Whether subscription is renewed automatically at the end of each period. */ autoRenewal?: boolean; /** * Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. * @min 1 */ billingCycles?: number | null; /** Whether to allow the customer to cancel the subscription. */ enableCustomerCancellation?: boolean; /** Period until first cycle starts. If None => no free trial */ freeTrialPeriod?: FreeTrialPeriod; } /** Frequency unit of recurring payment */ declare enum SubscriptionFrequency { UNDEFINED = "UNDEFINED", DAY = "DAY", WEEK = "WEEK", MONTH = "MONTH", YEAR = "YEAR" } interface FreeTrialPeriod { /** Frequency of period. Values: DAY, WEEK, MONTH, YEAR */ frequency?: SubscriptionFrequency; /** * interval of period * @min 1 * @max 3650 */ interval?: number; } interface BillingAdjustment { /** The type of adjustment. */ type?: AdjustmentType; /** Summary of the prorated adjustment amount. */ priceSummary?: BillingAdjustmentPriceSummary; } declare enum AdjustmentType { UNKNOWN_ADJUSTMENT_TYPE = "UNKNOWN_ADJUSTMENT_TYPE", /** Adjustment increases the total amount due to changes like covering extra billing days. Typically results in an additional fee. */ EXTRA_CHARGE = "EXTRA_CHARGE", /** Adjustment reduces the total amount due to changes like covering fewer billing days. Typically results in a credit or discount. */ CREDIT = "CREDIT" } interface BillingAdjustmentPriceSummary { /** Subtotal of adjustment, before tax. */ subtotal?: Price; /** Tax on adjustment. */ tax?: Price; /** Total price after tax. */ total?: Price; } interface PriceDescription { /** * __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#request-envelope). * @minLength 1 * @maxLength 100 */ original?: string; /** * Price description translated into the buyer's language. * * Default: Same as `original`. * @minLength 1 * @maxLength 100 */ translated?: string | null; } interface LocationAndQuantity { /** * Location id in the associated owner app. * @format GUID */ _id?: string; /** * Location owner app, if not provided then the site business info locations will be used. * @format GUID * @deprecated Location owner app, if not provided then the site business info locations will be used. * @targetRemovalDate 2025-03-01 */ appId?: string | null; /** * Quantity for specific location. * @min 1 * @max 100000 */ quantity?: number; /** * Location name. * @maxLength 500 * @readonly */ name?: string | null; } interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf { /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */ addressType?: TaxableAddressType; } /** @oneof */ interface TaxableAddressTaxableAddressDataOneOf { /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */ addressType?: TaxableAddressType; } declare enum TaxableAddressType { UNKNOWN_TAXABLE_ADDRESS = "UNKNOWN_TAXABLE_ADDRESS", BUSINESS = "BUSINESS", BILLING = "BILLING", SHIPPING = "SHIPPING" } interface ExtendedFields { /** * 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). */ namespaces?: Record>; } interface V1ModifierGroup { /** * Modifier group ID. * @minLength 1 * @maxLength 36 */ _id?: string; /** Modifier group name. */ name?: TranslatableString; /** * List of modifiers in this group. * @minSize 1 * @maxSize 10 */ modifiers?: V1ItemModifier[]; } interface TranslatableString { /** * __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#request-envelope). * * Min: 1 character. * Max: 200 characters. * @minLength 1 * @maxLength 200 */ original?: string; /** * String translated into the buyer's language. * * Min: 1 character. * Max: 400 characters. * Default: Same as `original`. * @minLength 1 * @maxLength 400 */ translated?: string | null; } interface V1ItemModifier { /** * Modifier ID. * @minLength 1 * @maxLength 36 */ _id?: string; /** * The quantity of this modifier. * @min 1 * @max 100000 */ quantity?: number | null; /** Primary display label for the modifier. */ label?: TranslatableString; /** Additional details. */ details?: TranslatableString; /** The price of the modifier. */ price?: Price; } /** Buyer information. */ interface V1BuyerInfo extends V1BuyerInfoIdOneOf { /** * Visitor ID. Returned when the buyer isn't a logged-in site member. * @format GUID */ visitorId?: string; /** * Member ID. Returned when the buyer is a logged-in site member. * @format GUID */ memberId?: string; /** * Contact ID. 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). * @format GUID */ contactId?: string | null; /** * Buyer's email address. * @format EMAIL */ email?: string | null; } /** @oneof */ interface V1BuyerInfoIdOneOf { /** * Visitor ID. Returned when the buyer isn't a logged-in site member. * @format GUID */ visitorId?: string; /** * Member ID. Returned when the buyer is a logged-in site member. * @format GUID */ memberId?: string; } declare enum PaymentStatus { UNSPECIFIED = "UNSPECIFIED", /** * `NOT_PAID` can apply to an order made online, but not yet paid. In such cases `order.status` will be `INITIALIZED`. * This status also applies when an offline order needs to be manually marked as paid. In such cases `order.status` will be `APPROVED`. */ NOT_PAID = "NOT_PAID", /** All required payments associated with this order are paid. */ PAID = "PAID", /** Order partially refunded, but the refunded amount is less than the order's total price. See `order.balanceSummary` for more details. */ PARTIALLY_REFUNDED = "PARTIALLY_REFUNDED", /** Order fully refunded. Refund amount equals total price. See `order.balanceSummary` for more details. */ FULLY_REFUNDED = "FULLY_REFUNDED", /** * All payments pending. * * This can happen with two-step payments, when a payment requires manual review, or when a payment is in progress and will be concluded shortly. * Learn more about [pending orders](https://support.wix.com/en/article/pending-orders). */ PENDING = "PENDING", /** At least one payment received and approved, but it covers less than the order's total price. See `order.balanceSummary` for more details. */ PARTIALLY_PAID = "PARTIALLY_PAID", /** * Payment received, but not yet confirmed by the payment provider. * * In most cases, when a payment provider is holding payment it's because setup hasn't been successfully completed by the merchant/site owner. * To solve this, the merchant/site owner should log in to the payment provider's dashboard and make sure their account is set up correctly, or contact their support for further assistance. * @documentationMaturity preview */ PENDING_MERCHANT = "PENDING_MERCHANT", /** * One or more payments canceled. * @documentationMaturity preview */ CANCELED = "CANCELED", /** * One or more payments declined. * @documentationMaturity preview */ DECLINED = "DECLINED" } declare enum FulfillmentStatus { /** None of the order items are fulfilled or the order was manually marked as unfulfilled. */ NOT_FULFILLED = "NOT_FULFILLED", /** * All of the order items are fulfilled or the order was manually marked as fulfilled. * Orders without shipping info are fulfilled automatically. */ FULFILLED = "FULFILLED", /** Some, but not all, of the order items are fulfilled. */ PARTIALLY_FULFILLED = "PARTIALLY_FULFILLED" } declare enum WeightUnit { /** Weight unit can't be classified due to an error. */ UNSPECIFIED_WEIGHT_UNIT = "UNSPECIFIED_WEIGHT_UNIT", /** Kilograms. */ KG = "KG", /** Pounds. */ LB = "LB" } interface CurrencyConversionDetails { /** * 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. * @readonly * @immutable * @format CURRENCY */ originalCurrency?: string | null; /** * The rate used for converting the original currency to the currency used for payment. * @readonly * @immutable * @decimalValue options { gt:0, lte:1000000000000000 } */ conversionRate?: string | null; } interface PriceSummary { /** Subtotal of all line items, before discounts and before tax. */ subtotal?: Price; /** Total shipping price, before discounts and before tax. */ shipping?: Price; /** Total tax applied to the order. */ tax?: Price; /** Total discount amount applied to the order. */ discount?: Price; /** Order's total price after discounts and tax. */ total?: Price; /** Total additional fees before tax. */ totalAdditionalFees?: Price; } /** Billing Info and shipping details */ interface ApiAddressWithContact { /** Address. */ address?: Address; /** Contact details. */ contactDetails?: FullAddressContactDetails; } /** Physical address */ interface Address { /** * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. * @format COUNTRY */ country?: string | null; /** * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. * @maxLength 50 */ subdivision?: string | null; /** * City name. * @maxLength 50 */ city?: string | null; /** * Postal or zip code. * @maxLength 50 */ postalCode?: string | null; /** Street address. */ streetAddress?: StreetAddress; /** * Main address line (usually street name and number). * @maxLength 150 */ addressLine1?: string | null; /** * Free text providing more detailed address info. Usually contains apt, suite, floor. * @maxLength 100 */ addressLine2?: string | null; /** Geocode object containing latitude and longitude coordinates. */ location?: AddressLocation; /** * Country's full name. * @readonly */ countryFullname?: string | null; /** * Subdivision full-name. * @readonly */ subdivisionFullname?: string | null; } interface StreetAddress { /** Street number. */ number?: string; /** Street name. */ name?: string; } interface AddressLocation { /** Address latitude. */ latitude?: number | null; /** Address longitude. */ longitude?: number | null; } /** Full contact details for an address */ interface FullAddressContactDetails { /** * First name. * @maxLength 100 */ firstName?: string | null; /** * Last name. * @maxLength 100 */ lastName?: string | null; /** * Phone number. * @format PHONE */ phone?: string | null; /** * Company name. * @maxLength 1000 */ company?: string | null; /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */ vatId?: VatId; } interface VatId { /** Customer's tax ID. */ _id?: string; /** * Tax type. * * Supported values: * + `CPF`: for individual tax payers * + `CNPJ`: for corporations */ type?: VatType; } /** tax info types */ declare enum VatType { UNSPECIFIED = "UNSPECIFIED", /** CPF - for individual tax payers. */ CPF = "CPF", /** CNPJ - for corporations */ CNPJ = "CNPJ" } interface V1ShippingInformation { /** * App Def Id of external provider which was a source of shipping info * @minLength 1 * @maxLength 100 */ carrierId?: string | null; /** * Unique code (or ID) of selected shipping option. For example, `"usps_std_overnight"`. * @minLength 1 * @maxLength 100 */ code?: string | null; /** * Shipping option title. * For example, `"USPS Standard Overnight Delivery"`, `"Standard"` or `"First-Class Package International"`. * @maxLength 250 */ title?: string; /** Shipping logistics. */ logistics?: DeliveryLogistics; /** Shipping costs. */ cost?: ShippingPrice; /** Shipping region. */ region?: ShippingRegion; } interface DeliveryLogistics extends DeliveryLogisticsAddressOneOf { /** Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address. */ shippingDestination?: ApiAddressWithContact; /** Pickup details for store pickup or pickup point orders. */ pickupDetails?: PickupDetails; /** * Expected delivery time in free text. For example, `"3-5 business days"`. * @maxLength 500 */ deliveryTime?: string | null; /** * Instructions for the carrier. For example, `"Please knock on the door. If unanswered, please call contact number."`. * @maxLength 1000 */ instructions?: string | null; /** * Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. * @deprecated */ deliverByDate?: Date | null; /** Expected delivery time slot with start and end times. */ deliveryTimeSlot?: DeliveryTimeSlot; } /** @oneof */ interface DeliveryLogisticsAddressOneOf { /** Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address. */ shippingDestination?: ApiAddressWithContact; /** Pickup details for store pickup or pickup point orders. */ pickupDetails?: PickupDetails; } interface PickupDetails { /** Pickup address. */ address?: PickupAddress; /** Pickup method */ pickupMethod?: PickupMethod; } /** Physical address */ interface PickupAddress { /** * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. * @format COUNTRY */ country?: string | null; /** * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. * @maxLength 50 */ subdivision?: string | null; /** * City name. * @maxLength 1000 */ city?: string | null; /** * Postal or zip code. * @maxLength 1000 */ postalCode?: string | null; /** Street address object, with number, name, and apartment number in separate fields. */ streetAddress?: StreetAddress; /** * Main address line (usually street name and number). * @maxLength 1000 */ addressLine1?: string | null; /** * Free text providing more detailed address info. Usually contains apt, suite, floor. * @maxLength 1000 */ addressLine2?: string | null; /** * Country's full name. * @readonly */ countryFullname?: string | null; /** * Subdivision full-name. * @readonly */ subdivisionFullname?: string | null; } declare enum PickupMethod { UNKNOWN_METHOD = "UNKNOWN_METHOD", STORE_PICKUP = "STORE_PICKUP", PICKUP_POINT = "PICKUP_POINT" } interface DeliveryTimeSlot { /** Delivery slot starting time. */ from?: Date | null; /** Delivery slot ending time. */ to?: Date | null; } interface ShippingPrice { /** Shipping price for display purposes. */ price?: Price; /** * Total price of shipping after discounts (when relevant), and before tax. * @readonly */ totalPriceBeforeTax?: Price; /** * Shipping price after all discounts (if any exist), and after tax. * @readonly */ totalPriceAfterTax?: Price; /** * Tax details. * @deprecated Tax details. * @replacedBy tax_info * @targetRemovalDate 2026-03-30 */ taxDetails?: ItemTaxFullDetails; /** Represents all the relevant tax details for a shipping. */ taxInfo?: LineItemTaxInfo; /** * Shipping discount before tax. * @readonly */ discount?: Price; } interface ShippingRegion { /** * Name of shipping region. For example, `"Metropolitan London"`, or `"Outer Melbourne suburbs"`. * @maxLength 100 */ name?: string | null; } declare enum OrderStatus { /** Order created, but not yet approved or canceled. */ INITIALIZED = "INITIALIZED", /** * Order approved. * * This happens when either an online payment is received **or** when `priceSummary.total` is `0` (a zero-total order). * Offline orders (cash payment) are automatically approved. */ APPROVED = "APPROVED", /** Order canceled by the merchant or buyer. */ CANCELED = "CANCELED", /** * Order is waiting for the buyer to complete checkout. * @documentationMaturity preview */ PENDING = "PENDING", /** * Order rejected. * * This happens when pending payments fail. * @documentationMaturity preview */ REJECTED = "REJECTED" } interface TaxSummary { /** * Total tax. * @readonly */ totalTax?: Price; } interface OrderTaxInfo { /** Calculated tax, added from line items. */ totalTax?: Price; /** * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate. * @maxSize 50 */ taxBreakdown?: OrderTaxBreakdown[]; /** * Whether the order is exempt from tax calculations. * * Default: `false` * @readonly */ taxExempt?: boolean | null; } /** * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate. * Tax breakdown is the tax amount split to the tax authorities that applied on the line item. */ interface OrderTaxBreakdown { /** * The name of the tax against which this tax amount was calculated. * @maxLength 200 */ taxName?: string; /** * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. * @maxLength 200 */ taxType?: string; /** * The name of the jurisdiction in which this tax detail applies. * @maxLength 200 */ jurisdiction?: string; /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */ jurisdictionType?: JurisdictionType; /** * The rate at which this tax detail was calculated. * @format DECIMAL_VALUE * @decimalValue options { gte:0, maxScale:6 } */ rate?: string; /** The sum of all the tax from line items that calculated by the tax identifiers. */ aggregatedTaxAmount?: Price; } interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf { /** Coupon applied by the customer. */ coupon?: Coupon; /** Discount applied manually by the merchant. */ merchantDiscount?: MerchantDiscount; /** Automatic discount applied by the system based on configured discount rules. */ discountRule?: DiscountRule; discountType?: DiscountType; /** * __Deprecated.__ Use `lineItemDiscounts` instead. * * IDs of line items the discount applies to. * @format GUID * @maxSize 1 * @deprecated __Deprecated.__ Use `lineItemDiscounts` instead. * * IDs of line items the discount applies to. * @replacedBy line_item_discounts * @targetRemovalDate 2024-10-30 */ lineItemIds?: string[]; /** * Discount ID. * @format GUID * @immutable */ _id?: string | null; /** * Line items the discount applies to, including the discount amount for each. * @maxSize 300 */ lineItemDiscounts?: LineItemDiscount[]; } /** @oneof */ interface AppliedDiscountDiscountSourceOneOf { /** Coupon applied by the customer. */ coupon?: Coupon; /** Discount applied manually by the merchant. */ merchantDiscount?: MerchantDiscount; /** Automatic discount applied by the system based on configured discount rules. */ discountRule?: DiscountRule; } /** Type of discount. */ declare enum DiscountType { /** Discount applies to the entire order. */ GLOBAL = "GLOBAL", /** Discount applies to specific items. */ SPECIFIC_ITEMS = "SPECIFIC_ITEMS", /** Discount applies to shipping. For example, free shipping. */ SHIPPING = "SHIPPING" } /** Coupon */ interface Coupon { /** Coupon ID. */ _id?: string; /** Coupon code. */ code?: string; /** Coupon name. */ name?: string; /** Coupon value. */ amount?: Price; } /** Discount applied manually by the merchant through the dashboard. */ interface MerchantDiscount extends MerchantDiscountMerchantDiscountReasonOneOf { /** Predefined discount reason. */ discountReason?: DiscountReason; /** * Custom discount description as free text. * @maxLength 200 */ description?: string | null; /** Discount amount. */ amount?: Price; } /** @oneof */ interface MerchantDiscountMerchantDiscountReasonOneOf { /** Predefined discount reason. */ discountReason?: DiscountReason; /** * Custom discount description as free text. * @maxLength 200 */ description?: string | null; } /** Predefined reason for the discount. */ declare enum DiscountReason { /** Unknown discount reason. */ UNSPECIFIED = "UNSPECIFIED", /** Balance adjustment resulting from an item exchange. */ EXCHANGED_ITEMS = "EXCHANGED_ITEMS", /** Proportional discount for a shortened subscription billing cycle. Applied when a subscription's billing date is moved earlier, reducing the cycle length. */ BILLING_ADJUSTMENT = "BILLING_ADJUSTMENT" } interface DiscountRule { /** * Discount rule ID * @format GUID */ _id?: string; /** Discount rule name */ name?: DiscountRuleName; /** Discount value. */ amount?: Price; } interface DiscountRuleName { /** * Original discount rule name (in site's default language). * @minLength 1 * @maxLength 256 */ original?: string; /** * Translated discount rule name according to buyer language. Defaults to `original` when not provided. * @minLength 1 * @maxLength 500 */ translated?: string | null; } interface LineItemDiscount { /** * Line item ID. * @format GUID */ _id?: string; /** Total discount amount for this line item. */ totalDiscount?: Price; } interface ItemCombination { /** * The number of times this exact combination of items (with the specified quantities) was applied together in the order. * @min 1 * @max 100000 */ count?: number; /** * Line items that participated together in this combination. * @minSize 1 * @maxSize 100 */ lineItems?: ItemCombinationLineItem[]; } interface ItemCombinationLineItem { /** * The unique ID of the line item to which this discount applies. * @format GUID */ lineItemId?: string; /** Total discount amount for all units (quantity) of this line item in this combination. */ discountAmount?: Price; /** * Number of units from this line item that participated in a single combination. * @min 1 * @max 100000 */ quantity?: number; } interface Activity extends ActivityContentOneOf { /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */ merchantComment?: MerchantComment; /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */ orderRefunded?: OrderRefunded; /** Details of changes made by the Draft Orders API. */ draftOrderChangesApplied?: DraftOrderChangesApplied; /** Details of the payment method saved for order */ savedPaymentMethod?: SavedPaymentMethod; /** Details of an authorized payment created. */ authorizedPaymentCreated?: AuthorizedPaymentCreated; /** Details of an authorized payment captured. */ authorizedPaymentCaptured?: AuthorizedPaymentCaptured; /** Details of an authorized payment voided. */ authorizedPaymentVoided?: AuthorizedPaymentVoided; /** * Details of an initiated refund process. * * > **Note:** A single `refundInitiated` activity can result in multiple `paymentRefunded` or `paymentRefundFailed` activities. * > In these cases, the `refundId` will be identical across the activities. */ refundInitiated?: RefundInitiated; /** * Details of a refunded payment. * * > **Note:** A single `refundInitiated` activity can result in multiple `paymentRefunded` or `paymentRefundFailed` activities. * > In these cases, the `refundId` will be identical across the activities. */ paymentRefunded?: PaymentRefunded; /** * Details of a failed payment refund. * * > **Note:** A single `refundInitiated` activity can result in multiple `paymentRefunded` or `paymentRefundFailed` activities. * > In these cases, the `refundId` will be identical across the activities. */ paymentRefundFailed?: PaymentRefundFailed; /** Details of refund to store credit. */ refundedAsStoreCredit?: RefundedAsStoreCredit; /** Details of a pending payment. */ paymentPending?: PaymentPending; /** Details of a canceled payment. */ paymentCanceled?: PaymentCanceled; /** Details of a declined payment. */ paymentDeclined?: PaymentDeclined; /** Receipt was added for associated payment. */ receiptCreated?: ReceiptCreated; /** Receipt sent to customer. */ receiptSent?: ReceiptSent; /** Order received a chargeback for one of its' payments. */ chargebackCreated?: ChargebackCreated; /** Chargeback reversed for one of the order's payments. */ chargebackReversed?: ChargebackReversed; /** * Activity ID. * @format GUID * @readonly */ _id?: string | null; /** * Activity author's email. * @format EMAIL * @readonly */ authorEmail?: string | null; /** * Activity creation date and time. * @readonly */ _createdDate?: Date | null; /** * Activity type. * @deprecated Activity type. * @replacedBy activity_type * @targetRemovalDate 2026-03-01 */ type?: ActivityType; /** Activity type. */ activityType?: OrderActivityTypeEnumActivityType; } /** @oneof */ interface ActivityContentOneOf { /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */ merchantComment?: MerchantComment; /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */ orderRefunded?: OrderRefunded; /** Details of changes made by the Draft Orders API. */ draftOrderChangesApplied?: DraftOrderChangesApplied; /** Details of the payment method saved for order */ savedPaymentMethod?: SavedPaymentMethod; /** Details of an authorized payment created. */ authorizedPaymentCreated?: AuthorizedPaymentCreated; /** Details of an authorized payment captured. */ authorizedPaymentCaptured?: AuthorizedPaymentCaptured; /** Details of an authorized payment voided. */ authorizedPaymentVoided?: AuthorizedPaymentVoided; /** * Details of an initiated refund process. * * > **Note:** A single `refundInitiated` activity can result in multiple `paymentRefunded` or `paymentRefundFailed` activities. * > In these cases, the `refundId` will be identical across the activities. */ refundInitiated?: RefundInitiated; /** * Details of a refunded payment. * * > **Note:** A single `refundInitiated` activity can result in multiple `paymentRefunded` or `paymentRefundFailed` activities. * > In these cases, the `refundId` will be identical across the activities. */ paymentRefunded?: PaymentRefunded; /** * Details of a failed payment refund. * * > **Note:** A single `refundInitiated` activity can result in multiple `paymentRefunded` or `paymentRefundFailed` activities. * > In these cases, the `refundId` will be identical across the activities. */ paymentRefundFailed?: PaymentRefundFailed; /** Details of refund to store credit. */ refundedAsStoreCredit?: RefundedAsStoreCredit; /** Details of a pending payment. */ paymentPending?: PaymentPending; /** Details of a canceled payment. */ paymentCanceled?: PaymentCanceled; /** Details of a declined payment. */ paymentDeclined?: PaymentDeclined; /** Receipt was added for associated payment. */ receiptCreated?: ReceiptCreated; /** Receipt sent to customer. */ receiptSent?: ReceiptSent; /** Order received a chargeback for one of its' payments. */ chargebackCreated?: ChargebackCreated; /** Chargeback reversed for one of the order's payments. */ chargebackReversed?: ChargebackReversed; } interface CustomActivity { /** * ID of the app that created the custom activity. * @format GUID */ appId?: string; /** * Custom activity type. For example, `"Ticket number set"`. * @maxLength 100 */ type?: string; /** Additional data in key-value form. For example, `{ "Ticket number": "123456" }`. */ additionalData?: Record; } /** Store owner added a comment */ interface MerchantComment { /** * Merchant comment message. * @minLength 1 * @maxLength 5000 */ message?: string; } interface OrderRefunded { /** Whether order was refunded manually. For example, via payment provider or using cash. */ manual?: boolean; /** Refund amount. */ amount?: Price; /** * Reason for refund. * @maxLength 200 */ reason?: string; } interface OrderCreatedFromExchange { /** * ID of the original order for which the exchange happened. * @format GUID */ originalOrderId?: string; } interface NewExchangeOrderCreated { /** * ID of the new order created as a result of an exchange of items. * @format GUID */ exchangeOrderId?: string; /** * IDs of the items that were exchanged. * @minSize 1 * @maxSize 300 */ lineItems?: LineItemExchangeData[]; } interface LineItemExchangeData { /** * ID of the exchanged line item. * @format GUID */ lineItemId?: string; /** * Line item quantity being exchanged. * @min 1 * @max 100000 */ quantity?: number; } interface DraftOrderChangesApplied { /** Draft order id. */ draftOrderId?: string; /** * Reason for edit, given by user (optional). * @maxLength 200 */ reason?: string | null; /** Changes applied to order. */ changes?: OrderChange[]; } interface OrderChange extends OrderChangeValueOneOf { lineItemChanged?: LineItemChanges; lineItemAdded?: ManagedLineItem; lineItemRemoved?: ManagedLineItem; discountAdded?: ManagedDiscount; discountRemoved?: ManagedDiscount; additionalFeeAdded?: ManagedAdditionalFee; additionalFeeRemoved?: ManagedAdditionalFee; totalPriceChanged?: TotalPriceChange; shippingInformationChanged?: ShippingInformationChange; } /** @oneof */ interface OrderChangeValueOneOf { lineItemChanged?: LineItemChanges; lineItemAdded?: ManagedLineItem; lineItemRemoved?: ManagedLineItem; discountAdded?: ManagedDiscount; discountRemoved?: ManagedDiscount; additionalFeeAdded?: ManagedAdditionalFee; additionalFeeRemoved?: ManagedAdditionalFee; totalPriceChanged?: TotalPriceChange; shippingInformationChanged?: ShippingInformationChange; } interface LineItemChanges { /** * Line item ID. * @format GUID */ _id?: string; /** Item name after change. */ name?: ProductName; /** Item quantity change. */ quantity?: LineItemQuantityChange; /** Item price change. */ price?: LineItemPriceChange; } interface LineItemQuantityChange { /** * Item quantity before update. * @max 1000000 */ originalQuantity?: number; /** * Item quantity after update. * @max 1000000 */ newQuantity?: number; /** * Difference between original and new quantity. Absolute value. * @min 1 * @max 1000000 */ diff?: number; /** Type of quantity change: increase or decrease. */ deltaType?: LineItemQuantityChangeType; } declare enum LineItemQuantityChangeType { /** Quantity increased. */ QUANTITY_INCREASED = "QUANTITY_INCREASED", /** Quantity decreased. */ QUANTITY_DECREASED = "QUANTITY_DECREASED" } interface LineItemPriceChange { /** Item price before update. */ originalPrice?: Price; /** Item price after update. */ newPrice?: Price; } interface LineItemProductNameChange { /** Item product name before update. */ originalProductName?: ProductName; /** Item product name after update. */ newProductName?: ProductName; } interface LineItemDescriptionLineChange { /** * Description lines that were added to the line item. * @maxSize 20 */ addedDescriptionLines?: DescriptionLine[]; /** * Description lines that were removed from the line item. * @maxSize 20 */ removedDescriptionLines?: DescriptionLine[]; } interface LineItemModifiersChange { /** * Modifier groups that were added to the line item. * @maxSize 10 */ addedModifierGroups?: V1ModifierGroup[]; /** * Modifier groups that were removed from the line item. * @maxSize 10 */ removedModifierGroups?: V1ModifierGroup[]; } interface ManagedLineItem { /** * Line item ID. * @format GUID */ _id?: string; /** Item name. */ name?: ProductName; /** * Added or removed item quantity. * @min 1 * @max 1000000 */ quantity?: number; } interface ManagedDiscount { /** * Discount id. * @format GUID */ _id?: string; /** Discount name: coupon name / discount rule name / merchant discount description. */ name?: TranslatedValue; /** Line items discount applies to. */ affectedLineItems?: LineItemAmount[]; /** Discount amount. */ totalAmount?: Price; } interface TranslatedValue { /** * Value in site default language. * @minLength 1 */ original?: string; /** * Translated value. * @minLength 1 */ translated?: string | null; } interface LineItemAmount { /** * Order line item id * @format GUID */ _id?: string; /** Item name. */ name?: ProductName; /** Amount associated with this item. (Discount amount for item / additional fee amount for item) */ amount?: Price; } interface ManagedAdditionalFee { /** * Additional fee id. * @format GUID */ _id?: string; /** Additional fee name. */ name?: TranslatedValue; /** Line items additional fee applies to. */ affectedLineItems?: LineItemAmount[]; /** Additional fee amount. */ totalAmount?: Price; } interface TotalPriceChange { /** Order’s total price after discounts and tax. Before update */ originalTotal?: Price; /** Order’s total price after discounts and tax. After update */ newTotal?: Price; } interface ShippingInformationChange { /** Order’s Shipping Information. Before update */ originalShippingInfo?: ShippingInformation; /** Order’s Shipping Information. After update */ newShippingInfo?: ShippingInformation; } interface ShippingInformation { /** Order’s shipping price. */ total?: Price; /** * Order’s shipping title. * @maxLength 250 */ shippingTitle?: string; } /** Payment method is saved for order */ interface SavedPaymentMethod { /** * Payment method name * @minLength 1 * @maxLength 100 */ name?: string; /** * Payment method description * @minLength 1 * @maxLength 100 */ description?: string | null; } interface AuthorizedPaymentCreated { /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; /** Payment amount */ amount?: Price; /** * The last 4 digits of the card number. * @maxLength 4 */ lastFourDigits?: string | null; /** * Card issuer's brand. * @maxLength 100 */ brand?: string | null; } interface AuthorizedPaymentCaptured { /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; /** Payment amount */ amount?: Price; /** * The last 4 digits of the card number. * @maxLength 4 */ lastFourDigits?: string | null; /** * Card issuer's brand. * @maxLength 100 */ brand?: string | null; } interface AuthorizedPaymentVoided { /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; /** Payment amount */ amount?: Price; /** * The last 4 digits of the card number. * @maxLength 4 */ lastFourDigits?: string | null; /** * Card issuer's brand. * @maxLength 100 */ brand?: string | null; } interface RefundInitiated { /** * Refund ID. * @format GUID */ refundId?: string; /** Refund amount. */ amount?: Price; /** * Details about the payments being refunded. * @minSize 1 * @maxSize 50 */ payments?: RefundedPayment[]; /** * Reason for refund. * @maxLength 200 */ reason?: string | null; } interface RefundedPayment extends RefundedPaymentKindOneOf { /** Regular payment refund. */ regular?: RegularPaymentRefund; /** Gift card payment refund. */ giftCard?: GiftCardPaymentRefund; /** Membership payment refund. */ membership?: MembershipPaymentRefund; /** * Payment ID. * @format GUID */ paymentId?: string; /** Whether refund was made externally and manually on the payment provider's side. */ externalRefund?: boolean; } /** @oneof */ interface RefundedPaymentKindOneOf { /** Regular payment refund. */ regular?: RegularPaymentRefund; /** Gift card payment refund. */ giftCard?: GiftCardPaymentRefund; /** Membership payment refund. */ membership?: MembershipPaymentRefund; } interface RegularPaymentRefund { /** Refund amount */ amount?: Price; /** * The last 4 digits of the card number. * @maxLength 4 */ lastFourDigits?: string | null; /** * Card issuer's brand. * @maxLength 100 */ brand?: string | null; } interface GiftCardPaymentRefund { /** * Gift card payment ID * @minLength 1 * @maxLength 100 */ giftCardPaymentId?: string | null; /** Refund amount */ amount?: Price; } interface MembershipPaymentRefund { /** * Membership ID * @minLength 1 * @maxLength 100 */ membershipId?: string | null; } interface PaymentRefunded { /** * Refund ID. * @format GUID */ refundId?: string; /** Details about the refunded payment. */ payment?: RefundedPayment; } interface PaymentRefundFailed { /** * Refund ID. * @format GUID */ refundId?: string; /** Details about the failed payment refund. */ payment?: RefundedPayment; } interface RefundedAsStoreCredit { /** Refund amount */ amount?: Price; /** * Reason for refund * @maxLength 100 */ reason?: string | null; } interface PaymentPending extends PaymentPendingPaymentDetailsOneOf { /** Regular payment. */ regular?: RegularPayment; /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; } /** @oneof */ interface PaymentPendingPaymentDetailsOneOf { /** Regular payment. */ regular?: RegularPayment; } interface RegularPayment extends RegularPaymentPaymentMethodDetailsOneOf { /** Whether regular card used */ creditCardDetails?: CreditCardDetails; /** Payment amount */ amount?: Price; } /** @oneof */ interface RegularPaymentPaymentMethodDetailsOneOf { /** Whether regular card used */ creditCardDetails?: CreditCardDetails; } interface CreditCardDetails { /** * The last 4 digits of the card number. * @maxLength 4 */ lastFourDigits?: string | null; /** * Card issuer's brand. * @maxLength 100 */ brand?: string | null; } interface PaymentCanceled extends PaymentCanceledPaymentDetailsOneOf { /** Regular payment. */ regular?: RegularPayment; /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; } /** @oneof */ interface PaymentCanceledPaymentDetailsOneOf { /** Regular payment. */ regular?: RegularPayment; } interface PaymentDeclined extends PaymentDeclinedPaymentDetailsOneOf { /** Regular payment. */ regular?: RegularPayment; /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; } /** @oneof */ interface PaymentDeclinedPaymentDetailsOneOf { /** Regular payment. */ regular?: RegularPayment; } interface ReceiptCreated extends ReceiptCreatedReceiptInfoOneOf { /** Receipt created by Wix */ wixReceipt?: WixReceipt; /** Receipt created by an external system. */ externalReceipt?: ExternalReceipt; /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; } /** @oneof */ interface ReceiptCreatedReceiptInfoOneOf { /** Receipt created by Wix */ wixReceipt?: WixReceipt; /** Receipt created by an external system. */ externalReceipt?: ExternalReceipt; } interface WixReceipt { /** * Receipt ID * @format GUID */ receiptId?: string; /** * Display number of receipt * @minLength 1 * @maxLength 40 */ displayNumber?: string | null; } interface ExternalReceipt { /** * Receipt ID * @maxLength 100 */ receiptId?: string | null; /** * Display number of receipt * @minLength 1 * @maxLength 40 */ displayNumber?: string | null; } interface ReceiptSent extends ReceiptSentReceiptInfoOneOf { /** Receipt created by Wix */ wixReceipt?: WixReceipt; /** Receipt created by an external system. */ externalReceipt?: ExternalReceipt; /** * Payment ID of payment associated with this activity * @format GUID */ paymentId?: string; } /** @oneof */ interface ReceiptSentReceiptInfoOneOf { /** Receipt created by Wix */ wixReceipt?: WixReceipt; /** Receipt created by an external system. */ externalReceipt?: ExternalReceipt; } interface ChargebackCreated { /** * ID of the payment that received a chargeback. * @format GUID */ paymentId?: string; /** * Chargeback ID. * @format GUID */ chargebackId?: string; /** Chargeback amount. */ amount?: Price; /** Payment details. */ paymentDetails?: RegularPayment; } interface ChargebackReversed { /** * ID of the payment involved with the chargeback. * @format GUID */ paymentId?: string; /** * Chargeback ID. * @format GUID */ chargebackId?: string; /** Chargeback amount. */ amount?: Price; /** Chargeback reversal amount. */ reversalAmount?: Price; /** Payment details. */ paymentDetails?: RegularPayment; } declare enum ActivityType { /** Order was refunded, either partially or fully. */ ORDER_REFUNDED = "ORDER_REFUNDED", /** New order was created and placed. */ ORDER_PLACED = "ORDER_PLACED", /** Order payment was completed and confirmed. */ ORDER_PAID = "ORDER_PAID", /** Order items were marked as fulfilled (shipped or ready for pickup). */ ORDER_FULFILLED = "ORDER_FULFILLED", /** Order fulfillment status was changed to not fulfilled. */ ORDER_NOT_FULFILLED = "ORDER_NOT_FULFILLED", /** Order was canceled by merchant or customer. */ ORDER_CANCELED = "ORDER_CANCELED", /** Download link was sent for digital items in the order. */ DOWNLOAD_LINK_SENT = "DOWNLOAD_LINK_SENT", /** Shipping tracking number was added to the order. */ TRACKING_NUMBER_ADDED = "TRACKING_NUMBER_ADDED", /** Existing shipping tracking number was modified. */ TRACKING_NUMBER_EDITED = "TRACKING_NUMBER_EDITED", /** Tracking link for shipment was added to the order. */ TRACKING_LINK_ADDED = "TRACKING_LINK_ADDED", /** Email confirming shipment was sent to the customer. */ SHIPPING_CONFIRMATION_EMAIL_SENT = "SHIPPING_CONFIRMATION_EMAIL_SENT", /** Invoice document was added to the order. */ INVOICE_ADDED = "INVOICE_ADDED", /** Invoice was removed from the order. */ INVOICE_REMOVED = "INVOICE_REMOVED", /** Invoice was sent to the customer via email. */ INVOICE_SENT = "INVOICE_SENT", /** Notification email was sent to the order fulfiller. */ FULFILLER_EMAIL_SENT = "FULFILLER_EMAIL_SENT", /** Order's shipping address was modified. */ SHIPPING_ADDRESS_EDITED = "SHIPPING_ADDRESS_EDITED", /** Order's contact email address was changed. */ EMAIL_EDITED = "EMAIL_EDITED", /** Email notification for pickup readiness was sent. */ PICKUP_READY_EMAIL_SENT = "PICKUP_READY_EMAIL_SENT", /** Custom activity created by a third-party application. */ CUSTOM_ACTIVITY = "CUSTOM_ACTIVITY", /** Comment added to the order by a merchant. */ MERCHANT_COMMENT = "MERCHANT_COMMENT", /** Order was created as a result of an exchange. */ ORDER_CREATED_FROM_EXCHANGE = "ORDER_CREATED_FROM_EXCHANGE", /** New exchange order was created from this order. */ NEW_EXCHANGE_ORDER_CREATED = "NEW_EXCHANGE_ORDER_CREATED", /** Partial payment was received for the order. */ ORDER_PARTIALLY_PAID = "ORDER_PARTIALLY_PAID", /** Changes were applied to a draft order. */ DRAFT_ORDER_CHANGES_APPLIED = "DRAFT_ORDER_CHANGES_APPLIED", /** Payment method was saved for future use. */ SAVED_PAYMENT_METHOD = "SAVED_PAYMENT_METHOD", /** * Payment was authorized but not yet captured. * @documentationMaturity preview */ AUTHORIZED_PAYMENT_CREATED = "AUTHORIZED_PAYMENT_CREATED", /** * Previously authorized payment was captured. * @documentationMaturity preview */ AUTHORIZED_PAYMENT_CAPTURED = "AUTHORIZED_PAYMENT_CAPTURED", /** * Previously authorized payment was voided. * @documentationMaturity preview */ AUTHORIZED_PAYMENT_VOIDED = "AUTHORIZED_PAYMENT_VOIDED", /** * Refund process was initiated. * @documentationMaturity preview */ REFUND_INITIATED = "REFUND_INITIATED", /** * Payment was successfully refunded. * @documentationMaturity preview */ PAYMENT_REFUNDED = "PAYMENT_REFUNDED", /** * Attempt to refund payment failed. * @documentationMaturity preview */ PAYMENT_REFUND_FAILED = "PAYMENT_REFUND_FAILED", /** * Refund was issued as store credit. * @documentationMaturity preview */ REFUNDED_AS_STORE_CREDIT = "REFUNDED_AS_STORE_CREDIT", /** * Payment is awaiting processing or confirmation. * @documentationMaturity preview */ PAYMENT_PENDING = "PAYMENT_PENDING", /** * Payment was canceled before completion. * @documentationMaturity preview */ PAYMENT_CANCELED = "PAYMENT_CANCELED", /** * Payment was declined by payment provider. * @documentationMaturity preview */ PAYMENT_DECLINED = "PAYMENT_DECLINED", /** * Order is awaiting approval or processing. * @documentationMaturity preview */ ORDER_PENDING = "ORDER_PENDING", /** * Order was rejected by merchant. * @documentationMaturity preview */ ORDER_REJECTED = "ORDER_REJECTED", /** * Receipt was generated for a payment. * @documentationMaturity preview */ RECEIPT_CREATED = "RECEIPT_CREATED", /** * Receipt was sent to the customer. * @documentationMaturity preview */ RECEIPT_SENT = "RECEIPT_SENT", /** * Chargeback was created for one of the order's payments. * @documentationMaturity preview */ CHARGEBACK_CREATED = "CHARGEBACK_CREATED", /** * Chargeback was resolved in merchant's favor. * @documentationMaturity preview */ CHARGEBACK_REVERSED = "CHARGEBACK_REVERSED" } declare enum OrderActivityTypeEnumActivityType { /** Default value. This value is unused. */ UNKNOWN_ACTIVITY_TYPE = "UNKNOWN_ACTIVITY_TYPE", /** New order was created and placed. */ ORDER_PLACED = "ORDER_PLACED", /** Order payment was completed and confirmed. */ ORDER_PAID = "ORDER_PAID", /** Order items were marked as fulfilled (shipped or ready for pickup). */ ORDER_FULFILLED = "ORDER_FULFILLED", /** Order fulfillment status was changed to not fulfilled. */ ORDER_NOT_FULFILLED = "ORDER_NOT_FULFILLED", /** Order was canceled by merchant or customer. */ ORDER_CANCELED = "ORDER_CANCELED", /** Download link was sent for digital items in the order. */ DOWNLOAD_LINK_SENT = "DOWNLOAD_LINK_SENT", /** Shipping tracking number was added to the order. */ TRACKING_NUMBER_ADDED = "TRACKING_NUMBER_ADDED", /** Existing shipping tracking number was modified. */ TRACKING_NUMBER_EDITED = "TRACKING_NUMBER_EDITED", /** Tracking link for shipment was added to the order. */ TRACKING_LINK_ADDED = "TRACKING_LINK_ADDED", /** Email confirming shipment was sent to the customer. */ SHIPPING_CONFIRMATION_EMAIL_SENT = "SHIPPING_CONFIRMATION_EMAIL_SENT", /** Invoice document was added to the order. */ INVOICE_ADDED = "INVOICE_ADDED", /** Invoice was removed from the order. */ INVOICE_REMOVED = "INVOICE_REMOVED", /** Invoice was sent to the customer via email. */ INVOICE_SENT = "INVOICE_SENT", /** Notification email was sent to the order fulfiller. */ FULFILLER_EMAIL_SENT = "FULFILLER_EMAIL_SENT", /** Order's shipping address was modified. */ SHIPPING_ADDRESS_EDITED = "SHIPPING_ADDRESS_EDITED", /** Order's contact email address was changed. */ EMAIL_EDITED = "EMAIL_EDITED", /** Email notification for pickup readiness was sent. */ PICKUP_READY_EMAIL_SENT = "PICKUP_READY_EMAIL_SENT", /** Custom activity created by a third-party application. */ CUSTOM_ACTIVITY = "CUSTOM_ACTIVITY", /** Comment added to the order by a merchant. */ MERCHANT_COMMENT = "MERCHANT_COMMENT", /** Order was created as a result of an exchange. */ ORDER_CREATED_FROM_EXCHANGE = "ORDER_CREATED_FROM_EXCHANGE", /** New exchange order was created from this order. */ NEW_EXCHANGE_ORDER_CREATED = "NEW_EXCHANGE_ORDER_CREATED", /** Partial payment was received for the order. */ ORDER_PARTIALLY_PAID = "ORDER_PARTIALLY_PAID", /** Changes were applied to a draft order. */ DRAFT_ORDER_CHANGES_APPLIED = "DRAFT_ORDER_CHANGES_APPLIED", /** Payment method was saved for future use. */ SAVED_PAYMENT_METHOD = "SAVED_PAYMENT_METHOD", /** * Payment was authorized but not yet captured. * @documentationMaturity preview */ AUTHORIZED_PAYMENT_CREATED = "AUTHORIZED_PAYMENT_CREATED", /** * Previously authorized payment was captured. * @documentationMaturity preview */ AUTHORIZED_PAYMENT_CAPTURED = "AUTHORIZED_PAYMENT_CAPTURED", /** * Previously authorized payment was voided. * @documentationMaturity preview */ AUTHORIZED_PAYMENT_VOIDED = "AUTHORIZED_PAYMENT_VOIDED", /** * Refund process was initiated. * @documentationMaturity preview */ REFUND_INITIATED = "REFUND_INITIATED", /** * Payment was successfully refunded. * @documentationMaturity preview */ PAYMENT_REFUNDED = "PAYMENT_REFUNDED", /** * Attempt to refund payment failed. * @documentationMaturity preview */ PAYMENT_REFUND_FAILED = "PAYMENT_REFUND_FAILED", /** * Refund was issued as store credit. * @documentationMaturity preview */ REFUNDED_AS_STORE_CREDIT = "REFUNDED_AS_STORE_CREDIT", /** * Payment is awaiting processing or confirmation. * @documentationMaturity preview */ PAYMENT_PENDING = "PAYMENT_PENDING", /** * Payment was canceled before completion. * @documentationMaturity preview */ PAYMENT_CANCELED = "PAYMENT_CANCELED", /** * Payment was declined by payment provider. * @documentationMaturity preview */ PAYMENT_DECLINED = "PAYMENT_DECLINED", /** * Order is awaiting approval or processing. * @documentationMaturity preview */ ORDER_PENDING = "ORDER_PENDING", /** * Order was rejected by merchant. * @documentationMaturity preview */ ORDER_REJECTED = "ORDER_REJECTED", /** * Receipt was generated for a payment. * @documentationMaturity preview */ RECEIPT_CREATED = "RECEIPT_CREATED", /** * Receipt was sent to the customer. * @documentationMaturity preview */ RECEIPT_SENT = "RECEIPT_SENT", /** * Chargeback was created for one of the order's payments. * @documentationMaturity preview */ CHARGEBACK_CREATED = "CHARGEBACK_CREATED", /** * Chargeback was resolved in merchant's favor. * @documentationMaturity preview */ CHARGEBACK_REVERSED = "CHARGEBACK_REVERSED", /** Order was refunded, either partially or fully. */ ORDER_REFUNDED = "ORDER_REFUNDED" } declare enum AttributionSource { UNSPECIFIED = "UNSPECIFIED", FACEBOOK_ADS = "FACEBOOK_ADS" } interface V1CreatedBy extends V1CreatedByStringOneOf { /** * User ID - when the order was created by a Wix user on behalf of a buyer. * For example, via POS (point of service). * @format GUID */ userId?: string; /** * Member ID - when the order was created by a **logged in** site visitor. * @format GUID */ memberId?: string; /** * Visitor ID - when the order was created by a site visitor that was **not** logged in. * @format GUID */ visitorId?: string; /** * App ID - when the order was created by an external application. * @format GUID */ appId?: string; } /** @oneof */ interface V1CreatedByStringOneOf { /** * User ID - when the order was created by a Wix user on behalf of a buyer. * For example, via POS (point of service). * @format GUID */ userId?: string; /** * Member ID - when the order was created by a **logged in** site visitor. * @format GUID */ memberId?: string; /** * Visitor ID - when the order was created by a site visitor that was **not** logged in. * @format GUID */ visitorId?: string; /** * App ID - when the order was created by an external application. * @format GUID */ appId?: string; } interface ChannelInfo { /** * 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`. */ type?: ChannelType; /** * Reference to an order ID from an external system. Relevant when recording orders from external platforms. * @maxLength 100 */ externalOrderId?: string | null; /** * URL to the order in the external system. Relevant when recording orders from external platforms. * @maxLength 300 */ externalOrderUrl?: string | null; } declare enum ChannelType { /** Unspecified sales channel. This value is not supported. */ UNSPECIFIED = "UNSPECIFIED", /** A web client. */ WEB = "WEB", /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */ POS = "POS", /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */ EBAY = "EBAY", /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */ AMAZON = "AMAZON", /** Other sales platform. */ OTHER_PLATFORM = "OTHER_PLATFORM", /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */ WIX_APP_STORE = "WIX_APP_STORE", /** 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) */ WIX_INVOICES = "WIX_INVOICES", /** Wix merchant backoffice. */ BACKOFFICE_MERCHANT = "BACKOFFICE_MERCHANT", /** Wish sales channel. */ WISH = "WISH", /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */ CLASS_PASS = "CLASS_PASS", /** Global-E sales channel. */ GLOBAL_E = "GLOBAL_E", /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */ FACEBOOK = "FACEBOOK", /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */ ETSY = "ETSY", /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */ TIKTOK = "TIKTOK", /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */ FAIRE_COM = "FAIRE_COM", /** PayPal Agentic Checkout sales channel. */ PAYPAL_AGENTIC_CHECKOUT = "PAYPAL_AGENTIC_CHECKOUT" } interface CustomField { /** Custom field value. */ value?: any; /** * Custom field title. * @minLength 1 * @maxLength 500 */ title?: string; /** * Translated custom field title. * @minLength 1 * @maxLength 500 */ translatedTitle?: string | null; } interface BalanceSummary { /** * Current amount left to pay. * @readonly */ balance?: Balance; /** * Sum of all approved and successful payments. * * The value includes payments that have subsequently been fully or partially refunded. * @readonly */ paid?: Price; /** * Sum of all successfully refunded payments. * @readonly */ refunded?: Price; /** * Sum of all authorized payments. * @readonly */ authorized?: Price; /** * Sum of all pending refund transactions. * @readonly */ pendingRefund?: Price; /** * Sum of all pending transactions. * @readonly */ pending?: Price; /** * Sum of all transaction chargebacks. * @readonly */ chargeback?: Price; /** * Sum of all chargeback reversals. * @readonly */ chargebackReversal?: Price; } /** * Order balance. Reflects amount left to be paid on order and is calculated dynamically. Can be negative per balance definition. * `amount` field depends on order payment status: * + UNSPECIFIED, NOT_PAID: price_summary.total_price * + PARTIALLY_PAID : price_summary.total_price - pay_now.total_price * + PENDING, REFUNDED, PARTIALLY_REFUNDED, PAID : 0 */ interface Balance { /** * Balance amount. * * A negative `amount` represents the amount to be refunded. This can happen due to overcharging or the order being modified after a payment has been made. * @decimalValue options { } * @readonly */ amount?: string; /** * Amount formatted with currency symbol. * @readonly */ formattedAmount?: string; } interface AdditionalFee { /** * Additional fee's unique code for future processing. * @minLength 1 * @maxLength 100 */ code?: string | null; /** * Name of additional fee. * @minLength 1 * @maxLength 50 */ name?: string; /** Additional fee's price. */ price?: Price; /** * Tax details. * @deprecated Tax details. * @replacedBy tax_info * @targetRemovalDate 2026-03-30 */ taxDetails?: ItemTaxFullDetails; /** Represents all the relevant tax details for additional fee. */ taxInfo?: LineItemTaxInfo; /** * SPI implementer's `appId`. * @format GUID */ providerAppId?: string | null; /** Additional fee's price before tax. */ priceBeforeTax?: Price; /** Additional fee's price after tax. */ priceAfterTax?: Price; /** * Additional fee's id. * @format GUID * @immutable */ _id?: string; /** * Optional - Line items associated with this additional fee. * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order. * @format GUID */ lineItemIds?: string[]; } declare enum AdditionalFeeSource { UNKNOWN_ADDITIONAL_FEE_SOURCE = "UNKNOWN_ADDITIONAL_FEE_SOURCE", /** The additional fee was added by an additional fee service plugin. */ SERVICE_PLUGIN = "SERVICE_PLUGIN", /** The additional fee was added to the item by a catalog or custom line item. */ ITEM = "ITEM", /** The additional fee was added manually on request. */ MANUAL = "MANUAL", /** The additional fee was added by the shipping provider. */ SHIPPING = "SHIPPING", /** The additional fee was added by the Wix eCommerce platform. */ PLATFORM = "PLATFORM" } interface FulfillmentStatusesAggregate { /** Unique string values based on Fulfillment entities statuses */ statuses?: string[] | null; } /** * Common object for tags. * Should be use as in this example: * message Foo { * option (.wix.api.decomposite_of) = "wix.common.tags.Foo"; * string id = 1; * ... * Tags tags = 5 * } * * example of taggable entity * { * id: "123" * tags: { * tags: { * tag_ids:["11","22"] * }, * private_tags: { * tag_ids: ["33", "44"] * } * } * } */ interface Tags { /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */ privateTags?: TagList; /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */ tags?: TagList; } interface TagList { /** * List of tag IDs * @maxSize 100 * @maxLength 5 */ tagIds?: string[]; } interface Location { /** * Location ID. * Learn more about the [Wix Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction). * @format GUID */ _id?: string; /** * Location name. * @minLength 1 * @maxLength 500 * @readonly */ name?: string; } interface OrderSettings extends OrderSettingsAllowedActionsOneOf, OrderSettingsEditableByOneOf { /** Regular order with full set of allowed actions (ActionType for reference). */ standardActions?: boolean; /** * View only order with limited set of allowed actions: * 1. Add merchant activity * 2. Send order notifications * 3. Archiving order * 4. Assign tags on orders * 5. Export order * 6. Print order */ limitedActions?: boolean; /** Custom list of allowed actions for order. */ customActions?: CustomAllowedActions; } /** @oneof */ interface OrderSettingsAllowedActionsOneOf { /** Regular order with full set of allowed actions (ActionType for reference). */ standardActions?: boolean; /** * View only order with limited set of allowed actions: * 1. Add merchant activity * 2. Send order notifications * 3. Archiving order * 4. Assign tags on orders * 5. Export order * 6. Print order */ limitedActions?: boolean; /** Custom list of allowed actions for order. */ customActions?: CustomAllowedActions; } /** @oneof */ interface OrderSettingsEditableByOneOf { } interface CustomAllowedActions { /** @maxSize 17 */ orderActions?: OrderActionType[]; } declare enum OrderActionType { /** Order is editable */ EDIT = "EDIT", /** Order is updatable */ UPDATE = "UPDATE", /** Order is refundable */ REFUND = "REFUND", /** Allow mark order as approved */ APPROVE = "APPROVE", /** Allow cancel order */ CANCEL = "CANCEL", /** Allow fulfill order */ FULFILL = "FULFILL", /** Allow to collect payment for order */ COLLECT_PAYMENTS = "COLLECT_PAYMENTS", /** Allow send notifications for order */ SEND_NOTIFICATIONS = "SEND_NOTIFICATIONS", /** Allow add merchant activities on order */ ADD_MERCHANT_ACTIVITY = "ADD_MERCHANT_ACTIVITY", /** Allow add all types of activities on order */ ADD_ACTIVITY = "ADD_ACTIVITY", /** Allow create invoice */ CREATE_INVOICE = "CREATE_INVOICE", /** Allow create receipts for order payments */ CREATE_RECEIPTS = "CREATE_RECEIPTS", /** Allow assign tags on order */ ASSIGN_TAG = "ASSIGN_TAG", /** Allow print packaging slip */ PRINT_PACKAGING_SLIP = "PRINT_PACKAGING_SLIP", /** Allow to update inventory */ MODIFY_INVENTORY = "MODIFY_INVENTORY" } interface OwnerApps { /** * Identifies the owning apps for this order. * @format GUID * @minSize 1 * @maxSize 10 */ appIds?: string[]; } declare enum SpecificItemsCouponBehavior { /** Coupon calculation behavior was not specified. */ UNDEFINED_COUPON_BEHAVIOR = "UNDEFINED_COUPON_BEHAVIOR", /** Item subtotal includes coupon discount. */ ITEM_SUBTOTAL_INCLUDES_DISCOUNT = "ITEM_SUBTOTAL_INCLUDES_DISCOUNT", /** * Legacy flow. * Discount is applied as to specific items after subtotal calculation. */ LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT = "LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT" } interface FormInfo { /** * The identifier of the form schema. * @readonly */ schemaIdentifier?: FormIdentifier; /** * The unique identifier of the form instance. * @format GUID * @readonly */ _id?: string; /** * The line item ids associated with this form. * @format GUID * @readonly * @maxSize 300 */ lineItemIds?: string[]; /** * The translated title of the form. * @maxLength 100 * @readonly */ title?: string; /** * The translated subtitles of the form. * @maxSize 10 * @maxLength 100 * @readonly */ subtitles?: string[] | null; /** * The id of the form submission. * @format GUID */ formSubmissionId?: string | null; } interface FormIdentifier { /** @format GUID */ formSchemaId?: string; /** @maxLength 100 */ namespace?: string; } interface PlatformFeeSummary { /** Total sum of all platform fees. */ total?: Price; /** Total amount of platform fees with `PASS_ON` charge type. */ totalPassOn?: Price; /** Total amount of platform fees with `ABSORBED` charge type. */ totalAbsorbed?: Price; /** * Specific information about each platform fee. * @maxSize 300 */ fees?: PlatformFee[]; } interface PlatformFee { /** Platform fee name. */ name?: TranslatableString; /** Platform fee amount. */ amount?: Price; /** * ID of the line item the platform fee applies to. * @format GUID */ lineItemId?: string; /** Platform fee charge type. */ chargeType?: ChargeType; /** * 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%. * @format DECIMAL_VALUE * @decimalValue options { gt:0, lte:1, maxScale:4 } */ percentageRate?: string; } declare enum ChargeType { UNKNOWN_CHARGE_TYPE = "UNKNOWN_CHARGE_TYPE", /** * Platform fee passed on to buyer. * * This type increases the order total, and is visible to the buyer and merchant as an additional fee. */ PASS_ON = "PASS_ON", /** * Platform fee absorbed by merchant. * * This type does not increase the order total, and is only visible to the merchant. */ ABSORBED = "ABSORBED" } interface GetPaymentSettingsResponse { /** Retrieved payment settings. */ paymentSettings?: PaymentSettings; } interface PaymentSettings { /** * Whether to apply [3D Secure](https://support.wix.com/en/article/about-3d-secure-3ds-payments-with-third-party-payment-providers) during the payment process. * * > __Note:__ * > + Not all payment providers offer this feature in their Wix integration. * > + If the service plugin call fails, the value set in the [extension configuration](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/payment-settings-integration-spi/introduction#configuration) for `fallbackValueForRequires3dSecure` will be used. */ requires3dSecure?: boolean | null; } interface GetPaymentSettingsForCheckoutRequest { /** Checkout. */ checkout?: Checkout; } /** A checkout represents a cart that is in the process of being purchased. It holds calculated prices, tax, shipping, and buyer information needed to complete the purchase. */ interface Checkout { /** * Checkout ID. * @format GUID * @readonly */ _id?: string | null; /** * Line items. * * Max: 300 items * @minSize 1 * @maxSize 300 * @readonly */ lineItems?: LineItem[]; /** Billing information. */ billingInfo?: AddressWithContact; /** Shipping information. */ shippingInfo?: ShippingInfo; /** * [Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer. * @maxLength 1000 */ buyerNote?: string | null; /** Buyer information. */ buyerInfo?: BuyerInfo; /** * The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. * * This reflects the customer’s preferred display currency and may differ from the site’s default currency. * When no specific currency is selected by the customer, this matches the `currency` property. * @readonly * @format CURRENCY */ conversionCurrency?: string; /** * Calculated price summary for the checkout. * @readonly */ priceSummary?: V1PriceSummary; /** * Errors when calculating totals. * @readonly */ calculationErrors?: CalculationErrors; /** * Applied gift card details. * * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/setting-up-wix-gift-cards-9451439). * @readonly */ giftCard?: GiftCard; /** * Applied discounts. * @readonly */ appliedDiscounts?: V1AppliedDiscount[]; /** Custom fields. */ customFields?: CustomField[]; /** * Weight measurement unit. Defaults to a site's weight unit. * @readonly */ weightUnit?: WeightUnit; /** * Tax summary. * @readonly */ taxSummary?: V1TaxSummary; /** * The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection. * @format CURRENCY * @readonly */ currency?: string; /** * Sales channel that submitted the order. * @readonly */ channelType?: ChannelType; /** * Site language in which original values are shown. * @readonly */ siteLanguage?: string; /** * Language for communication with the buyer. Defaults to the site language. * * For a site that supports multiple languages, this is the language the buyer selected. * @readonly */ buyerLanguage?: string; /** * Whether an order was successfully created from this checkout. * * For an order to be successful, it must be successfully paid for (unless the total is 0). * @readonly */ completed?: boolean; /** * Whether tax is included in line item prices. * @readonly */ taxIncludedInPrice?: boolean; /** * ID of the checkout's initiator. * @readonly */ createdBy?: CreatedBy; /** * Date and time the checkout was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the checkout was updated. * @readonly */ _updatedDate?: Date | null; /** * Minimal amount to pay in order to place the order. * @readonly */ payNow?: V1PriceSummary; /** * Remaining amount for the order to be fully paid. * @readonly */ payLater?: V1PriceSummary; /** Memberships to apply when creating the order. */ membershipOptions?: MembershipOptions; /** * Additional Fees. * @maxSize 100 * @readonly */ additionalFees?: V1AdditionalFee[]; /** * Cart ID that this checkout was created from. Empty if this checkout wasn't created from a cart. * @format GUID */ cartId?: string | null; /** * List of validation violations raised by the [Validations service plugin](https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/validations-integration-service-plugin/introduction). * @readonly */ violations?: Violation[]; /** * Custom field data for the checkout object. * * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; /** * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. * @format GUID * @readonly */ purchaseFlowId?: string | null; /** * Additional settings for customization of the checkout process. * * > **Notes:** * > * Custom settings can only be set when creating a checkout. * > * To access and manage custom checkout page content, your app must have the permission scope named "Manage eCommerce - Admin Permissions". Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions). * @immutable */ customSettings?: CustomSettings; /** * Reference IDs for the app and component providing custom checkout page content. * * To access and manage custom checkout page content, your app must have the permission scope named "Manage eCommerce - Admin Permissions". * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions). */ customContentReference?: CustomContentReference; /** * References to an external app and resource associated with this checkout. * Used for integration and tracking across different platforms. * @immutable */ externalReference?: ExternalReference; /** * Payment for subscriptions after free trial period. * @readonly */ payAfterFreeTrial?: V1PriceSummary; /** * The business location ID associated with the checkout. * * To learn more, see the Locations API. * @format GUID */ businessLocationId?: string | null; /** * The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. * * This is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies. * If the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property. * @readonly * @format CURRENCY */ paymentCurrency?: string; /** * Tax exempt group ID to use for tax exemptions. * @format GUID */ taxExemptGroupId?: string | null; } interface LineItem { /** * Line item ID. * @format GUID * @readonly */ _id?: string | null; /** * Item quantity. * * Min: `"1"` * Max: `"100000"` * @min 1 * @max 100000 */ quantity?: number; /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */ catalogReference?: CatalogReference; /** * Item name. * + Stores - `product.name` * + Bookings - `service.info.name` * + Events - `ticket.name` * @readonly */ productName?: ProductName; /** * URL to the item's page on the site. * @readonly */ url?: string; /** * Item price **after** catalog-defined discount and line item discounts. * @readonly */ price?: MultiCurrencyPrice; /** * Total line item price **after** catalog-defined discount and line item discounts. * @readonly */ lineItemPrice?: MultiCurrencyPrice; /** * Item price **before** catalog-defined discount. Defaults to `price` when not provided. * @readonly */ fullPrice?: MultiCurrencyPrice; /** * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided. * @readonly */ priceBeforeDiscounts?: MultiCurrencyPrice; /** * Total price after all discounts and tax. * @readonly */ totalPriceAfterTax?: MultiCurrencyPrice; /** * Total price after discounts, and before tax. * @readonly */ totalPriceBeforeTax?: MultiCurrencyPrice; /** * Tax details for this line item. * @readonly */ taxDetails?: V1ItemTaxFullDetails; /** * Discount for this line item's entire quantity. * @readonly */ discount?: MultiCurrencyPrice; /** * Line item description lines. Used for display purposes for the cart, checkout and order. * @readonly */ descriptionLines?: DescriptionLine[]; /** * Line item image details. * @readonly */ media?: string; /** * Item availability details. * @readonly */ availability?: ItemAvailabilityInfo; /** * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability. * @readonly */ physicalProperties?: PhysicalProperties; /** * Item type. Either a preset type or custom. * @readonly */ itemType?: ItemType; /** * Subscription option information. * @readonly */ subscriptionOptionInfo?: SubscriptionOptionInfo; /** * Type of selected payment option for current item. * * Default: `FULL_PAYMENT_ONLINE` * @readonly */ paymentOption?: PaymentOptionType; /** * Service properties. When relevant, this contains information such as date and number of participants. * @readonly */ serviceProperties?: ServiceProperties; /** * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID. * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID. * + In most cases, this field has the same value as `catalogReference.catalogItemId`. * + Used in membership validation. * @minLength 1 * @maxLength 36 * @readonly */ rootCatalogItemId?: string | null; /** * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67". * @readonly */ priceDescription?: PriceDescription; /** * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only. * @readonly */ depositAmount?: MultiCurrencyPrice; /** * Delivery profile ID. * @format GUID * @readonly */ deliveryProfileId?: string | null; /** * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin. * @readonly */ customLineItem?: boolean; /** * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page. * @minLength 1 * @maxLength 2500 * @readonly */ consentRequiredPaymentPolicy?: string | null; /** * Overriding values for catalog item properties. * * To override catalog fields, your app must have the permission scope named "Manage eCommerce - Admin Permissions". * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions). */ catalogOverrideFields?: CatalogOverrideFields; /** * Whether the price is not yet defined, and will be updated after the order is created. * @readonly */ priceUndetermined?: boolean; /** * Whether the line item quantity is fixed and cannot be changed. * @readonly */ fixedQuantity?: boolean; /** * Whether to save the payment method on the order. * * Default: `false` * @readonly */ savePaymentMethod?: boolean; /** Address to use for tax calculation purposes. */ taxableAddress?: TaxableAddress; /** * Custom extended fields for the line item object. * * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; /** * Policies to be displayed to the customer on the checkout page. * @readonly * @maxSize 5 */ policies?: Policy[]; /** * Whether the item can only be purchased by site members. * * Default: `false` * @readonly */ membersOnly?: boolean; /** * Modifier groups that were added to the item. * @readonly * @maxSize 25 */ modifierGroups?: ModifierGroup[]; /** * Total price of all item modifiers. Included in the item price. * @readonly */ modifiersTotalPrice?: MultiCurrencyPrice; } interface MultiCurrencyPrice { /** * Amount. * @decimalValue options { gte:0, lte:1000000000000000 } */ amount?: string; /** * Converted amount. * @readonly * @decimalValue options { gte:0, lte:1000000000000000 } */ convertedAmount?: string; /** * Amount formatted with currency symbol. * @readonly */ formattedAmount?: string; /** * Converted amount formatted with currency symbol. * @readonly */ formattedConvertedAmount?: string; } interface V1ItemTaxFullDetails { /** Amount for which tax is calculated. */ taxableAmount?: MultiCurrencyPrice; /** * Tax rate %, as a decimal point between 0 and 1. * @decimalValue options { gte:0, lte:1, maxScale:6 } */ taxRate?: string; /** Calculated tax, based on `taxable_amount` and `tax_rate`. */ totalTax?: MultiCurrencyPrice; /** * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead. * @readonly * @deprecated */ rateBreakdown?: TaxRateBreakdown[]; /** * tax information for a line item. * @maxSize 1000 * @readonly */ taxBreakdown?: TaxBreakdown[]; } interface TaxRateBreakdown { /** * Name of tax against which the calculation was performed. * @maxLength 100 */ name?: string; /** * Rate at which this tax detail was calculated. * @decimalValue options { gte:0, lte:1, maxScale:6 } */ rate?: string; /** Amount of tax for this tax detail. */ tax?: MultiCurrencyPrice; } /** * TaxBreakdown represents tax information for a line item. * It holds the tax amount and the tax rate for each tax authority that apply on the line item. */ interface TaxBreakdown { /** * The name of the jurisdiction to which this tax detail applies. For example, "New York" or "Quebec". * @maxLength 200 */ jurisdiction?: string | null; /** The amount of this line item price that was considered nontaxable. (Decimal value) */ nonTaxableAmount?: MultiCurrencyPrice; /** * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) * @decimalValue options { gte:0, maxScale:6 } */ rate?: string | null; /** The amount of tax estimated for this line item. (Decimal value) */ taxAmount?: MultiCurrencyPrice; /** The taxable amount of this line item. */ taxableAmount?: MultiCurrencyPrice; /** * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, "Sales Tax", "Income Tax", "Value Added Tax", etc. * @maxLength 200 */ taxType?: string | null; /** * 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. * @maxLength 200 */ taxName?: string | null; /** The type of the jurisdiction in which this tax detail applies. */ jurisdictionType?: V1JurisdictionType; } /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */ declare enum V1JurisdictionType { UNDEFINED = "UNDEFINED", COUNTRY = "COUNTRY", STATE = "STATE", COUNTY = "COUNTY", CITY = "CITY", SPECIAL = "SPECIAL" } interface ItemAvailabilityInfo { /** Item availability status. */ status?: ItemAvailabilityStatus; /** Quantity available. */ quantityAvailable?: number | null; } declare enum ItemAvailabilityStatus { AVAILABLE = "AVAILABLE", /** Item does not exist. */ NOT_FOUND = "NOT_FOUND", /** Item is not in stock. */ NOT_AVAILABLE = "NOT_AVAILABLE", /** Available quantity is less than requested. */ PARTIALLY_AVAILABLE = "PARTIALLY_AVAILABLE" } interface Scope { /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */ namespace?: string; /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */ group?: Group; } interface Group { /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */ name?: string; /** Item ID (when the coupon scope is limited to just one item). */ entityId?: string | null; } interface SubscriptionOptionInfo { /** Subscription option settings. */ subscriptionSettings?: V1SubscriptionSettings; /** Subscription option title. */ title?: Title; /** Subscription option description. */ description?: Description; } interface V1SubscriptionSettings { /** Frequency of recurring payment. */ frequency?: SubscriptionFrequency; /** * Interval of recurring payment. * * Default: `1`. * If SubscriptionFrequency is Day the minimum interval is 7 * @min 1 * @max 3650 */ interval?: number | null; /** Whether subscription is renewed automatically at the end of each period. */ autoRenewal?: boolean; /** * Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. * @min 1 */ billingCycles?: number | null; /** Whether to allow the customer to cancel the subscription.. */ enableCustomerCancellation?: boolean; /** * Period until first cycle starts. If applied payNow will be 0 * If None => no free trial */ freeTrialPeriod?: V1FreeTrialPeriod; } interface V1FreeTrialPeriod { /** Frequency of period. Values: DAY, WEEK, MONTH, YEAR */ frequency?: SubscriptionFrequency; /** * interval of period * @min 1 * @max 999 */ interval?: number; } interface Title { /** * Subscription option 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#request-envelope). * @minLength 1 * @maxLength 150 */ original?: string; /** * Subscription option name translated into the buyer's language. * * Default: Same as `original`. * @minLength 1 * @maxLength 150 */ translated?: string | null; } interface Description { /** * Subscription option description. * @maxLength 500 */ original?: string; /** * Translated subscription option description. * @maxLength 500 */ translated?: string | null; } interface SecuredMedia { /** * Media ID in Wix Media Manager. * @minLength 1 * @maxLength 100 */ _id?: string; /** * Original filename. * @minLength 1 * @maxLength 1000 */ fileName?: string; /** File type. */ fileType?: FileType; } declare enum FileType { UNSPECIFIED = "UNSPECIFIED", SECURE_PICTURE = "SECURE_PICTURE", SECURE_VIDEO = "SECURE_VIDEO", SECURE_DOCUMENT = "SECURE_DOCUMENT", SECURE_MUSIC = "SECURE_MUSIC", SECURE_ARCHIVE = "SECURE_ARCHIVE", SECURE_RAW = "SECURE_RAW" } interface ServiceProperties { /** * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. * For example, the start time of a class. */ scheduledDate?: Date | null; /** * The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room. * @min 1 * @max 10000 */ numberOfParticipants?: number | null; } interface CatalogOverrideFields { /** Item name. */ productName?: ProductName; /** * Item price **after** discounts. * @decimalValue options { gte:0, lte:999999999, maxScale:3 } */ price?: string | null; /** * Item price **before** discounts. * @decimalValue options { gte:0, lte:999999999, maxScale:3 } */ fullPrice?: string | null; /** * Item description lines. Used when displaying the line item to customers. * @maxSize 20 */ descriptionLines?: DescriptionLine[]; /** Physical properties of the item. */ physicalProperties?: PhysicalProperties; /** Item image. */ image?: string; /** Payment method selected for the item. */ paymentOption?: PaymentOption; /** * Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`. * @format DECIMAL_VALUE * @decimalValue options { gt:0, lte:999999999, maxScale:3 } */ depositAmount?: string | null; /** * Whether to save the payment method on the order. * * Default: `false` */ savePaymentMethod?: boolean | null; /** * ID of the app managing the inventory. * @format GUID */ inventoryAppId?: string | null; } interface PaymentOption { /** * Type of selected payment option for current item. * * Default: `FULL_PAYMENT_ONLINE` */ value?: PaymentOptionType; } interface Policy { /** * Policy title - should be translated * @minLength 1 * @maxLength 29 */ title?: string | null; /** * Policy content - should be translated * @minLength 1 * @maxLength 3000 */ content?: string; } interface ModifierGroup { /** * Modifier group ID. * @minLength 1 * @maxLength 36 */ _id?: string; /** Modifier group name. */ name?: TranslatableString; /** * List of modifiers in this group. * @minSize 1 * @maxSize 25 */ modifiers?: ItemModifier[]; } interface ItemModifier { /** * Modifier ID. * @minLength 1 * @maxLength 36 */ _id?: string; /** * The quantity of this modifier. * @min 1 * @max 100000 */ quantity?: number | null; /** Primary display label for the modifier. */ label?: TranslatableString; /** Additional details. */ details?: TranslatableString; /** The price of the modifier. */ price?: MultiCurrencyPrice; } interface V1PlatformFee { /** __Required.__ Platform fee name. */ name?: TranslatableString; /** Platform fee charge type. */ chargeType?: PlatformFeeChargeType; /** * 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%. * @format DECIMAL_VALUE * @decimalValue options { gt:0, lte:1, maxScale:4 } */ percentageRate?: string; } declare enum PlatformFeeChargeType { UNKNOWN_CHARGE_TYPE = "UNKNOWN_CHARGE_TYPE", /** The platform fee is passed on to the customer. */ PASS_ON = "PASS_ON", /** The platform fee is absorbed by the merchant. */ ABSORBED = "ABSORBED" } /** Billing Info and shipping details */ interface AddressWithContact { /** Address. */ address?: Address; /** Contact details. */ contactDetails?: FullAddressContactDetails; } interface ShippingInfo { /** Shipping address and contact details. */ shippingDestination?: AddressWithContact; /** Selected option out of the options allowed for the `region`. */ selectedCarrierServiceOption?: SelectedCarrierServiceOption; /** * Shipping region. Based on the address provided. * @readonly */ region?: V1ShippingRegion; /** * All carrier options for this shipping rule. * @readonly */ carrierServiceOptions?: CarrierServiceOption[]; } interface SelectedCarrierServiceOption { /** * Unique identifier of selected option. For example, "usps_std_overnight". * @maxLength 100 */ code?: string; /** * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale). * For example, "Standard" or "First-Class Package International". * @maxLength 250 * @readonly */ title?: string; /** * Delivery logistics. * @readonly */ logistics?: V1DeliveryLogistics; /** * Shipping costs. * @readonly */ cost?: SelectedCarrierServiceOptionPrices; /** * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first) * @readonly */ requestedShippingOption?: boolean; /** * Other charges * @deprecated Other charges * @replacedBy additional_fees * @targetRemovalDate 2025-10-01 */ otherCharges?: SelectedCarrierServiceOptionOtherCharge[]; /** * This carrier's unique ID * @format GUID */ carrierId?: string | null; /** * Delivery solution allocations to different delivery carriers and delivery regions * @maxSize 300 */ deliveryAllocations?: DeliveryAllocation[]; /** If the delivery solution is a partial and doesn't apply to all items. */ partial?: boolean | null; } interface V1DeliveryLogistics { /** * Expected delivery time, in free text. For example, "3-5 business days". * @maxLength 500 */ deliveryTime?: string | null; /** * Instructions for caller, e.g for pickup: "Please deliver during opening hours, and please don't park in disabled parking spot". * @maxLength 1000 */ instructions?: string | null; /** Pickup details. */ pickupDetails?: V1PickupDetails; } interface V1PickupDetails { /** Pickup address. */ address?: Address; /** * Whether the pickup address is that of a business - this may effect tax calculation. * @deprecated */ businessLocation?: boolean; /** Pickup method */ pickupMethod?: PickupDetailsPickupMethod; } declare enum PickupDetailsPickupMethod { UNKNOWN_METHOD = "UNKNOWN_METHOD", STORE_PICKUP = "STORE_PICKUP", PICKUP_POINT = "PICKUP_POINT" } interface V1DeliveryTimeSlot { /** starting time of the delivery time slot */ from?: Date | null; /** ending time of the delivery time slot */ to?: Date | null; } interface SelectedCarrierServiceOptionPrices { /** Total shipping price, after discount and after tax. */ totalPriceAfterTax?: MultiCurrencyPrice; /** Total price of shipping after discounts (when relevant), and before tax. */ totalPriceBeforeTax?: MultiCurrencyPrice; /** Tax details. */ taxDetails?: V1ItemTaxFullDetails; /** Shipping discount before tax. */ totalDiscount?: MultiCurrencyPrice; /** Shipping price before discount and before tax. */ price?: MultiCurrencyPrice; } interface SelectedCarrierServiceOptionOtherCharge { /** Type of additional cost. */ type?: V1ChargeType; /** * Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'. * @maxLength 200 */ details?: string | null; /** Price of added charge. */ cost?: SelectedCarrierServiceOptionPrices; } declare enum V1ChargeType { HANDLING_FEE = "HANDLING_FEE", INSURANCE = "INSURANCE" } interface DeliveryAllocation { /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */ deliveryCarrier?: Carrier; /** The delivery region that are relevant for this delivery solution. */ deliveryRegion?: Region; /** Populated if the delivery solution is a partially supplied by this carrier. */ applicableLineItems?: ApplicableLineItems; } interface Carrier { /** * The carrier app id * @format GUID */ appId?: string | null; /** * Unique code that acts as an ID for a shipping rate. For example, `"usps_std_overnight"`. * @maxLength 250 */ code?: string; } interface Region { /** * The delivery region id. * @format GUID */ _id?: string | null; /** * The delivery region name. * @maxLength 100 */ name?: string | null; } interface ApplicableLineItems { /** * Line items that the delivery solution is for. * @maxSize 300 * @minLength 1 * @maxLength 100 */ lineItemIds?: string[]; } interface V1ShippingRegion { /** * Shipping region ID. * @format GUID * @readonly */ _id?: string; /** * Shipping region name. * @maxLength 100 */ name?: string; } interface CarrierServiceOption { /** * Carrier ID. * @format GUID */ carrierId?: string; /** Shipping options offered by this carrier for this request. */ shippingOptions?: ShippingOption[]; } interface ShippingOption { /** * Unique code of provided shipping option like "usps_std_overnight". * For legacy calculators this would be the UUID of the option. * @maxLength 100 */ code?: string; /** * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale). * For example, "Standard" or "First-Class Package International". * @maxLength 250 */ title?: string; /** Delivery logistics. */ logistics?: V1DeliveryLogistics; /** Sipping price information. */ cost?: V1ShippingPrice; /** * Delivery solution allocations to different delivery carriers and delivery regions * @maxSize 300 */ deliveryAllocations?: DeliveryAllocation[]; /** If the delivery solution is a partial and doesn't apply to all items. */ partial?: boolean | null; } interface V1ShippingPrice { /** Shipping price. */ price?: MultiCurrencyPrice; /** Other costs such as insurance, handling & packaging for fragile items, etc. */ otherCharges?: OtherCharge[]; } interface OtherCharge { /** Type of additional cost. */ type?: V1ChargeType; /** Price of added cost. */ price?: MultiCurrencyPrice; /** * Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`. * @maxLength 250 */ details?: string | null; } interface BuyerInfo extends BuyerInfoIdOneOf { /** * Visitor ID (if site visitor is **not** a member). * @format GUID * @readonly */ visitorId?: string; /** * Member ID (if site visitor is a site member). * @format GUID * @readonly */ memberId?: string; /** * Contact ID. Auto-created if one does not yet exist. For more information, see the Contacts API. * @format GUID * @readonly */ contactId?: string | null; /** * Buyer email address. * @format EMAIL */ email?: string | null; } /** @oneof */ interface BuyerInfoIdOneOf { /** * Visitor ID (if site visitor is **not** a member). * @format GUID * @readonly */ visitorId?: string; /** * Member ID (if site visitor is a site member). * @format GUID * @readonly */ memberId?: string; } interface V1PriceSummary { /** Subtotal of all line items, before discounts and before tax. */ subtotal?: MultiCurrencyPrice; /** Total shipping price, before discounts and before tax. */ shipping?: MultiCurrencyPrice; /** Total tax. */ tax?: MultiCurrencyPrice; /** Total calculated discount value. */ discount?: MultiCurrencyPrice; /** Total price after discounts, gift cards, and tax. */ total?: MultiCurrencyPrice; /** Total additional fees price before tax. */ additionalFees?: MultiCurrencyPrice; } interface CalculationErrors extends CalculationErrorsShippingCalculationErrorOneOf { /** General shipping calculation error. */ generalShippingCalculationError?: Details; /** Errors related to the delivery carrier. */ carrierErrors?: CarrierErrors; /** Error related to the selected shipping option. */ selectedShippingOptionError?: Details; /** Tax calculation error. */ taxCalculationError?: Details; /** Coupon calculation error. */ couponCalculationError?: Details; /** Gift card calculation error. */ giftCardCalculationError?: Details; /** Order validation errors. */ orderValidationErrors?: ApplicationError[]; /** * Membership payment methods calculation errors * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid */ membershipError?: Details; /** Discount Rule calculation error. */ discountsCalculationError?: Details; } /** @oneof */ interface CalculationErrorsShippingCalculationErrorOneOf { /** General shipping calculation error. */ generalShippingCalculationError?: Details; /** Errors related to the delivery carrier. */ carrierErrors?: CarrierErrors; /** Error related to the selected shipping option. */ selectedShippingOptionError?: Details; } interface Details extends DetailsKindOneOf { applicationError?: ApplicationError; validationError?: ValidationError; systemError?: SystemError; /** * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response * @deprecated */ tracing?: Record; } /** @oneof */ interface DetailsKindOneOf { applicationError?: ApplicationError; validationError?: ValidationError; systemError?: SystemError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } /** * example result: * { * "fieldViolations": [ * { * "field": "fieldA", * "description": "invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]", * "violatedRule": "OTHER", * "ruleName": "INVALID_NOTE", * "data": { * "value": "FI" * } * }, * { * "field": "fieldB", * "description": "field value out of range. supported range: [0-20]", * "violatedRule": "MAX", * "data": { * "threshold": 20 * } * }, * { * "field": "fieldC", * "description": "invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]", * "violatedRule": "FORMAT", * "data": { * "type": "PHONE" * } * } * ] * } */ interface ValidationError { fieldViolations?: FieldViolation[]; } declare enum RuleType { VALIDATION = "VALIDATION", OTHER = "OTHER", MAX = "MAX", MIN = "MIN", MAX_LENGTH = "MAX_LENGTH", MIN_LENGTH = "MIN_LENGTH", MAX_SIZE = "MAX_SIZE", MIN_SIZE = "MIN_SIZE", FORMAT = "FORMAT", DECIMAL_LTE = "DECIMAL_LTE", DECIMAL_GTE = "DECIMAL_GTE", DECIMAL_LT = "DECIMAL_LT", DECIMAL_GT = "DECIMAL_GT", DECIMAL_MAX_SCALE = "DECIMAL_MAX_SCALE", INVALID_ENUM_VALUE = "INVALID_ENUM_VALUE", REQUIRED_FIELD = "REQUIRED_FIELD", FIELD_NOT_ALLOWED = "FIELD_NOT_ALLOWED", ONE_OF_ALIGNMENT = "ONE_OF_ALIGNMENT", EXACT_LENGTH = "EXACT_LENGTH", EXACT_SIZE = "EXACT_SIZE", REQUIRED_ONE_OF_FIELD = "REQUIRED_ONE_OF_FIELD" } interface FieldViolation { field?: string; description?: string; violatedRule?: RuleType; /** applicable when violated_rule=OTHER */ ruleName?: string | null; data?: Record | null; } interface SystemError { /** Error code. */ errorCode?: string | null; } interface CarrierErrors { /** Carrier errors. */ errors?: CarrierError[]; } interface CarrierError { /** Carrier ID. */ carrierId?: string; /** Error details. */ error?: Details; } interface GiftCard { /** * Gift Card ID. * @deprecated */ _id?: string; /** Gift card obfuscated code. */ obfuscatedCode?: string; /** Actual amount to be redeemed from the gift card. */ amount?: MultiCurrencyPrice; /** * App ID of the gift card provider. * @format GUID */ appId?: string; /** * External ID in the gift card provider's system. * Used for integration and tracking across different platforms. * @minLength 1 * @maxLength 50 */ externalId?: string | null; /** Requested amount to redeem from the gift card. */ requestedAmount?: MultiCurrencyPrice; } interface V1AppliedDiscount extends V1AppliedDiscountDiscountSourceOneOf { /** Coupon details. */ coupon?: V1Coupon; /** Merchant discount. */ merchantDiscount?: V1MerchantDiscount; /** Discount rule */ discountRule?: V1DiscountRule; /** Discount type. */ discountType?: AppliedDiscountDiscountType; /** * IDs of line items the discount applies to. * @format GUID */ lineItemIds?: string[]; } /** @oneof */ interface V1AppliedDiscountDiscountSourceOneOf { /** Coupon details. */ coupon?: V1Coupon; /** Merchant discount. */ merchantDiscount?: V1MerchantDiscount; /** Discount rule */ discountRule?: V1DiscountRule; } declare enum AppliedDiscountDiscountType { GLOBAL = "GLOBAL", SPECIFIC_ITEMS = "SPECIFIC_ITEMS", SHIPPING = "SHIPPING" } /** Coupon */ interface V1Coupon { /** Coupon ID. */ _id?: string; /** Coupon code. */ code?: string; /** Coupon value. */ amount?: MultiCurrencyPrice; /** Coupon name. */ name?: string; } interface V1MerchantDiscount { /** Discount value. */ amount?: MultiCurrencyPrice; /** * Discount Percentage. Will be calculated from items price before other discounts. * @min 1 * @max 100 */ percentage?: number | null; } interface V1DiscountRule { /** * Discount rule ID * @format GUID */ _id?: string; /** Discount rule name */ name?: V1DiscountRuleName; /** Discount value. */ amount?: MultiCurrencyPrice; } interface V1DiscountRuleName { /** * Original discount rule name (in site's default language). * @minLength 1 * @maxLength 256 */ original?: string; /** * Translated discount rule name according to buyer language. Defaults to `original` when not provided. * @minLength 1 * @maxLength 500 */ translated?: string | null; } interface V1LineItemDiscount { /** * ID of line item the discount applies to. * @format GUID */ _id?: string; /** Discount value. */ totalDiscountAmount?: MultiCurrencyPrice; } interface V1ItemCombination { /** * The number of times this exact combination of items (with the specified quantities) was applied together in the order. * @min 1 * @max 100000 */ count?: number; /** * Line items that participated together in this combination. * @minSize 1 * @maxSize 100 */ lineItems?: V1ItemCombinationLineItem[]; } interface V1ItemCombinationLineItem { /** * The unique ID of the line item to which this discount applies. * @format GUID */ lineItemId?: string; /** Total discount amount for all units (quantity) of this line item in this combination. */ discountAmount?: MultiCurrencyPrice; /** * Number of units from this line item that participated in a single combination. * @min 1 * @max 100000 */ quantity?: number; } interface V1TaxSummary { /** * Amount for which tax is calculated, added from line items. * @readonly */ taxableAmount?: MultiCurrencyPrice; /** * Calculated tax, added from line items. * @readonly */ totalTax?: MultiCurrencyPrice; /** * Tax calculator that was active when the order was created. * @deprecated */ calculationDetails?: TaxCalculationDetails; } interface TaxCalculationDetails extends TaxCalculationDetailsCalculationDetailsOneOf { /** Reason the manual calculation was used. */ manualRateReason?: ManualCalculationReason; /** Details of the fallback rate calculation. */ autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails; /** Rate calculation type. */ rateType?: RateType; } /** @oneof */ interface TaxCalculationDetailsCalculationDetailsOneOf { /** Reason the manual calculation was used. */ manualRateReason?: ManualCalculationReason; /** Details of the fallback rate calculation. */ autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails; } declare enum RateType { /** no tax being collected for this request due to location of purchase */ NO_TAX_COLLECTED = "NO_TAX_COLLECTED", /** manual rate used for calculation */ MANUAL_RATE = "MANUAL_RATE", /** autotax rate used for calculation */ AUTO_RATE = "AUTO_RATE", /** fallback rate used for calculation */ FALLBACK_RATE = "FALLBACK_RATE" } declare enum ManualCalculationReason { /** user set calculator in Business Manager to be Manual */ GLOBAL_SETTING_TO_MANUAL = "GLOBAL_SETTING_TO_MANUAL", /** specific region is on manual even though Global setting is Auto-tax */ REGION_SETTING_TO_MANUAL = "REGION_SETTING_TO_MANUAL" } interface AutoTaxFallbackCalculationDetails { /** reason for fallback */ fallbackReason?: FallbackReason; /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */ error?: ApplicationError; } declare enum FallbackReason { /** auto-tax failed to be calculated */ AUTO_TAX_FAILED = "AUTO_TAX_FAILED", /** auto-tax was temporarily deactivated on a system-level */ AUTO_TAX_DEACTIVATED = "AUTO_TAX_DEACTIVATED" } /** * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate. * Tax breakdown is the tax amount split to the tax authorities that applied on the line item. */ interface AggregatedTaxBreakdown { /** * The name of the tax against which this tax amount was calculated. * @maxLength 200 */ taxName?: string; /** * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. * @maxLength 200 */ taxType?: string; /** * The name of the jurisdiction in which this tax detail applies. * @maxLength 200 */ jurisdiction?: string; /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */ jurisdictionTypeEnum?: V1JurisdictionType; /** * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value) * @decimalValue options { gte:0, maxScale:6 } */ rate?: string; /** The sum of all the tax from line items that calculated by the tax identifiers. */ aggregatedTaxAmount?: MultiCurrencyPrice; /** The sum of all the taxable amount from line items for tax identifiers. */ aggregatedTaxableAmount?: MultiCurrencyPrice; } interface CreatedBy extends CreatedByIdOneOf { /** * User ID. When the order was created by a Wix user on behalf of a buyer. * For example, via POS (point of service). * @format GUID */ userId?: string; /** * Member ID. When the order was created by a **logged in** site visitor. * @format GUID */ memberId?: string; /** * Visitor ID. When the order was created by a site visitor that was **not** logged in. * @format GUID */ visitorId?: string; /** * App ID. When the order was created by an external application or Wix service. * @format GUID */ appId?: string; } /** @oneof */ interface CreatedByIdOneOf { /** * User ID. When the order was created by a Wix user on behalf of a buyer. * For example, via POS (point of service). * @format GUID */ userId?: string; /** * Member ID. When the order was created by a **logged in** site visitor. * @format GUID */ memberId?: string; /** * Visitor ID. When the order was created by a site visitor that was **not** logged in. * @format GUID */ visitorId?: string; /** * App ID. When the order was created by an external application or Wix service. * @format GUID */ appId?: string; } /** Reserved for internal use. */ interface MembershipOptions { /** * Reserved for internal use. * @readonly * @maxSize 300 */ eligibleMemberships?: Membership[]; /** * Reserved for internal use. * @readonly * @maxSize 300 */ invalidMemberships?: InvalidMembership[]; /** Selected membership to apply to this checkout. */ selectedMemberships?: SelectedMemberships; } interface Membership { /** * Membership ID. * @minLength 1 * @maxLength 100 */ _id?: string; /** * ID of the application providing this payment option. * @format GUID */ appId?: string; /** The name of this membership. */ name?: MembershipName; /** * Line item IDs which are "paid" for by this membership. * @minSize 1 * @maxSize 300 * @minLength 1 * @maxLength 100 */ lineItemIds?: string[]; /** Optional - For a membership that has limited credits, information about credit usage. */ credits?: MembershipPaymentCredits; /** Optional - TMembership expiry date. */ expirationDate?: Date | null; /** Additional data about this membership. */ additionalData?: Record | null; } interface MembershipName { /** * Membership name. * @maxLength 100 */ original?: string; /** * Translated membership name. Defaults to `original` when not provided. * @maxLength 100 */ translated?: string | null; } interface MembershipPaymentCredits { /** * Membership's initial value. * @min 1 */ total?: number; /** Membership's remaining value. */ remaining?: number; } declare enum BalanceType { /** Balance is measured in discrete uses (e.g., sessions, visits). */ PUNCH_CARD = "PUNCH_CARD", /** Balance is measured in a currency-like value (e.g., points). */ CREDIT = "CREDIT" } interface InvalidMembership { /** Membership details. */ membership?: Membership; /** * Reason why this membership is invalid and cannot be used. * @minLength 1 * @maxLength 100 */ reason?: string; } interface SelectedMemberships { /** * Selected memberships. * @maxSize 300 */ memberships?: SelectedMembership[]; } interface SelectedMembership { /** * Membership ID. * @minLength 1 * @maxLength 100 */ _id?: string; /** * ID of the app providing this payment option. * @format GUID */ appId?: string; /** * IDs of the line items this membership applies to. * @minSize 1 * @maxSize 300 * @minLength 1 * @maxLength 100 */ lineItemIds?: string[]; } interface V1AdditionalFee { /** * Additional fee's unique code (or ID) for future processing. * @minLength 1 * @maxLength 100 */ code?: string | null; /** * Additional fee's name. * @minLength 1 * @maxLength 50 */ name?: string; /** Additional fee's price. */ price?: MultiCurrencyPrice; /** Tax details. */ taxDetails?: V1ItemTaxFullDetails; /** * Provider's app id. * @minLength 1 * @maxLength 100 */ providerAppId?: string | null; /** Additional fee's price before tax. */ priceBeforeTax?: MultiCurrencyPrice; /** Additional fee's price after tax. */ priceAfterTax?: MultiCurrencyPrice; /** * Optional - Line items associated with this additional fee. * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order. * @format GUID */ lineItemIds?: string[]; /** the source the additional fee was added from */ source?: AdditionalFeeAdditionalFeeSource; /** * The translated name of the additional fee. The translation language is determined by the `languages` field 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#request-envelope). * @minLength 1 * @maxLength 50 */ translatedName?: string | null; } declare enum AdditionalFeeAdditionalFeeSource { UNKNOWN_ADDITIONAL_FEE_SOURCE = "UNKNOWN_ADDITIONAL_FEE_SOURCE", /** The additional fee was added by an additional fee service plugin */ SERVICE_PLUGIN = "SERVICE_PLUGIN", /** The additional fee was added on the item either via the catalog or on custom line item */ ITEM = "ITEM", /** The additional fee was added manually on the request */ MANUAL = "MANUAL", /** The additional fee was added by the shipping provider */ SHIPPING = "SHIPPING", /** The additional fee was added by a Wix vertical and represents a Wix platform fee */ PLATFORM = "PLATFORM" } interface ConversionInfo { /** * The site currency. * @readonly * @format CURRENCY */ siteCurrency?: string; /** * The rate used when converting from the site currency to the checkout currency. * @readonly * @decimalValue options { gt:0, lte:1000000000000000 } */ conversionRate?: string; } interface Violation { /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */ severity?: Severity; /** Target location on a checkout or cart page where the violation will be displayed. */ target?: Target; /** * Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `Click me`. * @minLength 1 * @maxLength 1000 */ description?: string | null; } declare enum Severity { /** The user is allowed to move forward in the flow. */ WARNING = "WARNING", /** * The user is blocked from moving forward in the flow. * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked. */ ERROR = "ERROR" } interface Target extends TargetTargetTypeOneOf { /** General (other) violation. */ other?: Other; /** Specific line item violation. */ lineItem?: TargetLineItem; } /** @oneof */ interface TargetTargetTypeOneOf { /** General (other) violation. */ other?: Other; /** Specific line item violation. */ lineItem?: TargetLineItem; } /** Available locations on the webpage */ declare enum NameInOther { /** Default location, in case no specific location is specified. */ OTHER_DEFAULT = "OTHER_DEFAULT" } /** Available locations on the line item */ declare enum NameInLineItem { /** Default location, in case no specific location is specified. */ LINE_ITEM_DEFAULT = "LINE_ITEM_DEFAULT" } declare enum SuggestedFix { /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */ UNKNOWN_SUGGESTED_FIX = "UNKNOWN_SUGGESTED_FIX", /** The line item should be removed from the cart or checkout to resolve the violation. */ REMOVE_LINE_ITEM = "REMOVE_LINE_ITEM" } /** General (other) violation. */ interface Other { /** Location on a checkout or a cart page where a general (other) violation will be displayed. */ name?: NameInOther; } /** Specific line item violation. */ interface TargetLineItem { /** Location on a checkout or a cart page where the specific line item violation will be displayed. */ name?: NameInLineItem; /** ID of the line item containing the violation. */ _id?: string | null; } interface CustomSettings { /** * Whether to restrict the option to add or remove a gift card on the checkout page. * * Default: `false` */ lockGiftCard?: boolean; /** * Whether to restrict the option to add or remove a coupon code on the checkout page. * * Default: `false` */ lockCouponCode?: boolean; /** * Whether to disable policy agreement checkout in the checkout page * * Default: `false` */ disabledPolicyAgreementCheckbox?: boolean; /** * Whether to disable manual payment option for this checkout. * * Default: `false` */ disabledManualPayment?: boolean; } interface CustomContentReference { /** * ID of the app providing the content. * * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/). * @format GUID */ appId?: string; /** * ID of the component within the app it belongs to. * * You can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/). * @format GUID */ componentId?: string; } interface ExternalReference { /** * ID of the app associated with the purchase flow. * For example, the Wix Pay Links app ID. * @format GUID * @immutable */ appId?: string; /** * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system. * For example, a Wix Pay Link ID. * @minLength 1 * @maxLength 100 * @immutable */ resourceId?: string | null; } interface SubscriptionCharges { /** * ids of the items the subscription is defined on * @format GUID * @minSize 1 * @maxSize 300 */ lineItemIds?: string[]; /** * Generated description explaining future charges amount and schedule. * Translated to subscription order buyer language, or to site language if was not provided. * @maxLength 1000 */ description?: string | null; /** * Charges for subscription. * @maxSize 50 */ charges?: Charge[]; } interface Charge { /** The cycle number from which the charge starts. */ cycleFrom?: number; /** The number of cycles for which the charge is applicable. */ cycleCount?: number | null; /** Charge summary. */ priceSummary?: V1PriceSummary; /** The billing date from which the charge starts. */ cycleBillingDate?: Date | null; } interface GetPaymentSettingsForCheckoutResponse { /** Blocked payment options. */ blockedPaymentOptions?: V1PaymentOption[]; } declare enum V1PaymentOption { UNKNOWN_PAYMENT_OPTION = "UNKNOWN_PAYMENT_OPTION", MANUAL = "MANUAL" } interface PaymentSettingsSPIConfig { /** * *Required.** Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI. * For example, to call the Get Payment Settings endpoint at `https://my-payment-settings.com/v1/payment-settings`, * the base URI you provide here is `https://my-payment-settings.com/`. */ deploymentUri?: string; /** * The value to set for `paymentSettings.requires3dSecure` if the service plugin call fails. * * Default: `false` */ fallbackValueForRequires3dSecure?: boolean; /** * `true` if SPI implementer provides payments settings for checkout * * Default: `false` */ providePaymentsSettingsForCheckout?: boolean; } /** * this message is not directly used by any service, * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform. * e.g. SPIs, event-handlers, etc.. * NOTE: this context object MUST be provided as the last argument in each Velo method signature. * * Example: * ```typescript * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) { * ... * } * ``` */ interface Context { /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */ requestId?: string | null; /** * [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. * @format CURRENCY */ currency?: string | null; /** An object that describes the identity that triggered this request. */ identity?: IdentificationData; /** A string representing a language and region in the format of `"xx-XX"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash "-", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `"en-US"`. */ languages?: string[]; /** * The service provider app's instance ID. * @format GUID */ instanceId?: string | null; } declare enum IdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: IdentityType; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } interface GetPaymentSettingsEnvelope { request: GetPaymentSettingsRequest; metadata: Context; } interface GetPaymentSettingsForCheckoutEnvelope { request: GetPaymentSettingsForCheckoutRequest; metadata: Context; } declare const provideHandlers: ServicePluginDefinition<{ /** * * This method retrieves payment settings from your app. * * Wix calls this method during the payment process. For example, when a customer inserts credit card details and places an order. * This method retrieves the payment settings to apply, and Wix passes on the settings to the payment provider. */ getPaymentSettings(payload: GetPaymentSettingsEnvelope): GetPaymentSettingsResponse | Promise; /** * Returns payment settings for provided Checkout entity. */ getPaymentSettingsForCheckout(payload: GetPaymentSettingsForCheckoutEnvelope): GetPaymentSettingsForCheckoutResponse | Promise; }>; export { type Address as $, AdjustmentType as A, type BillingAdjustment as B, type CatalogReference as C, type DescriptionLine as D, type TaxableAddressTaxableAddressDataOneOf as E, type FocalPoint as F, type GetPaymentSettingsRequest as G, TaxableAddressType as H, type ItemType as I, JurisdictionType as J, type ExtendedFields as K, type LineItemTaxInfo as L, type TranslatableString as M, type V1ItemModifier as N, type Order as O, type ProductName as P, type V1BuyerInfo as Q, type V1BuyerInfoIdOneOf as R, type SubscriptionInfo as S, type TaxableAddress as T, PaymentStatus as U, type V1ModifierGroup as V, FulfillmentStatus as W, WeightUnit as X, type CurrencyConversionDetails as Y, type PriceSummary as Z, type ApiAddressWithContact as _, type OrderLineItem as a, type RegularPaymentRefund as a$, type StreetAddress as a0, type AddressLocation as a1, type FullAddressContactDetails as a2, type VatId as a3, VatType as a4, type V1ShippingInformation as a5, type DeliveryLogistics as a6, type DeliveryLogisticsAddressOneOf as a7, type PickupDetails as a8, type PickupAddress as a9, type NewExchangeOrderCreated as aA, type LineItemExchangeData as aB, type DraftOrderChangesApplied as aC, type OrderChange as aD, type OrderChangeValueOneOf as aE, type LineItemChanges as aF, type LineItemQuantityChange as aG, LineItemQuantityChangeType as aH, type LineItemPriceChange as aI, type LineItemProductNameChange as aJ, type LineItemDescriptionLineChange as aK, type LineItemModifiersChange as aL, type ManagedLineItem as aM, type ManagedDiscount as aN, type TranslatedValue as aO, type LineItemAmount as aP, type ManagedAdditionalFee as aQ, type TotalPriceChange as aR, type ShippingInformationChange as aS, type ShippingInformation as aT, type SavedPaymentMethod as aU, type AuthorizedPaymentCreated as aV, type AuthorizedPaymentCaptured as aW, type AuthorizedPaymentVoided as aX, type RefundInitiated as aY, type RefundedPayment as aZ, type RefundedPaymentKindOneOf as a_, PickupMethod as aa, type DeliveryTimeSlot as ab, type ShippingPrice as ac, type ShippingRegion as ad, OrderStatus as ae, type TaxSummary as af, type OrderTaxInfo as ag, type OrderTaxBreakdown as ah, type AppliedDiscount as ai, type AppliedDiscountDiscountSourceOneOf as aj, DiscountType as ak, type Coupon as al, type MerchantDiscount as am, type MerchantDiscountMerchantDiscountReasonOneOf as an, DiscountReason as ao, type DiscountRule as ap, type DiscountRuleName as aq, type LineItemDiscount as ar, type ItemCombination as as, type ItemCombinationLineItem as at, type Activity as au, type ActivityContentOneOf as av, type CustomActivity as aw, type MerchantComment as ax, type OrderRefunded as ay, type OrderCreatedFromExchange as az, type Price as b, type Group as b$, type GiftCardPaymentRefund as b0, type MembershipPaymentRefund as b1, type PaymentRefunded as b2, type PaymentRefundFailed as b3, type RefundedAsStoreCredit as b4, type PaymentPending as b5, type PaymentPendingPaymentDetailsOneOf as b6, type RegularPayment as b7, type RegularPaymentPaymentMethodDetailsOneOf as b8, type CreditCardDetails as b9, type TagList as bA, type Location as bB, type OrderSettings as bC, type OrderSettingsAllowedActionsOneOf as bD, type OrderSettingsEditableByOneOf as bE, type CustomAllowedActions as bF, OrderActionType as bG, type OwnerApps as bH, SpecificItemsCouponBehavior as bI, type FormInfo as bJ, type FormIdentifier as bK, type PlatformFeeSummary as bL, type PlatformFee as bM, ChargeType as bN, type GetPaymentSettingsResponse as bO, type PaymentSettings as bP, type GetPaymentSettingsForCheckoutRequest as bQ, type Checkout as bR, type LineItem as bS, type MultiCurrencyPrice as bT, type V1ItemTaxFullDetails as bU, type TaxRateBreakdown as bV, type TaxBreakdown as bW, V1JurisdictionType as bX, type ItemAvailabilityInfo as bY, ItemAvailabilityStatus as bZ, type Scope as b_, type PaymentCanceled as ba, type PaymentCanceledPaymentDetailsOneOf as bb, type PaymentDeclined as bc, type PaymentDeclinedPaymentDetailsOneOf as bd, type ReceiptCreated as be, type ReceiptCreatedReceiptInfoOneOf as bf, type WixReceipt as bg, type ExternalReceipt as bh, type ReceiptSent as bi, type ReceiptSentReceiptInfoOneOf as bj, type ChargebackCreated as bk, type ChargebackReversed as bl, ActivityType as bm, OrderActivityTypeEnumActivityType as bn, AttributionSource as bo, type V1CreatedBy as bp, type V1CreatedByStringOneOf as bq, type ChannelInfo as br, ChannelType as bs, type CustomField as bt, type BalanceSummary as bu, type Balance as bv, type AdditionalFee as bw, AdditionalFeeSource as bx, type FulfillmentStatusesAggregate as by, type Tags as bz, type DescriptionLineValueOneOf as c, ManualCalculationReason as c$, type SubscriptionOptionInfo as c0, type V1SubscriptionSettings as c1, type V1FreeTrialPeriod as c2, type Title as c3, type Description as c4, type SecuredMedia as c5, FileType as c6, type ServiceProperties as c7, type CatalogOverrideFields as c8, type PaymentOption as c9, type V1PriceSummary as cA, type CalculationErrors as cB, type CalculationErrorsShippingCalculationErrorOneOf as cC, type Details as cD, type DetailsKindOneOf as cE, type ApplicationError as cF, type ValidationError as cG, RuleType as cH, type FieldViolation as cI, type SystemError as cJ, type CarrierErrors as cK, type CarrierError as cL, type GiftCard as cM, type V1AppliedDiscount as cN, type V1AppliedDiscountDiscountSourceOneOf as cO, AppliedDiscountDiscountType as cP, type V1Coupon as cQ, type V1MerchantDiscount as cR, type V1DiscountRule as cS, type V1DiscountRuleName as cT, type V1LineItemDiscount as cU, type V1ItemCombination as cV, type V1ItemCombinationLineItem as cW, type V1TaxSummary as cX, type TaxCalculationDetails as cY, type TaxCalculationDetailsCalculationDetailsOneOf as cZ, RateType as c_, type Policy as ca, type ModifierGroup as cb, type ItemModifier as cc, type V1PlatformFee as cd, PlatformFeeChargeType as ce, type AddressWithContact as cf, type ShippingInfo as cg, type SelectedCarrierServiceOption as ch, type V1DeliveryLogistics as ci, type V1PickupDetails as cj, PickupDetailsPickupMethod as ck, type V1DeliveryTimeSlot as cl, type SelectedCarrierServiceOptionPrices as cm, type SelectedCarrierServiceOptionOtherCharge as cn, V1ChargeType as co, type DeliveryAllocation as cp, type Carrier as cq, type Region as cr, type ApplicableLineItems as cs, type V1ShippingRegion as ct, type CarrierServiceOption as cu, type ShippingOption as cv, type V1ShippingPrice as cw, type OtherCharge as cx, type BuyerInfo as cy, type BuyerInfoIdOneOf as cz, type DescriptionLineDescriptionLineValueOneOf as d, type AutoTaxFallbackCalculationDetails as d0, FallbackReason as d1, type AggregatedTaxBreakdown as d2, type CreatedBy as d3, type CreatedByIdOneOf as d4, type MembershipOptions as d5, type Membership as d6, type MembershipName as d7, type MembershipPaymentCredits as d8, BalanceType as d9, type IdentificationData as dA, type IdentificationDataIdOneOf as dB, type GetPaymentSettingsEnvelope as dC, type GetPaymentSettingsForCheckoutEnvelope as dD, type InvalidMembership as da, type SelectedMemberships as db, type SelectedMembership as dc, type V1AdditionalFee as dd, AdditionalFeeAdditionalFeeSource as de, type ConversionInfo as df, type Violation as dg, Severity as dh, type Target as di, type TargetTargetTypeOneOf as dj, NameInOther as dk, NameInLineItem as dl, SuggestedFix as dm, type Other as dn, type TargetLineItem as dp, type CustomSettings as dq, type CustomContentReference as dr, type ExternalReference as ds, type SubscriptionCharges as dt, type Charge as du, type GetPaymentSettingsForCheckoutResponse as dv, V1PaymentOption as dw, type PaymentSettingsSPIConfig as dx, type Context as dy, IdentityType as dz, type DescriptionLineName as e, type PlainTextValue as f, type Color as g, DescriptionLineType as h, type PhysicalProperties as i, type Dimensions as j, DimensionsUnit as k, type ItemTypeItemTypeDataOneOf as l, ItemTypePreset as m, PaymentOptionType as n, type ItemTaxFullDetails as o, provideHandlers as p, type LineItemTaxBreakdown as q, type DigitalFile as r, type SubscriptionTitle as s, type SubscriptionDescription as t, type SubscriptionSettings as u, SubscriptionFrequency as v, type FreeTrialPeriod as w, type BillingAdjustmentPriceSummary as x, type PriceDescription as y, type LocationAndQuantity as z };