> 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

# UpdatePricingPlansSettings

# Package: pricingPlans

# Namespace: PricingPlansSettingsService

# Method link: https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/pricing-plans-settings/update-pricing-plans-settings.md

## Permission Scopes:
Manage Pricing Plans: SCOPE.DC-PAIDPLANS.MANAGE-PLANS

## Introduction

Updates a site's Pricing Plans settings.

Each time the Pricing Plans settings are updated, `revision` increments by 1. The current `revision` must be passed when updating the Pricing Plans settings. This ensures you're working with the latest Pricing Plans settings and prevents unintended overwrites.

Only the fields you include are updated. Fields you omit keep their current values, and read-only fields are ignored if you pass them.

---

## REST API

### Schema

```
 Method: updatePricingPlansSettings
 Description: Updates a site's Pricing Plans settings.  Each time the Pricing Plans settings are updated, `revision` increments by 1. The current `revision` must be passed when updating the Pricing Plans settings. This ensures you're working with the latest Pricing Plans settings and prevents unintended overwrites.  Only the fields you include are updated. Fields you omit keep their current values, and read-only fields are ignored if you pass them.
 URL: https://www.wixapis.com/pricing-plans/settings/v1/pricing-plans-settings
 Method: PATCH
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  pricingPlansSettings, pricingPlansSettings.revision
 Method parameters: 
   param name: pricingPlansSettings | type: PricingPlansSettings | description: Pricing Plans settings are the site-level settings that control how pricing plans are sold on a site. A site has a single Pricing Plans settings object, and it applies to every plan on the site. | required: true 
        - name: revision | type: string | description: Revision number, which increments by 1 each time the Pricing Plans settings are updated. To prevent conflicting changes, the current revision must be passed when updating the Pricing Plans settings. | required: true | read-only: true | validation: format int64
        - name: taxableAddress | type: TaxableAddress | description: Which of the site's addresses determines how tax is calculated for pricing plan purchases. Applies to every plan on the site.  If set to `BUSINESS` and the site has no business address configured, plan purchases fail until an address is added to the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).  Default: `BILLING`.  
             - enum:
             -     BILLING: Tax is calculated from the buyer's billing address, which the buyer supplies at checkout.
             -     BUSINESS: Tax is calculated from the site owner's business address, which is configured in the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).
        - name: extendedFields | type: ExtendedFields | description: Custom field data for the Pricing Plans settings object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.  
           - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).  | validation: format map
        - name: guestCheckoutSettings | type: GuestCheckoutSettings | description: Guest checkout settings, which control whether site visitors can buy a pricing plan without signing in as a site member.  
           - name: enabled | type: boolean | description: Whether site visitors can purchase a pricing plan without signing in as a site member. Applies to every plan on the site. When `false`, a visitor who selects any plan must sign in as a site member before they can complete the purchase.  Default: `false`.  
        - name: invoiceSettings | type: InvoiceSettings | description: Invoice settings, which control whether buyers automatically receive an invoice after paying for a pricing plan online.  
           - name: sendInvoiceOnPayment | type: boolean | description: Whether an invoice is automatically created and sent to the buyer each time an online payment for a pricing plan succeeds.  Applies only to subscriptions that weren't purchased with the eCommerce APIs.  Default: `false`.  
 Return type: UpdatePricingPlansSettingsResponse
  - name: pricingPlansSettings | type: PricingPlansSettings | description: Updated Pricing Plans settings.  
     - name: revision | type: string | description: Revision number, which increments by 1 each time the Pricing Plans settings are updated. To prevent conflicting changes, the current revision must be passed when updating the Pricing Plans settings.  | read-only: true | validation: format int64
     - name: createdDate | type: string | description: Date and time the site's Pricing Plans settings were created, which happens when the Wix Pricing Plans app is installed on the site.  For a site whose settings were never created, this is the date and time of the current read.  | read-only: true | validation: format date-time
     - name: updatedDate | type: string | description: Date and time the site's Pricing Plans settings were last updated.  | read-only: true | validation: format date-time
     - name: taxableAddress | type: TaxableAddress | description: Which of the site's addresses determines how tax is calculated for pricing plan purchases. Applies to every plan on the site.  If set to `BUSINESS` and the site has no business address configured, plan purchases fail until an address is added to the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).  Default: `BILLING`.  
         - enum:
         -     BILLING: Tax is calculated from the buyer's billing address, which the buyer supplies at checkout.
         -     BUSINESS: Tax is calculated from the site owner's business address, which is configured in the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).
     - name: extendedFields | type: ExtendedFields | description: Custom field data for the Pricing Plans settings object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.  
        - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).  | validation: format map
     - name: guestCheckoutSettings | type: GuestCheckoutSettings | description: Guest checkout settings, which control whether site visitors can buy a pricing plan without signing in as a site member.  
        - name: enabled | type: boolean | description: Whether site visitors can purchase a pricing plan without signing in as a site member. Applies to every plan on the site. When `false`, a visitor who selects any plan must sign in as a site member before they can complete the purchase.  Default: `false`.  
     - name: invoiceSettings | type: InvoiceSettings | description: Invoice settings, which control whether buyers automatically receive an invoice after paying for a pricing plan online.  
        - name: sendInvoiceOnPayment | type: boolean | description: Whether an invoice is automatically created and sent to the buyer each time an online payment for a pricing plan succeeds.  Applies only to subscriptions that weren't purchased with the eCommerce APIs.  Default: `false`.  


```

