import { NonNullablePaths } from '@wix/sdk-types'; /** An account that enables a Wix site to process customer payments. */ interface WixPaymentsAccount { /** * ID of the Wix Payments account. * @format GUID * @readonly */ _id?: string | null; /** * First name of the Wix Payments account owner. * @maxLength 500 */ firstName?: string | null; /** * Last name of the Wix Payments account owner. * @maxLength 500 */ lastName?: string | null; /** * Whether the account owner has accepted the * [Wix Payments Terms of Service](https://www.wix.com/about/terms-of-payments). * The account owner must accept these terms for the account to be created * successfully. If the terms aren't accepted, the Connect Wix Payments Account * call fails. * @deprecated Whether the account owner has accepted the * [Wix Payments Terms of Service](https://www.wix.com/about/terms-of-payments). * The account owner must accept these terms for the account to be created * successfully. If the terms aren't accepted, the Connect Wix Payments Account * call fails. * @replacedBy terms_of_service_acceptance * @targetRemovalDate 2026-07-31 */ tosAccepted?: boolean | null; termsOfServiceAcceptance?: TermsOfServiceAcceptance; /** * email of the Wix Payments account owner. * @format EMAIL */ email?: string | null; /** * Brief summary of the types of products and services offered for sale through the Wix Payments account. * For example, "Sportswear and sport accessories". * @maxLength 500 */ productDescription?: string | null; /** * Country code. * @format COUNTRY */ country?: string | null; /** @maxLength 50 */ softDescriptor?: string | null; /** @format WEB_URL */ businessUrl?: string | null; } interface TermsOfServiceAcceptance { /** @format IPV4 */ ip?: string; } interface ConnectWixPaymentsAccountRequest { /** Wix Payments account to connect to the site. */ account: WixPaymentsAccount; } interface ConnectWixPaymentsAccountResponse { /** Connected Wix Payments account. */ account?: WixPaymentsAccount; } interface ConnectWixPaymentsAccountBase44Request { /** Wix Payments account to connect to the site. */ account: WixPaymentsAccount; /** * MetaSite id * @format GUID */ siteId?: string | null; /** * User id * @format GUID */ userId?: string | null; /** * App id * @maxLength 32 */ appId?: string | null; base44App?: Base44AppData; } interface Base44AppData { /** * App id * @maxLength 32 */ appId?: string | null; /** * App name * @maxLength 512 */ appName?: string | null; /** * App url * @format WEB_URL */ appUrl?: string | null; /** * email of the Base app owner. * @format EMAIL */ ownerEmail?: string | null; /** * Country code. * @format COUNTRY */ country?: string | null; } interface ConnectWixPaymentsAccountBase44Response { /** Connected Wix Payments account. */ account?: WixPaymentsAccount; base44Metadata?: Base44Metadata; } interface Base44Metadata { /** * MetaSite ID * @format GUID */ siteId?: string; /** * Webhook public key for verifying callbacks * @maxLength 500 */ webhookPublicKey?: string; /** * App secret for authentication * @maxLength 500 */ appSecret?: string; /** * API key for subsequent calls * @maxLength 500 */ apiKey?: string; } interface SetupBase44SiteRequest { /** * MetaSite ID. If not provided, a new metasite is created. * @format GUID */ siteId?: string | null; /** * User ID. If not provided, extracted from the authentication token. * @format GUID */ userId?: string | null; /** * App ID * @maxLength 32 */ appId?: string | null; /** Base44 app data */ base44App?: Base44AppData; } interface SetupBase44SiteResponse { /** * MetaSite ID of the created or existing site * @format GUID */ siteId?: string; /** * API key for subsequent calls * @maxLength 500 */ apiKey?: string; } /** @docsIgnore */ type ConnectWixPaymentsAccountBase44ApplicationErrors = { code?: 'MISSING_TERMS_OF_SERVICE'; description?: string; data?: Record; }; /** * Connects a Wix Payments account to the site. * * * The call fails if: * - The site's location * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction)) * is outside the USA. * - A Wix Payments account is already connected to the site. * - You don't specify `{"tosAccepted": true}`. * * The connected Wix Payments account has the following limitations, which site * owners can manage in their dashboard: * * - By default, customers can only pay via credit card, Apple Pay, or Google Pay. * - To receive payments, site owners must complete onboarding to their Wix * Payments account in the site's dashboard. * @param account - Wix Payments account to connect to the site. * @public * @documentationMaturity preview * @requiredField account * @requiredField account.firstName * @requiredField account.lastName * @requiredField account.tosAccepted * @permissionId CASHIER.PROVIDER_ACCOUNTS_CREATE * @applicableIdentity APP * @fqn wix.payments.mcp.v1.WixPaymentsAccountService.ConnectWixPaymentsAccount */ declare function connectWixPaymentsAccount(account: NonNullablePaths): Promise>; /** * Connects a Wix Payments account to the site. * * * The call fails if: * - The site's location * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction)) * is outside the USA. * - A Wix Payments account is already connected to the site. * - You don't specify `{"tosAccepted": true}`. * * The connected Wix Payments account has the following limitations, which site * owners can manage in their dashboard: * * - By default, customers can only pay via credit card, Apple Pay, or Google Pay. * - To receive payments, site owners must complete onboarding to their Wix * Payments account in the site's dashboard. * @param account - Wix Payments account to connect to the site. * @public * @documentationMaturity preview * @requiredField account * @requiredField account.email * @requiredField account.firstName * @requiredField account.lastName * @requiredField account.termsOfServiceAcceptance * @permissionId PAYMENTS.CONNECT_PAYMENTS * @fqn wix.payments.mcp.v1.WixPaymentsAccountService.ConnectWixPaymentsAccountBase44 */ declare function connectWixPaymentsAccountBase44(account: NonNullablePaths, options?: ConnectWixPaymentsAccountBase44Options): Promise & { __applicationErrorsType?: ConnectWixPaymentsAccountBase44ApplicationErrors; }>; interface ConnectWixPaymentsAccountBase44Options { /** * MetaSite id * @format GUID */ siteId?: string | null; /** * User id * @format GUID */ userId?: string | null; /** * App id * @maxLength 32 */ appId?: string | null; base44App?: Base44AppData; } /** * Sets up a Base44 site with an API key, without connecting a Wix Payments account. * * This endpoint: * - Creates or publishes the metasite * - Installs required apps * - Adds the "accept_payments" premium feature * - Creates an API key for the site * - Persists the Base44 app record * * Use `ConnectWixPaymentsAccountBase44` to also connect a Wix Payments account. * @public * @documentationMaturity preview * @permissionId PAYMENTS.CONNECT_PAYMENTS * @fqn wix.payments.mcp.v1.WixPaymentsAccountService.SetupBase44Site */ declare function setupBase44Site(options?: SetupBase44SiteOptions): Promise>; interface SetupBase44SiteOptions { /** * MetaSite ID. If not provided, a new metasite is created. * @format GUID */ siteId?: string | null; /** * User ID. If not provided, extracted from the authentication token. * @format GUID */ userId?: string | null; /** * App ID * @maxLength 32 */ appId?: string | null; /** Base44 app data */ base44App?: Base44AppData; } export { type Base44AppData, type Base44Metadata, type ConnectWixPaymentsAccountBase44ApplicationErrors, type ConnectWixPaymentsAccountBase44Options, type ConnectWixPaymentsAccountBase44Request, type ConnectWixPaymentsAccountBase44Response, type ConnectWixPaymentsAccountRequest, type ConnectWixPaymentsAccountResponse, type SetupBase44SiteOptions, type SetupBase44SiteRequest, type SetupBase44SiteResponse, type TermsOfServiceAcceptance, type WixPaymentsAccount, connectWixPaymentsAccount, connectWixPaymentsAccountBase44, setupBase44Site };