/** * PaymentLink is the main entity of PaymentLinksService that can be used for payment charge. * Read more about Payment Links * in this [article](https://support.wix.com/en/article/wix-pay-links-creating-and-managing-pay-links). */ export interface PaymentLink extends PaymentLinkTypeDetailsOneOf { /** Payment Link information what is being charged. */ ecomPaymentLink?: Ecom; /** Payment Link information of eCommerce Order which is being charged. */ ecomOrderPaymentLink?: PaymentLinkEcomOrder; /** * Payment Link Id. * @readonly */ id?: string | null; /** * Represents the current state of the entity. * @readonly */ revision?: string | null; /** * Date and time the Payment Link was created. * @readonly */ createdDate?: Date | null; /** * Date and time the Payment Link was updated. * @readonly */ updatedDate?: Date | null; /** Title of the Payment Link. Title will be trimmed before creating Payment Link. */ title?: string; /** Description of the Payment Link. */ description?: string | null; /** Currency code in [ISO-4217 alphabetic](https://www.iso.org/iso-4217-currency-codes.html) format. */ currency?: string; /** Recipients of Payment Link. */ recipients?: Recipient[]; /** * Totals of received payments. * @readonly */ totalReceived?: TotalReceived; /** * Status of Payment Link. * @readonly */ status?: PaymentLinkStatus; /** * Links generated for Payment Link. Used for sharing. * @readonly */ links?: Links; /** Expiration date of Payment Link. */ expirationDate?: Date | null; /** Limit of total payments that can be made on this Payment Link. */ paymentsLimit?: number | null; /** * Available actions for this Payment Link, based on the state. * @readonly */ availableActions?: Action[]; /** Source of Payment Link. */ source?: Source; /** Display data for Payment Link checkout. */ displayData?: DisplayData; /** * Last payment date. * @readonly */ lastPaymentDate?: Date | null; /** Note for Payment Link. Non-visible to recipients. */ note?: Note; /** Specifies the type of Payment Link. */ type?: PayLinkType; /** Data Extensions. */ extendedFields?: ExtendedFields; /** Tags. */ tags?: Tags; } /** @oneof */ export interface PaymentLinkTypeDetailsOneOf { /** Payment Link information what is being charged. */ ecomPaymentLink?: Ecom; /** Payment Link information of eCommerce Order which is being charged. */ ecomOrderPaymentLink?: PaymentLinkEcomOrder; } export interface LineItem extends LineItemOptionsOneOf { /** Catalog line item. */ catalogItem?: Catalog; /** Custom line item, */ customItem?: Custom; /** Line item type. */ type?: LineItemType; } /** @oneof */ export interface LineItemOptionsOneOf { /** Catalog line item. */ catalogItem?: Catalog; /** Custom line item, */ customItem?: Custom; } /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */ export interface CatalogReference { /** ID of the item within the catalog it belongs to. */ 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"` */ appId?: string; /** * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items. * * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration). */ options?: Record | null; } export interface CatalogOverrideFields { /** Item name. */ productName?: ProductName; /** Item price **after** discounts. */ price?: string | null; /** Item price **before** discounts. */ fullPrice?: string | null; /** Item description lines. Used when displaying the line item to customers. */ descriptionLines?: DescriptionLine[]; /** Physical properties of the item. */ physicalProperties?: PhysicalProperties; /** Item image. */ image?: Image; /** Payment method selected for the item. */ paymentOption?: PaymentOption; /** Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`. */ depositAmount?: string | null; /** * Whether to save the payment method on the order. * * Default: `false` */ savePaymentMethod?: boolean | null; } export 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. */ original?: string; /** * Item name translated into the buyer's language. * * Min: 1 character. * Max: 400 characters. * Default: Same as `original`. */ translated?: string | null; } export interface DescriptionLine extends DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf { /** Description line plain text value. */ plainText?: PlainTextValue; /** Description line color value. */ colorInfo?: Color; /** Description line name. */ name?: DescriptionLineName; } /** @oneof */ export interface DescriptionLineValueOneOf { /** Description line plain text value. */ plainText?: PlainTextValue; /** Description line color value. */ colorInfo?: Color; } /** @oneof */ export interface DescriptionLineDescriptionLineValueOneOf { } export 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). */ original?: string; /** * Description line name translated into the buyer's language. * * Default: Same as `original`. */ translated?: string | null; } export 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). */ original?: string; /** * Description line plain text value translated into the buyer's language. * * Default: Same as `original`. */ translated?: string | null; } export 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). */ original?: string; /** * Description line color name translated into the buyer's language. * * Default: Same as `original`. */ translated?: string | null; /** HEX or RGB color code for display. */ code?: string | null; } export declare enum DescriptionLineType { /** Unrecognized type. */ UNRECOGNISED = "UNRECOGNISED", /** Plain text type. */ PLAIN_TEXT = "PLAIN_TEXT", /** Color type. */ COLOR = "COLOR" } export 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). */ sku?: string | null; /** Whether this line item is shippable. */ shippable?: boolean; } export interface Image { /** WixMedia image ID. */ id?: string; /** Original image height. */ height?: number; /** Original image width. */ width?: number; /** Image alt text. Optional. */ altText?: string | null; /** Image filename. Optional. */ filename?: string | null; } export interface PaymentOption { /** * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout. * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods. * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When selected, `price` is `0`. * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is specified in `depositAmount`. * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */ value?: PaymentOptionType; } /** Type of selected payment option for catalog item */ export 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. When selected, `price` is `0`. */ 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" } export interface CommonImage { /** WixMedia image ID. */ id?: string; /** Image URL. */ url?: string; /** * Original image height. * @readonly */ height?: number; /** * Original image width. * @readonly */ width?: number; /** Image alt text. */ altText?: string | null; /** * Image filename. * @readonly */ filename?: string | null; } export declare enum LineItemType { UNKNOWN_LINE_ITEM_TYPE = "UNKNOWN_LINE_ITEM_TYPE", /** Custom line item type. */ CUSTOM = "CUSTOM", /** Catalog line item type. */ CATALOG = "CATALOG" } export interface Catalog { /** * Line item ID. * @readonly */ id?: string | null; /** Quantity. */ quantity?: number; /** * Optional reference to the line item's origin catalog. * See [Catalog SPI](https://bo.wix.com/wix-docs/rest/ecommerce/catalog-spi/introduction) for more details. * This field is empty in the case of a custom line item. */ catalogReference?: CatalogReference; /** Fields to override the catalog's default values. */ catalogOverrideFields?: CatalogOverrideFields; } export interface Custom { /** * Line item ID. * @readonly */ id?: string | null; /** Quantity. */ quantity?: number; /** Item name. */ name?: string; /** Description. */ description?: string | null; /** Price. In case line item is from eCommerce catalog, price is after catalog discount and automatic discounts. */ price?: string; /** Physical properties required for shipping. */ physicalProperties?: PhysicalProperties; /** Image of the custom line item. */ image?: CommonImage; /** Tax group ID for this custom line item. */ taxGroupId?: string | null; } /** Payment Link recipient. */ export interface Recipient { /** Recipient contact Id. */ contactId?: string; /** * Date when Payment Link was last attempted to be sent to the recipient. * @readonly */ lastSendDate?: Date | null; /** * Success status of the last Payment Link send attempt to the recipient. * @readonly */ sendSuccessful?: boolean | null; /** Send methods that should be used to send the Payment link to the recipient. */ sendMethods?: SendMethod[]; } /** Channel values for sending Payment Link. */ export declare enum Channel { /** Channel of the Recipient is unknown. */ UNKNOWN_CHANNEL = "UNKNOWN_CHANNEL", /** Email channel. */ EMAIL = "EMAIL" } /** Send method values for sending Payment Link. */ export declare enum SendMethod { /** Send method of the Recipient is unknown. */ UNKNOWN_SEND_METHOD = "UNKNOWN_SEND_METHOD", /** Email send method. */ EMAIL_METHOD = "EMAIL_METHOD" } /** Totals of received payments on Payment Link. */ export interface Totals { /** * Balance, calculated from the payments recorded on the Payment Link. * @readonly */ balance?: string; /** * Number of received payments. * @readonly */ paymentCount?: number; } /** Totals of received payments on Payment Link. */ export interface TotalReceived { /** * Amount, calculated from the payments recorded on the Payment Link. * @readonly */ amount?: string; /** * Number of received payments. * @readonly */ paymentCount?: number; } export declare enum PaymentLinkStatus { /** Status of the Payment Link is unknown. */ UNKNOWN_PAYMENT_LINK_STATUS = "UNKNOWN_PAYMENT_LINK_STATUS", /** Payment Link is active and can receive new payments. */ ACTIVE = "ACTIVE", /** Payment Link is disabled and cannot receive new payments. */ INACTIVE = "INACTIVE", /** Payment Link has reached its payments limit and cannot accept more payments. */ PAID = "PAID", /** Payment Link is expired and no longer valid for payments. */ EXPIRED = "EXPIRED" } /** Links generated for Payment Link. */ export interface Links { /** URL to Payment Link. */ url?: PageUrlV2; } export interface PageUrlV2 { /** Relative path of the URL. E.g. `/mylink/123` */ relativePath?: string; /** URL. */ url?: string | null; } export declare enum Action { /** Action of the Payment Link is unknown. */ UNKNOWN_ACTION = "UNKNOWN_ACTION", /** Payment Link can be deleted. */ DELETE = "DELETE", /** Payment Link can be deactivated. */ DEACTIVATE = "DEACTIVATE", /** Payment Link payment can be reactivated. */ ACTIVATE = "ACTIVATE", /** Payment Link payment can be initiated - limits not reached. */ INITIATE_PAYMENT = "INITIATE_PAYMENT", /** Payment Link can be sent. */ SEND = "SEND" } /** Source of Payment link */ export interface Source { /** App Id. */ appId?: string | null; /** Id of the original source entity. For example, a booking id if Payment Link is created for a booking. */ entityId?: string | null; } export interface EcomReference extends EcomReferenceValueOneOf { /** * Ecom Order Id, when Payment Link is used to pay for an eCommerce Order. * Included even if order is an intermediate step, i.e. when paying for a booking. */ orderId?: string; } /** @oneof */ export interface EcomReferenceValueOneOf { /** * Ecom Order Id, when Payment Link is used to pay for an eCommerce Order. * Included even if order is an intermediate step, i.e. when paying for a booking. */ orderId?: string; } export interface DisplayData { /** Primary color to be used when displaying Payment Link. */ primaryColor?: string | null; /** Secondary color to be used when displaying Payment Link. */ secondaryColor?: string | null; /** * Text to be used as CTA for Payment Link, i.e. "Pay", "Donate". Minimum length validation applies to trimmed CTA text. * CTA text will be trimmed on Payment Link creation. */ ctaText?: string | null; /** Image to be used when displaying Payment Link. */ image?: CommonImage; } export interface Note { /** * Date and time when the note was updated. * @readonly */ updatedDate?: Date | null; /** Note text. */ text?: string; } export declare enum PayLinkType { /** Type of the Payment Link is unknown. */ UNKNOWN_PAYMENT_LINK_TYPE = "UNKNOWN_PAYMENT_LINK_TYPE", /** Payment Link for specific items. */ ECOM = "ECOM", /** Payment Link for charging existing eCommerce Order. */ ECOM_ORDER = "ECOM_ORDER" } export interface Ecom { /** Line items for Payment Link. */ lineItems?: LineItem[]; } export interface PaymentLinkEcomOrder { /** Order Id. */ orderId?: string; /** Amount to charge. */ amount?: string; } export 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>; } /** * Common object for tags. * Should be use as in this example: * message 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"] * } * } * } */ export 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; } export interface TagList { /** List of tag IDs. */ tagIds?: string[]; } export interface UpdateInternalDocumentsEvent extends UpdateInternalDocumentsEventOperationOneOf { /** insert/update documents */ update?: InternalDocumentUpdateOperation; /** delete by document ids */ deleteByIds?: DeleteByIdsOperation; /** delete documents matching filter */ deleteByFilter?: DeleteByFilterOperation; /** update internal documents matching filter */ updateByFilter?: InternalDocumentUpdateByFilterOperation; /** update only existing documents */ updateExisting?: InternalUpdateExistingOperation; /** insert/update documents with versioning */ versionedUpdate?: VersionedDocumentUpdateOperation; /** delete by document ids with versioning */ versionedDeleteByIds?: VersionedDeleteByIdsOperation; /** type of the documents */ documentType?: string; /** language of the documents (mandatory) */ language?: string | null; /** * one or more search documents * @deprecated */ addDocuments?: InternalDocument[]; /** * one or more ids of indexed documents to be removed. Removal will happen before addition (if both provided) * @deprecated */ removeDocumentIds?: string[]; /** id to pass to processing notification */ correlationId?: string | null; /** when event was created / issued */ issuedAt?: Date | null; } /** @oneof */ export interface UpdateInternalDocumentsEventOperationOneOf { /** insert/update documents */ update?: InternalDocumentUpdateOperation; /** delete by document ids */ deleteByIds?: DeleteByIdsOperation; /** delete documents matching filter */ deleteByFilter?: DeleteByFilterOperation; /** update internal documents matching filter */ updateByFilter?: InternalDocumentUpdateByFilterOperation; /** update only existing documents */ updateExisting?: InternalUpdateExistingOperation; /** insert/update documents with versioning */ versionedUpdate?: VersionedDocumentUpdateOperation; /** delete by document ids with versioning */ versionedDeleteByIds?: VersionedDeleteByIdsOperation; } export interface InternalDocument { /** document with mandatory fields (id) and with fields specific to the type of the document */ document?: Record | null; } export interface InternalDocumentUpdateOperation { /** documents to index or update */ documents?: InternalDocument[]; } export interface DeleteByIdsOperation { /** ids of the documents to delete */ documentIds?: string[]; } export interface DeleteByFilterOperation { /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */ filter?: Record | null; } export interface InternalDocumentUpdateByFilterOperation { /** documents matching this filter will be updated */ filter?: Record | null; /** partial document to apply */ document?: InternalDocument; } export interface InternalUpdateExistingOperation { /** documents to update */ documents?: InternalDocument[]; } export interface VersionedDocumentUpdateOperation { /** documents to create or overwrite */ documents?: InternalDocument[]; /** versioning mode to use instead of default */ versioningMode?: VersioningMode; } export declare enum VersioningMode { /** use default versioning mode agreed with search team */ DEFAULT = "DEFAULT", /** execute only if version is greater than existing */ GREATER_THAN = "GREATER_THAN", /** execute only if version is greater or equal to existing */ GREATER_OR_EQUAL = "GREATER_OR_EQUAL" } export interface VersionedDeleteByIdsOperation { /** ids with version of the documents to delete */ documentIds?: VersionedDocumentId[]; } export interface VersionedDocumentId { /** document id */ documentId?: string; /** document version */ version?: string; /** versioning mode to use instead of default */ versioningMode?: VersioningMode; } /** Payment Link has been activated. */ export interface PaymentLinkActivated { /** Payment Link Id. */ id?: string; } /** Payment Link has been deactivated. */ export interface PaymentLinkDeactivated { /** Payment Link Id. */ id?: string; } /** Payment for Payment Link has been initiated. */ export interface PaymentLinkPaymentInitiated { /** Payment Link Id. */ id?: string; } /** Payment link has been sent to recipients */ export interface PaymentLinkSent { /** Payment Link Id. */ id?: string; /** Recipients to whom Payment Link was sent. */ recipients?: Recipient[]; } /** Note for Payment Link has been set. */ export interface PaymentLinkNoteSet { /** Payment Link Id. */ id?: string; } export interface CreatePaymentLinkRequest { /** Payment Link to be created. */ paymentLink: PaymentLink; } export interface CreatePaymentLinkResponse { /** The created Payment Link. */ paymentLink?: PaymentLink; } export interface GetPaymentLinkRequest { /** Id of the Payment Link to retrieve. */ paymentLinkId: string; } export interface GetPaymentLinkResponse { /** The retrieved Payment Link. */ paymentLink?: PaymentLink; } export interface DeletePaymentLinkRequest { /** Id of the Payment Link to delete. */ paymentLinkId: string; } export interface DeletePaymentLinkResponse { } export interface QueryPaymentLinksRequest { /** WQL expression */ query: QueryV2; } export interface QueryV2 extends QueryV2PagingMethodOneOf { /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). */ filter?: Record | null; /** * Sort object. * * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). */ sort?: Sorting[]; /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */ fields?: string[]; /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */ fieldsets?: string[]; } /** @oneof */ export interface QueryV2PagingMethodOneOf { /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } export interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrder; } export declare enum SortOrder { ASC = "ASC", DESC = "DESC" } export interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } export interface CursorPaging { /** Maximum number of items to return in the results. */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. */ cursor?: string | null; } export interface QueryPaymentLinksResponse { /** The retrieved Payment Links. */ paymentLinks?: PaymentLink[]; /** Cursor paging metadata. */ pagingMetadata?: CursorPagingMetadata; } export interface CursorPagingMetadata { /** Number of items returned in current page. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } export interface Cursors { /** Cursor string pointing to the next page in the list of results. */ next?: string | null; /** Cursor pointing to the previous page in the list of results. */ prev?: string | null; } export interface SearchPaymentLinksRequest { /** Search expression. */ search: CursorSearch; } export interface CursorSearch { filter?: Record | null; sort?: CommonSorting[]; aggregations?: Aggregation[]; search?: SearchDetails; cursorPaging?: CommonCursorPaging; } export interface CommonSorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: CommonSortOrder; } export declare enum CommonSortOrder { ASC = "ASC", DESC = "DESC" } export interface Aggregation extends AggregationKindOneOf { value?: ValueAggregation; scalar?: ScalarAggregation; name?: string | null; type?: AggregationType; fieldPath?: string; } /** @oneof */ export interface AggregationKindOneOf { value?: ValueAggregation; scalar?: ScalarAggregation; } export declare enum SortType { COUNT = "COUNT", VALUE = "VALUE" } export declare enum SortDirection { DESC = "DESC", ASC = "ASC" } export declare enum ScalarType { UNKNOWN_SCALAR_TYPE = "UNKNOWN_SCALAR_TYPE", COUNT_DISTINCT = "COUNT_DISTINCT", MIN = "MIN", MAX = "MAX" } export declare enum AggregationType { UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE", VALUE = "VALUE", SCALAR = "SCALAR" } export interface ValueAggregation { sortType?: SortType; sortDirection?: SortDirection; limit?: number | null; } export interface ScalarAggregation { type?: ScalarType; } export interface SearchDetails { /** boolean search mode */ mode?: Mode; /** search term or expression */ expression?: string | null; /** fields to search in. if empty - server will search in own default fields */ fields?: string[]; /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */ fuzzy?: boolean; } export declare enum Mode { /** any */ OR = "OR", /** all */ AND = "AND" } export interface CommonCursorPaging { /** Number of items to load. */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * You can get the relevant cursor token * from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. */ cursor?: string | null; } export interface SearchPaymentLinksResponse { /** The retrieved Payment Links. */ paymentLinks?: PaymentLink[]; /** Paging metadata. */ pagingMetadata?: PagingMetadataV2; /** Response aggregation data. */ aggregationData?: AggregationData; } export interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Total number of items that match the query. */ total?: number | null; /** Cursors to navigate through the result pages using next and prev. Returned if cursor paging is used. */ cursors?: CommonCursors; /** Indicates if there are more results after the current page. If true, another page of results can be retrieved. If false, this is the last page. */ hasNext?: boolean | null; } export interface CommonCursors { /** Cursor pointing to next page in the list of results. */ next?: string | null; /** Cursor pointing to previous page in the list of results. */ prev?: string | null; } export interface AggregationData { /** key = aggregation name (as derived from search request) */ results?: AggregationResults[]; } export interface ValueAggregationResult { value?: string; count?: number; } export interface ValueResults { results?: ValueAggregationResult[]; } export interface ScalarResult { type?: ScalarType; value?: number; } export interface AggregationResults extends AggregationResultsResultOneOf { values?: ValueResults; scalar?: ScalarResult; name?: string; type?: AggregationType; } /** @oneof */ export interface AggregationResultsResultOneOf { values?: ValueResults; scalar?: ScalarResult; } export interface DeactivatePaymentLinkRequest { /** Id of the Payment Link to deactivate. */ paymentLinkId: string; } export interface DeactivatePaymentLinkResponse { /** The updated Payment Link. */ paymentLink?: PaymentLink; } export interface ActivatePaymentLinkRequest { /** Id of the Payment Link to activate. */ paymentLinkId: string; } export interface ActivatePaymentLinkResponse { /** The updated Payment Link. */ paymentLink?: PaymentLink; } export interface InitiatePaymentRequest { /** Id of the Payment Link to initiate payment for. */ paymentLinkId: string; } export interface InitiatePaymentResponse extends InitiatePaymentResponsePaymentOrderOneOf { /** eCommerce Checkout. */ ecomCheckout?: EcomCheckout; /** Cashier Order. */ cashierOrder?: CashierOrder; /** eCommerce Order. */ ecomOrder?: EcomOrder; /** * Id of payment's order. * @deprecated Id of payment's order. * @replacedBy checkout_id * @targetRemovalDate 2025-03-31 */ orderId?: string; } /** @oneof */ export interface InitiatePaymentResponsePaymentOrderOneOf { /** eCommerce Checkout. */ ecomCheckout?: EcomCheckout; /** Cashier Order. */ cashierOrder?: CashierOrder; /** eCommerce Order. */ ecomOrder?: EcomOrder; } export interface EcomCheckout { /** Id of the eCommerce Checkout. */ checkoutId?: string; /** URL of the eCommerce Checkout. */ checkoutUrl?: string; } export interface CashierOrder { /** Id of the Cashier Order. */ orderId?: string; } export interface EcomOrder { /** URL of the eCommerce Order. */ orderUrl?: string; /** Id of payment request for eCommerce Order. */ orderPaymentRequestId?: string; } export interface SendPaymentLinkRequest { /** Id of the Payment Link to send to the recipients. */ paymentLinkId: string; /** Recipients to send the Payment Link to their channels. */ recipients?: Recipient[]; } export interface SendPaymentLinkResponse { /** Recipients send statuses. */ statuses?: RecipientSendStatus[]; /** Send metadata. */ sendMetadata?: SendMetadata; } /** Send status of the recipient. */ export interface RecipientSendStatus { /** Recipient contact Id. */ contactId?: string; /** Recipient's channels through which Payment Link was sent successful. */ successChannels?: Channel[]; /** Recipient's channels in which errors occurred. */ failedChannels?: Channel[]; } /** Send metadata. */ export interface SendMetadata { /** Number of recipients where send was successful. */ totalSuccesses?: number; /** Number of recipients in which sending failed. */ totalFailures?: number; } export interface ExpireOrderRequest { /** Id of Payment Link. */ paymentLinkId?: string; /** Id of payment order. */ orderId?: string; } export interface ExpireOrderResponse { /** Id of Payment Link. */ paymentLinkId?: string; /** Id of the expired payment's order. */ orderId?: string; } export interface GetOriginalUrlRequest { /** Id of the short URL. */ shortUrlId?: string; } export interface GetOriginalUrlResponse { /** Payment Link share URL. */ url?: string; } export interface SetNoteRequest { /** Id of Payment Link. */ paymentLinkId: string; /** Note text. */ text?: string; } export interface SetNoteResponse { /** The updated Payment Link. */ paymentLink?: PaymentLink; } export interface ValidateAndEnrichPaymentLinkRequest { /** Payment Link to be validated and enriched. */ paymentLink?: PaymentLink; } export interface ValidateAndEnrichPaymentLinkResponse { /** The validated and enriched Payment Link. */ paymentLink?: PaymentLink; } export interface UpdateExtendedFieldsRequest { /** ID of the entity to update. */ id: string; /** Identifier for the app whose extended fields are being updated. */ namespace: string; /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */ namespaceData: Record | null; } export interface UpdateExtendedFieldsResponse { /** Updated Payment Link. */ paymentLink?: PaymentLink; } export interface BulkUpdatePaymentLinkTagsRequest { /** Payment Link IDs to update. */ ids: string[] | null; /** Tags to assign to the Payment Links. */ assignTags: Tags; /** Tags to unassign from the Payment Links. */ unassignTags?: Tags; } export interface BulkUpdatePaymentLinkTagsResponse { /** The results of the bulk update operation. */ results?: BulkUpdatePaymentLinkTagsResult[]; /** Metadata for the bulk action. */ bulkActionMetadata?: BulkActionMetadata; } export interface ItemMetadata { /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */ id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } export interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } export interface BulkUpdatePaymentLinkTagsResult { /** Metadata for the item that was updated. */ itemMetadata?: ItemMetadata; } export interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } export interface BulkUpdatePaymentLinkTagsByFilterRequest { /** Filter to select the payment links to update. */ filter: Record | null; /** Tags to assign to the payment links. */ assignTags: Tags; /** Tags to unassign from the payment links. */ unassignTags?: Tags; } export interface BulkUpdatePaymentLinkTagsByFilterResponse { /** The job id for the bulk update operation. */ jobId?: string; } /** This webhook is triggered whenever a payment transaction is updated (including refunds) via specific [Wix Apps](https://dev.wix.com/api/rest/wix-payments/about-wix-payments). */ export interface PaymentEvent extends PaymentEventEventOneOf { transactionStatusChangedEvent?: TransactionStatusChangedEvent; refundStatusChangedEvent?: RefundStatusChangedEvent; recurringPaymentStatusChangedEvent?: RecurringPaymentStatusChangedEvent; transactionUpdatedEvent?: TransactionUpdatedEvent; transactionCreatedEvent?: TransactionCreatedEvent; /** Unique event ID. */ id?: string; /** Event timestamp */ eventTime?: Date | null; /** ID of the [Wix app](https://dev.wix.com/docs/rest/articles/getting-started/wix-business-solutions) that triggered this event. */ wixAppId?: string; /** Unique ID assigned to each Wix app in each site. */ wixAppInstanceId?: string; /** Event type. */ eventType?: EventType; /** ID of Wix app that mediated between Wix Payments and the Wix app that triggered the event (if relevant). */ managingWixAppId?: string | null; } /** @oneof */ export interface PaymentEventEventOneOf { transactionStatusChangedEvent?: TransactionStatusChangedEvent; refundStatusChangedEvent?: RefundStatusChangedEvent; recurringPaymentStatusChangedEvent?: RecurringPaymentStatusChangedEvent; transactionUpdatedEvent?: TransactionUpdatedEvent; transactionCreatedEvent?: TransactionCreatedEvent; } export declare enum EventType { UNDEFINED = "UNDEFINED", TRANSACTION_STATUS_CHANGED = "TRANSACTION_STATUS_CHANGED", REFUND_STATUS_CHANGED = "REFUND_STATUS_CHANGED", RECURRING_PAYMENT_STATUS_CHANGED = "RECURRING_PAYMENT_STATUS_CHANGED", TRANSACTION_UPDATED = "TRANSACTION_UPDATED", TRANSACTION_CREATED = "TRANSACTION_CREATED" } export interface TransactionStatusChangedEvent { /** Order details (limited to 30 items). */ order?: Order; /** New transaction details. */ transaction?: Transaction; /** Previous transaction status. */ previousStatus?: TransactionStatus; } export interface Order { id?: string; /** Wix app order ID */ wixAppOrderId?: string; /** Wix app buyer ID */ wixAppBuyerId?: string | null; /** Items included in the order */ items?: OrderItem[]; /** * total number of items in order * items_total_count > `items`.size if `items` doesn't contain all items */ itemsTotalCount?: number; /** Additional charges to the order - e.g., tax, shipping or discount (optional) */ additionalCharges?: OrderAdditionalCharges; /** Customer's shipping address (optional) */ shippingAddress?: Address; /** Customer's shipping address details (optional) */ shippingAddressContacts?: FullAddressContactDetails; /** Order creation date */ createdAt?: Date | null; externalData?: Record; } /** Item included in order */ export interface OrderItem { /** Order item ID (required) */ id?: string; /** Order item name (required) */ name?: string; /** Quantity (required) */ quantity?: number; /** Total price charged for this item in the order - quantity * price (required) */ price?: number; /** Order item description */ description?: string; /** Weight of one item */ weightInKg?: number; /** Whether the item is a physical a digital product */ category?: OrderItemCategory; } /** Order item type */ export declare enum OrderItemCategory { UNDEFINED = "UNDEFINED", /** Physical product */ PHYSICAL = "PHYSICAL", /** Digital product */ DIGITAL = "DIGITAL" } /** Describing any additional charges in the order. They are not required, but can't be added later. */ export interface OrderAdditionalCharges { /** Absolute taxes charged to the order */ tax?: number; /** Shipping cost charged to the order */ shipping?: number; /** Discount amount applied to the order */ discount?: number; /** Application fee */ applicationFee?: number; } /** Physical address */ export interface Address extends AddressStreetOneOf { /** Street name and number. */ streetAddress?: StreetAddress; /** Main address line, usually street and number as free text. */ addressLine?: string | null; /** Country code. */ country?: string | null; /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */ subdivision?: string | null; /** City name. */ city?: string | null; /** Zip/postal code. */ postalCode?: string | null; /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */ addressLine2?: string | null; } /** @oneof */ export interface AddressStreetOneOf { /** Street name and number. */ streetAddress?: StreetAddress; /** Main address line, usually street and number as free text. */ addressLine?: string | null; } export interface StreetAddress { /** Street number. */ number?: string; /** Street name. */ name?: string; } export interface AddressLocation { /** Address latitude. */ latitude?: number | null; /** Address longitude. */ longitude?: number | null; } export interface Subdivision { /** Short subdivision code. */ code?: string; /** Subdivision full name. */ name?: string; } export declare enum SubdivisionType { UNKNOWN_SUBDIVISION_TYPE = "UNKNOWN_SUBDIVISION_TYPE", /** State */ ADMINISTRATIVE_AREA_LEVEL_1 = "ADMINISTRATIVE_AREA_LEVEL_1", /** County */ ADMINISTRATIVE_AREA_LEVEL_2 = "ADMINISTRATIVE_AREA_LEVEL_2", /** City/town */ ADMINISTRATIVE_AREA_LEVEL_3 = "ADMINISTRATIVE_AREA_LEVEL_3", /** Neighborhood/quarter */ ADMINISTRATIVE_AREA_LEVEL_4 = "ADMINISTRATIVE_AREA_LEVEL_4", /** Street/block */ ADMINISTRATIVE_AREA_LEVEL_5 = "ADMINISTRATIVE_AREA_LEVEL_5", /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */ COUNTRY = "COUNTRY" } /** Subdivision Concordance values */ export interface StandardDetails { /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */ iso31662?: string | null; } /** Full contact details for an address */ export interface FullAddressContactDetails { /** Contact's first name. */ firstName?: string | null; /** Contact's last name. */ lastName?: string | null; /** Contact's phone number. */ phone?: string | null; /** Contact's company name. */ company?: string | null; /** Email associated with the address. */ email?: string | null; /** Tax info. Currently usable only in Brazil. */ vatId?: VatId; } export 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 */ export declare enum VatType { UNSPECIFIED = "UNSPECIFIED", /** CPF - for individual tax payers. */ CPF = "CPF", /** CNPJ - for corporations */ CNPJ = "CNPJ" } export interface Transaction extends TransactionPaymentMethodDataOneOf { creditCardPaymentMethodData?: CreditCardPaymentMethodData; /** Transaction ID */ id?: string; /** Provider transaction ID */ providerTransactionId?: string | null; /** Amount and currency of transaction */ amount?: CurrencyAmount; /** Refunded amount and currency of transaction */ refundedAmount?: CurrencyAmount; /** Updated transaction status */ status?: TransactionStatus; /** Reason provided for status change */ reasonCode?: string | null; /** Payment method */ paymentMethod?: string; /** Payment service provider */ paymentProvider?: string; /** Customer's billing address (optional) */ billingAddress?: Address; /** Customer's billing address - contact details (optional) */ billingAddressContacts?: FullAddressContactDetails; /** Details of subscription, which (if) the transaction is a part of */ recurringPaymentDetails?: RecurringPaymentDetails; /** The details of a payment method account. */ paymentMethodAccountInfo?: AccountInfo; /** Transaction creation date */ createdAt?: Date | null; /** Total number of installments */ installments?: number; /** Scheduled action for this transaction */ scheduledAction?: ScheduledAction; /** order id associated with the transaction on the vertical side */ verticalOrderId?: string | null; } /** @oneof */ export interface TransactionPaymentMethodDataOneOf { creditCardPaymentMethodData?: CreditCardPaymentMethodData; } export interface CurrencyAmount { /** Amount */ amount?: number; currency?: string; } export declare enum TransactionStatus { UNDEFINED = "UNDEFINED", APPROVED = "APPROVED", PENDING = "PENDING", PENDING_MERCHANT = "PENDING_MERCHANT", CANCELED = "CANCELED", DECLINED = "DECLINED", REFUNDED = "REFUNDED", PARTIALLY_REFUNDED = "PARTIALLY_REFUNDED", AUTHORIZED = "AUTHORIZED", VOIDED = "VOIDED" } export interface RecurringPaymentDetails { /** Current cycle number (Recurring payments only) */ cycleNumber?: number; } export interface CreditCardPaymentMethodData { /** Card issuing network */ network?: string; /** Card number with only bin and last4 positions showed (non-PCI data) */ maskedCreditCard?: string; /** Card holder's full name specified on the card. */ holderName?: string; /** Card expiration month. */ expiryMonth?: string; /** Card last 4 digits. */ lastFourDigits?: string | null; } export interface AccountInfo { /** The email of an Account used by Payment Method */ email?: string | null; } export interface ScheduledAction { /** type of the action */ type?: ScheduledActionType; /** the date and time of the action */ executionDate?: Date | null; } export declare enum ScheduledActionType { VOID = "VOID", CAPTURE = "CAPTURE" } export interface RefundStatusChangedEvent { /** Order details (limited to 30 items). */ order?: Order; /** Updated transaction details. */ transaction?: Transaction; /** Updated refund details. */ refund?: Refund; /** Previous refund status. */ previousStatus?: RefundStatus; } export interface Refund { id?: string; /** Amount and currency of refund */ amount?: CurrencyAmount; /** Updated refund status */ status?: RefundStatus; /** Reason provided for status change */ reasonCode?: string | null; /** Refund creation date */ createdAt?: Date | null; } export declare enum RefundStatus { UNDEFINED = "UNDEFINED", APPROVED = "APPROVED", PENDING = "PENDING", DECLINED = "DECLINED" } export interface RecurringPaymentStatusChangedEvent { /** Order details(limited to 30 items). */ order?: Order; /** Recurring payment status. */ status?: Status; /** Previous recurring payment status. */ previousStatus?: Status; /** Details of RecurringPayment cancellation (empty if `status` is not CANCELLED). */ cancellationDetails?: RecurringPaymentCancellationDetails; } export declare enum Status { UNDEFINED = "UNDEFINED", PENDING = "PENDING", ACTIVE = "ACTIVE", CANCELLED = "CANCELLED", FINISHED = "FINISHED", SUSPENDED = "SUSPENDED" } export interface RecurringPaymentCancellationDetails { /** Initiator of cancellation */ initiator?: Initiator; /** Successfully paid recurring cycles count before the cancellation */ paidRegularCycleCount?: number; } export declare enum Initiator { UNDEFINED = "UNDEFINED", BUYER = "BUYER", MERCHANT = "MERCHANT", PAYMENT = "PAYMENT", SETUP = "SETUP" } export interface TransactionUpdatedEvent { /** Order details (limited to 30 items). */ order?: Order; /** Updated transaction details. */ transaction?: Transaction; /** Is event triggered by request to clean user data */ triggeredByAnonymizeRequest?: boolean | null; } export interface TransactionCreatedEvent { /** Order details (limited to 30 items). */ order?: Order; /** Updated transaction details. */ transaction?: Transaction; } export interface Empty { } export interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } /** @oneof */ export interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } export interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } export interface RestoreInfo { deletedDate?: Date | null; } export interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } export interface EntityDeletedEvent { /** Entity that was deleted */ deletedEntityAsJson?: string | null; } export interface ActionEvent { bodyAsJson?: string; } export interface SearchServicesProcessingNotification { /** the document type that processing was done for */ documentType?: string; /** the correlation id passed in by client to original request */ correlationId?: string; /** the result of the processing */ result?: ProcessingResult; } export declare enum ProcessingResult { /** execution without and errors */ SUCCESS = "SUCCESS", /** execution failed for at least one item */ FAILURE = "FAILURE" } export interface MessageEnvelope { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; } export interface IdentificationData extends IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; /** @readonly */ identityType?: WebhookIdentityType; } /** @oneof */ export interface IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; } export declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } interface CatalogReferenceNonNullableFields { catalogItemId: string; appId: string; } interface ProductNameNonNullableFields { original: string; } interface PlainTextValueNonNullableFields { original: string; } interface ColorNonNullableFields { original: string; } interface DescriptionLineNameNonNullableFields { original: string; } interface DescriptionLineNonNullableFields { plainText?: PlainTextValueNonNullableFields; colorInfo?: ColorNonNullableFields; plainTextValue?: PlainTextValueNonNullableFields; color: string; name?: DescriptionLineNameNonNullableFields; lineType: DescriptionLineType; } interface PhysicalPropertiesNonNullableFields { shippable: boolean; } interface ImageNonNullableFields { id: string; height: number; width: number; } interface PaymentOptionNonNullableFields { value: PaymentOptionType; } interface CatalogOverrideFieldsNonNullableFields { productName?: ProductNameNonNullableFields; descriptionLines: DescriptionLineNonNullableFields[]; physicalProperties?: PhysicalPropertiesNonNullableFields; image?: ImageNonNullableFields; paymentOption?: PaymentOptionNonNullableFields; } interface CatalogNonNullableFields { quantity: number; catalogReference?: CatalogReferenceNonNullableFields; catalogOverrideFields?: CatalogOverrideFieldsNonNullableFields; } interface CommonImageNonNullableFields { id: string; url: string; height: number; width: number; } interface CustomNonNullableFields { quantity: number; name: string; price: string; physicalProperties?: PhysicalPropertiesNonNullableFields; image?: CommonImageNonNullableFields; } interface LineItemNonNullableFields { catalogItem?: CatalogNonNullableFields; customItem?: CustomNonNullableFields; type: LineItemType; } interface EcomNonNullableFields { lineItems: LineItemNonNullableFields[]; } interface PaymentLinkEcomOrderNonNullableFields { orderId: string; amount: string; } interface RecipientNonNullableFields { contactId: string; channels: Channel[]; sendMethods: SendMethod[]; } interface TotalsNonNullableFields { balance: string; paymentCount: number; } interface TotalReceivedNonNullableFields { amount: string; paymentCount: number; } interface PageUrlV2NonNullableFields { relativePath: string; } interface LinksNonNullableFields { url?: PageUrlV2NonNullableFields; } interface EcomReferenceNonNullableFields { orderId: string; } interface SourceNonNullableFields { ecomReference?: EcomReferenceNonNullableFields; } interface DisplayDataNonNullableFields { image?: CommonImageNonNullableFields; } interface NoteNonNullableFields { text: string; } interface TagListNonNullableFields { tagIds: string[]; } interface TagsNonNullableFields { privateTags?: TagListNonNullableFields; tags?: TagListNonNullableFields; } interface PaymentLinkNonNullableFields { ecomPaymentLink?: EcomNonNullableFields; ecomOrderPaymentLink?: PaymentLinkEcomOrderNonNullableFields; title: string; currency: string; recipients: RecipientNonNullableFields[]; totals?: TotalsNonNullableFields; totalReceived?: TotalReceivedNonNullableFields; status: PaymentLinkStatus; links?: LinksNonNullableFields; availableActions: Action[]; source?: SourceNonNullableFields; displayData?: DisplayDataNonNullableFields; note?: NoteNonNullableFields; type: PayLinkType; tags?: TagsNonNullableFields; } export interface CreatePaymentLinkResponseNonNullableFields { paymentLink?: PaymentLinkNonNullableFields; } export interface GetPaymentLinkResponseNonNullableFields { paymentLink?: PaymentLinkNonNullableFields; } export interface QueryPaymentLinksResponseNonNullableFields { paymentLinks: PaymentLinkNonNullableFields[]; } interface ValueAggregationResultNonNullableFields { value: string; count: number; } interface ValueResultsNonNullableFields { results: ValueAggregationResultNonNullableFields[]; } interface ScalarResultNonNullableFields { type: ScalarType; value: number; } interface AggregationResultsNonNullableFields { values?: ValueResultsNonNullableFields; scalar?: ScalarResultNonNullableFields; name: string; type: AggregationType; } interface AggregationDataNonNullableFields { results: AggregationResultsNonNullableFields[]; } export interface SearchPaymentLinksResponseNonNullableFields { paymentLinks: PaymentLinkNonNullableFields[]; aggregationData?: AggregationDataNonNullableFields; } export interface DeactivatePaymentLinkResponseNonNullableFields { paymentLink?: PaymentLinkNonNullableFields; } export interface ActivatePaymentLinkResponseNonNullableFields { paymentLink?: PaymentLinkNonNullableFields; } interface EcomCheckoutNonNullableFields { checkoutId: string; checkoutUrl: string; } interface CashierOrderNonNullableFields { orderId: string; } interface EcomOrderNonNullableFields { orderUrl: string; orderPaymentRequestId: string; } export interface InitiatePaymentResponseNonNullableFields { ecomCheckout?: EcomCheckoutNonNullableFields; cashierOrder?: CashierOrderNonNullableFields; ecomOrder?: EcomOrderNonNullableFields; orderId: string; } interface RecipientSendStatusNonNullableFields { contactId: string; successChannels: Channel[]; failedChannels: Channel[]; } interface SendMetadataNonNullableFields { totalSuccesses: number; totalFailures: number; } export interface SendPaymentLinkResponseNonNullableFields { statuses: RecipientSendStatusNonNullableFields[]; sendMetadata?: SendMetadataNonNullableFields; } export interface SetNoteResponseNonNullableFields { paymentLink?: PaymentLinkNonNullableFields; } export interface UpdateExtendedFieldsResponseNonNullableFields { paymentLink?: PaymentLinkNonNullableFields; } interface ApplicationErrorNonNullableFields { code: string; description: string; } interface ItemMetadataNonNullableFields { originalIndex: number; success: boolean; error?: ApplicationErrorNonNullableFields; } interface BulkUpdatePaymentLinkTagsResultNonNullableFields { itemMetadata?: ItemMetadataNonNullableFields; } interface BulkActionMetadataNonNullableFields { totalSuccesses: number; totalFailures: number; undetailedFailures: number; } export interface BulkUpdatePaymentLinkTagsResponseNonNullableFields { results: BulkUpdatePaymentLinkTagsResultNonNullableFields[]; bulkActionMetadata?: BulkActionMetadataNonNullableFields; } export interface BulkUpdatePaymentLinkTagsByFilterResponseNonNullableFields { jobId: string; } export {};