### Examples

### Update Pricing Plans Settings
Calculates tax for plan purchases from the site's business address.

```curl
curl -X PATCH \
'https://www.wixapis.com/pricing-plans/settings/v1/pricing-plans-settings' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "pricingPlansSettings": {
    "revision": "4",
    "taxableAddress": "BUSINESS"
  }
}'
```

### Enable Guest Checkout and Automatic Invoicing
Lets visitors buy a plan without signing in, and sends an invoice for each successful online payment. Only the fields included in the request are updated, so `taxableAddress` keeps its current value.

```curl
curl -X PATCH \
'https://www.wixapis.com/pricing-plans/settings/v1/pricing-plans-settings' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "pricingPlansSettings": {
    "revision": "5",
    "guestCheckoutSettings": {
      "enabled": true
    },
    "invoiceSettings": {
      "sendInvoiceOnPayment": true
    }
  }
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.pricingPlans.pricingPlansSettings.updatePricingPlansSettings(pricingPlansSettings)
 Description: Updates a site's Pricing Plans settings.  Each time the Pricing Plans settings are updated, `revision` increments by 1. The current `revision` must be passed when updating the Pricing Plans settings. This ensures you're working with the latest Pricing Plans settings and prevents unintended overwrites.  Only the fields you include are updated. Fields you omit keep their current values, and read-only fields are ignored if you pass them.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  pricingPlansSettings, pricingPlansSettings.revision
 Method parameters: 
   param name: pricingPlansSettings | type: PricingPlansSettings | description: Pricing Plans settings are the site-level settings that control how pricing plans are sold on a site. A site has a single Pricing Plans settings object, and it applies to every plan on the site. | required: true 
        - name: revision | type: string | description: Revision number, which increments by 1 each time the Pricing Plans settings are updated. To prevent conflicting changes, the current revision must be passed when updating the Pricing Plans settings. | required: true | read-only: true | validation: format int64
        - name: taxableAddress | type: TaxableAddress | description: Which of the site's addresses determines how tax is calculated for pricing plan purchases. Applies to every plan on the site.  If set to `BUSINESS` and the site has no business address configured, plan purchases fail until an address is added to the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).  Default: `BILLING`.  
             - enum:
             -     BILLING: Tax is calculated from the buyer's billing address, which the buyer supplies at checkout.
             -     BUSINESS: Tax is calculated from the site owner's business address, which is configured in the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).
        - name: extendedFields | type: ExtendedFields | description: Custom field data for the Pricing Plans settings object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.  
           - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).  | validation: format map
        - name: guestCheckoutSettings | type: GuestCheckoutSettings | description: Guest checkout settings, which control whether site visitors can buy a pricing plan without signing in as a site member.  
           - name: enabled | type: boolean | description: Whether site visitors can purchase a pricing plan without signing in as a site member. Applies to every plan on the site. When `false`, a visitor who selects any plan must sign in as a site member before they can complete the purchase.  Default: `false`.  
        - name: invoiceSettings | type: InvoiceSettings | description: Invoice settings, which control whether buyers automatically receive an invoice after paying for a pricing plan online.  
           - name: sendInvoiceOnPayment | type: boolean | description: Whether an invoice is automatically created and sent to the buyer each time an online payment for a pricing plan succeeds.  Applies only to subscriptions that weren't purchased with the eCommerce APIs.  Default: `false`.  
 Return type: PROMISE<PricingPlansSettings>
  - name: revision | type: string | description: Revision number, which increments by 1 each time the Pricing Plans settings are updated. To prevent conflicting changes, the current revision must be passed when updating the Pricing Plans settings.  | read-only: true | validation: format int64
  - name: _createdDate | type: Date | description: Date and time the site's Pricing Plans settings were created, which happens when the Wix Pricing Plans app is installed on the site.  For a site whose settings were never created, this is the date and time of the current read.  | read-only: true 
  - name: _updatedDate | type: Date | description: Date and time the site's Pricing Plans settings were last updated.  | read-only: true 
  - name: taxableAddress | type: TaxableAddress | description: Which of the site's addresses determines how tax is calculated for pricing plan purchases. Applies to every plan on the site.  If set to `BUSINESS` and the site has no business address configured, plan purchases fail until an address is added to the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).  Default: `BILLING`.  
     - enum:
     -     BILLING: Tax is calculated from the buyer's billing address, which the buyer supplies at checkout.
     -     BUSINESS: Tax is calculated from the site owner's business address, which is configured in the site's [business info](https://dev.wix.com/docs/rest/business-management/site-properties/introduction.md).
  - name: extendedFields | type: ExtendedFields | description: Custom field data for the Pricing Plans settings object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.  
     - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).  | validation: format map
  - name: guestCheckoutSettings | type: GuestCheckoutSettings | description: Guest checkout settings, which control whether site visitors can buy a pricing plan without signing in as a site member.  
     - name: enabled | type: boolean | description: Whether site visitors can purchase a pricing plan without signing in as a site member. Applies to every plan on the site. When `false`, a visitor who selects any plan must sign in as a site member before they can complete the purchase.  Default: `false`.  
  - name: invoiceSettings | type: InvoiceSettings | description: Invoice settings, which control whether buyers automatically receive an invoice after paying for a pricing plan online.  
     - name: sendInvoiceOnPayment | type: boolean | description: Whether an invoice is automatically created and sent to the buyer each time an online payment for a pricing plan succeeds.  Applies only to subscriptions that weren't purchased with the eCommerce APIs.  Default: `false`.  


```

### Examples

### Update Pricing Plans Settings
Calculates tax for plan purchases from the site's business address.

```javascript
import { pricingPlansSettings } from "@wix/pricing-plans";

async function updatePricingPlansSettings() {
  const response = await pricingPlansSettings.updatePricingPlansSettings({
    revision: "4",
    taxableAddress: "BUSINESS",
  });

  return response;
}

/* Promise resolves to:
 * {
 *   "revision": "5",
 *   "_createdDate": "2026-01-13T20:28:56.138Z",
 *   "_updatedDate": "2026-09-16T14:06:17.814Z",
 *   "taxableAddress": "BUSINESS"
 * }
 */

```

### updatePricingPlansSettings (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 { pricingPlansSettings } from '@wix/pricing-plans';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { pricingPlansSettings },
  // Include the auth strategy and host as relevant
});


async function updatePricingPlansSettings(pricingPlansSettings) {
  const response = await myWixClient.pricingPlansSettings.updatePricingPlansSettings(pricingPlansSettings);
};
```

---