> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # ListAppPlansByAppId # Package: appBilling # Namespace: AppsPlans # Method link: https://dev.wix.com/docs/api-reference/app-management/app-billing/app-plans/list-app-plans-by-app-id.md ## Introduction Retrieves plans for the given apps. Also returns tax settings and currency details. Wix calculates this information based on the 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the tax settings and currency details based on the call's IP address. Note that the tax settings and currency details may not resolve properly if you call through a VPN. Prices for plans that are managed outside of Wix aren't returned. Consumers must pay for yearly and multi-yearly plans of your app every month. For these plans this method returns the price that the consumer must pay every month and not the total price for the entire year. > **Notes:** > - The App Plans API doesn't follow any tenancy model. You don't need any permissions to call `List App Plans by App ID`. > - This method only returns app plans that have been activated. --- ## REST API ### Schema ``` Method: listAppPlansByAppId Description: Retrieves plans for the given apps. Also returns tax settings and currency details. Wix calculates this information based on the 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the tax settings and currency details based on the call's IP address. Note that the tax settings and currency details may not resolve properly if you call through a VPN. Prices for plans that are managed outside of Wix aren't returned. Consumers must pay for yearly and multi-yearly plans of your app every month. For these plans this method returns the price that the consumer must pay every month and not the total price for the entire year. > **Notes:** > - The App Plans API doesn't follow any tenancy model. You don't need any permissions to call `List App Plans by App GUID`. > - This method only returns app plans that have been activated. URL: https://www.wixapis.com/v1/apps-plans/{appIds} Method: GET # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: appIds Method parameters: param name: appIds | type: none | required: true Return type: ListAppPlansByAppIdResponse - name: taxSettings | type: TaxSettings | description: Tax settings. Wix calculates the tax settings based on the country code that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the tax settings based on the caller's IP address. Note that the tax settings may not resolve properly if you call through a VPN. - name: showPriceWithTax | type: boolean | description: Whether you must display the total price including taxes in the given country. - name: percentage | type: string | description: Tax rate for the given country as percentage. Returned as `0` when `{"showPriceWithTax": false}`. - name: taxType | type: TaxType | description: Type of tax required in the given country. + `"NOT_APPLICABLE"`: The country doesn't require that you display the total price including taxes, or Wix failed to calculate the country based on the call's IP address. + `"VAT"`: The given country requires that you display the total price including [value-added tax (VAT)](https://en.wikipedia.org/wiki/Value-added_tax). + `"GST"`: The given country requires that you display the total price including [generation-skipping transfer tax (GST)](https://en.wikipedia.org/wiki/Generation-skipping_transfer_tax). - enum: NOT_APPLICABLE, VAT, GST - name: currency | type: string | description: 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. Wix calculates the currency based on the country code that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the currency based on the caller's IP address. Note that the currency may not resolve properly if you call through a VPN. - name: currencySymbol | type: string | description: Currency symbol in decimal HTML entity format. For example, `$` for $ (United States Dollar). Wix calculates the currency symbol based on the country code that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the tax settings based on the caller's IP address. Note that the currency symbol may not resolve properly if you call through a VPN. - name: appPlans | type: array | description: Retrieved app plans. Min: 0 plans Max: 50 plans If any plans aren't returned, it's likely because they haven't been activated yet. - name: id | type: string | description: App GUID, as defined in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). - name: plans | type: array | description: List of the app's pricing plans. Min: `0` plans Max: `50` plans - name: id | type: string | description: GUID of the app plan. - name: vendorId | type: string | description: GUID of your app's pricing plan, as displayed in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). Identical to `vendorProductId` in the [Paid Plan Purchased webhook](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/paid-plan-purchased.md). - name: name | type: string | description: Name of your app's pricing plan, as defined by you in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). - name: benefits | type: array | description: List of your plan's benefits, as defined by you in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). Currently, the benefits are available only in English. Min: `0` benefits Max: `4` benefits Max per benefit: 1024 characters - name: prices | type: array | description: List of the plan's prices. Available only when the plan's prices are managed by Wix and not externally. Min: `0` prices Max: `10` prices - name: priceBeforeTax | type: string | description: Price without taxes. For yearly plans, Wix calculates and returns the average price per month. You can get the full price by multiplying the returned price by 12. Min: `0.00` Max: 1024 characters - name: totalPrice | type: string | description: Total price including taxes. Min: `0.00` Max: 1024 characters - name: billingCycle | type: Cycle | description: Information about the plan's recurring billing cycle or single payment. - name: cycleType | type: CycleType | description: Type of the billing cycle. + `"UNKNOWN_UNIT"`: There is no information about the billing cycle. + `"ONE_TIME"`: The customer pays for unlimited usage of the app with a single payment. + `"RECURRING"`: The customer pays for a subscription to the app on a recurring schedule. - enum: ONE_TIME, RECURRING - name: cycleDuration | type: Duration | description: Duration of the billing cycle. Available only for `{"cycleType": "RECURRING"}`. - name: unit | type: DurationUnit | description: Unit of the billing cycle. - enum: - MONTH: month - YEAR: year - name: count | type: integer | description: Count of units that make up the billing cycle. - name: usageBaseOptions | type: UsageBasedDetails | description: Details about the plan's usage-based pricing. Available only for plans with [usage-based pricing](https://dev.wix.com/docs/build-apps/build-your-app/pricing-plans/usage-based-pricing.md). - name: minimumChargeIncrement | type: string | description: Smallest possible amount that your app charges customers in usage-based pricing. For example, the price of a single SMS message if your app charges customers for sending text messages. Always in [USD](https://en.wikipedia.org/wiki/United_States_dollar). Min: `0.00` Max: 1024 characters - name: monthlyBaseFee | type: string | description: Recurring, monthly base fee in usage-based pricing that your app charges customers regardless of how much they use your app. Min: `0.00` Max: 1024 characters - name: customChargeDescription | type: string | description: Description of the usage-based pricing plan, as defined in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). Max: 1024 characters - name: discount | type: Discount | description: - name: type | type: DiscountType | description: - enum: - DISCOUNT_TYPE_UNSPECIFIED: - FIXED_AMOUNT: Discount is a fixed amount in USD. - PERCENTAGE: Discount is a percentage of the total price. - name: amount | type: string | description: Discount amount - name: priceBeforeTax | type: string | description: Price without taxes. For yearly plans, Wix calculates and returns the average price per month. You can get the full price by multiplying the returned price with 12. Min: `0.00` Max: 1024 characters - name: totalPrice | type: string | description: Total price including taxes. Min: `0.00` Max: 1024 characters - name: billingSource | type: BillingSource | description: - enum: - UNKNOWN: - WIX: plan billing and charges is managed by Wix - EXTERNAL: plan billing and charges is managed by the app - name: customPaymentTitle | type: string | description: Can be shown instead of plan price - used for dynamic plans ``` ### Examples ### Retrieve app plans. ```curl curl -X GET \ 'https://manage.wix.com/api/apps-plans/v1/apps-plans/{appIds}' \ -H 'X-Wix-Country-Code: ' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.appBilling.AppsPlans.listAppPlansByAppId(appIds) Description: Retrieves plans for the given apps. Also returns tax settings and currency details. Wix calculates this information based on the 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the tax settings and currency details based on the call's IP address. Note that the tax settings and currency details may not resolve properly if you call through a VPN. Prices for plans that are managed outside of Wix aren't returned. Consumers must pay for yearly and multi-yearly plans of your app every month. For these plans this method returns the price that the consumer must pay every month and not the total price for the entire year. > **Notes:** > - The App Plans API doesn't follow any tenancy model. You don't need any permissions to call `List App Plans by App GUID`. > - This method only returns app plans that have been activated. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: appIds Method parameters: param name: appIds | type: array | description: List of app GUIDs to retrieve plans for. Min: 1 app GUID Max: 100 app GUIDs | required: true Return type: PROMISE - name: taxSettings | type: TaxSettings | description: Tax settings. Wix calculates the tax settings based on the country code that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the tax settings based on the caller's IP address. Note that the tax settings may not resolve properly if you call through a VPN. - name: showPriceWithTax | type: boolean | description: Whether you must display the total price including taxes in the given country. - name: percentage | type: string | description: Tax rate for the given country as percentage. Returned as `0` when `{"showPriceWithTax": false}`. - name: taxType | type: TaxType | description: Type of tax required in the given country. + `"NOT_APPLICABLE"`: The country doesn't require that you display the total price including taxes, or Wix failed to calculate the country based on the call's IP address. + `"VAT"`: The given country requires that you display the total price including [value-added tax (VAT)](https://en.wikipedia.org/wiki/Value-added_tax). + `"GST"`: The given country requires that you display the total price including [generation-skipping transfer tax (GST)](https://en.wikipedia.org/wiki/Generation-skipping_transfer_tax). - enum: NOT_APPLICABLE, VAT, GST - name: currency | type: string | description: 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. Wix calculates the currency based on the country code that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the currency based on the caller's IP address. Note that the currency may not resolve properly if you call through a VPN. - name: currencySymbol | type: string | description: Currency symbol in decimal HTML entity format. For example, `$` for $ (United States Dollar). Wix calculates the currency symbol based on the country code that you pass in the call's header. If you don't pass a country code in the header, Wix calculates the tax settings based on the caller's IP address. Note that the currency symbol may not resolve properly if you call through a VPN. - name: appPlans | type: array | description: Retrieved app plans. Min: 0 plans Max: 50 plans If any plans aren't returned, it's likely because they haven't been activated yet. - name: _id | type: string | description: App GUID, as defined in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). - name: plans | type: array | description: List of the app's pricing plans. Min: `0` plans Max: `50` plans - name: _id | type: string | description: GUID of the app plan. - name: vendorId | type: string | description: GUID of your app's pricing plan, as displayed in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). Identical to `vendorProductId` in the [Paid Plan Purchased webhook](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/paid-plan-purchased.md). - name: name | type: string | description: Name of your app's pricing plan, as defined by you in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). - name: benefits | type: array | description: List of your plan's benefits, as defined by you in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). Currently, the benefits are available only in English. Min: `0` benefits Max: `4` benefits Max per benefit: 1024 characters - name: prices | type: array | description: List of the plan's prices. Available only when the plan's prices are managed by Wix and not externally. Min: `0` prices Max: `10` prices - name: priceBeforeTax | type: string | description: Price without taxes. For yearly plans, Wix calculates and returns the average price per month. You can get the full price by multiplying the returned price by 12. Min: `0.00` Max: 1024 characters - name: totalPrice | type: string | description: Total price including taxes. Min: `0.00` Max: 1024 characters - name: billingCycle | type: Cycle | description: Information about the plan's recurring billing cycle or single payment. - name: cycleType | type: CycleType | description: Type of the billing cycle. + `"UNKNOWN_UNIT"`: There is no information about the billing cycle. + `"ONE_TIME"`: The customer pays for unlimited usage of the app with a single payment. + `"RECURRING"`: The customer pays for a subscription to the app on a recurring schedule. - enum: ONE_TIME, RECURRING - name: cycleDuration | type: Duration | description: Duration of the billing cycle. Available only for `{"cycleType": "RECURRING"}`. - name: unit | type: DurationUnit | description: Unit of the billing cycle. - enum: - MONTH: month - YEAR: year - name: count | type: integer | description: Count of units that make up the billing cycle. - name: usageBaseOptions | type: UsageBasedDetails | description: Details about the plan's usage-based pricing. Available only for plans with [usage-based pricing](https://dev.wix.com/docs/build-apps/build-your-app/pricing-plans/usage-based-pricing.md). - name: minimumChargeIncrement | type: string | description: Smallest possible amount that your app charges customers in usage-based pricing. For example, the price of a single SMS message if your app charges customers for sending text messages. Always in [USD](https://en.wikipedia.org/wiki/United_States_dollar). Min: `0.00` Max: 1024 characters - name: monthlyBaseFee | type: string | description: Recurring, monthly base fee in usage-based pricing that your app charges customers regardless of how much they use your app. Min: `0.00` Max: 1024 characters - name: customChargeDescription | type: string | description: Description of the usage-based pricing plan, as defined in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). Max: 1024 characters - name: discount | type: Discount | description: - name: type | type: DiscountType | description: - enum: - DISCOUNT_TYPE_UNSPECIFIED: - FIXED_AMOUNT: Discount is a fixed amount in USD. - PERCENTAGE: Discount is a percentage of the total price. - name: amount | type: string | description: Discount amount - name: priceBeforeTax | type: string | description: Price without taxes. For yearly plans, Wix calculates and returns the average price per month. You can get the full price by multiplying the returned price with 12. Min: `0.00` Max: 1024 characters - name: totalPrice | type: string | description: Total price including taxes. Min: `0.00` Max: 1024 characters - name: billingSource | type: BillingSource | description: - enum: - UNKNOWN: - WIX: plan billing and charges is managed by Wix - EXTERNAL: plan billing and charges is managed by the app - name: customPaymentTitle | type: string | description: Can be shown instead of plan price - used for dynamic plans ``` ### Examples ### listAppPlansByAppId ```javascript import { appPlans } from '@wix/app-management'; async function listAppPlansByAppId(appIds) { const response = await appPlans.listAppPlansByAppId(appIds); }; ``` ### listAppPlansByAppId (with elevated permissions) ```javascript import { appPlans } from '@wix/app-management'; import { auth } from '@wix/essentials'; async function myListAppPlansByAppIdMethod(appIds) { const elevatedListAppPlansByAppId = auth.elevate(appPlans.listAppPlansByAppId); const response = await elevatedListAppPlansByAppId(appIds); } ``` ### listAppPlansByAppId (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { appPlans } from '@wix/app-management'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { appPlans }, // Include the auth strategy and host as relevant }); async function listAppPlansByAppId(appIds) { const response = await myWixClient.appPlans.listAppPlansByAppId(appIds); }; ``` ---