All Products
Search
Document Center

Expenses and Costs:GetSubscriptionPrice

Last Updated:Sep 03, 2026

Queries the price of a subscription product.

Operation description

  1. Call QueryProductList to obtain the product code. For more information, see Query product information.

  2. Call the DescribePricingModule operation to obtain the configuration parameters of the product. For more information, see Query pricing module information.

  3. Call this operation to obtain the price of a subscription product based on the queried product configuration parameters.

  4. Concatenate the Config under ModuleList based on the config returned by the DescribePricingModule operation. Do not omit any configuration items. Otherwise, the price query fails.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

bss:DescribePrice

get

*All Resource

*

  • bssapi:ProductCode
  • bssapi:ProductType
None

Request parameters

Parameter

Type

Required

Description

Example

ServicePeriodUnit

string

No

The unit of the service duration. Valid values:

  • Year

  • Month

Year

SubscriptionType

string

Yes

The subscription type. Valid values: Subscription.

Subscription

ProductCode

string

Yes

The product code.

ecs

OrderType

string

Yes

The order type. Valid values:

  • NewOrder: new purchase.

  • Renewal: renewal.

  • Upgrade: upgrade.

NewOrder

ServicePeriodQuantity

integer

No

The service duration.

1

ProductType

string

No

The product type. Whether this parameter is required depends on the pricing documentation of the specific product.

ecs

Region

string

No

The region ID of the instance.

cn-hangzhou

InstanceId

string

No

The ID of the instance for which you want to query the price. This parameter is required for upgrade scenarios and is used to obtain the instance configuration before the upgrade.

i-khkjhxxxxxxxxx

Quantity

integer

No

The quantity.

1

ModuleList

array<object>

Yes

The list of pricing modules.

object

No

ModuleStatus

integer

No

The change status of the pricing module. This parameter is required only when OrderType is set to Upgrade. Valid values:

  • 1: new.

  • 2: changed. In upgrade scenarios, if the configuration of a pricing module changes, you must set this parameter to 2.

Default value: 1.

1

ModuleCode

string

Yes

The module code of the Nth pricing module.

PackageCode

Tag

string

No

The identifier of a specific resource. This parameter is required only for upgrade or specification change scenarios of certain products. For example, for cloud disk specification changes, Tag specifies the ID of the specific cloud disk.

213213123

Config

string

Yes

The configuration of the Nth pricing module. Valid values of N: 1 to 50. Format: "AA:aa,BB:bb", where AA and BB are the property codes of the pricing module, and aa and bb are the property values.

PackageCode:version_1

Response elements

Element

Type

Description

Example

object

Code

string

The status code.

InvalidConfigCod

Message

string

The error message.

Successful

RequestId

string

The request ID.

30E7066E-AE6F-4E59-AFE6-11386CE3AFA7

Success

boolean

Indicates whether the request was successful.

true

Data

object

The product price information.

OriginalPrice

number

The original price.

900

DiscountPrice

number

The discount amount.

100

Currency

string

The currency. Valid values:

  • CNY: Chinese Yuan.

  • USD: US Dollar.

  • JPY: Japanese Yen.

CNY

Quantity

integer

The quantity.

1

TradePrice

number

The discounted price.

0

ModuleDetails

object

ModuleDetail

array<object>

The pricing module price details.

object

CostAfterDiscount

number

The discounted price.

0

InvoiceDiscount

number

The discount amount.

100

UnitPrice

number

[Deprecated] The unit price.

0

OriginalCost

number

The original price.

200

ModuleCode

string

The pricing module code.

PackageCode

PromotionDetails

object

PromotionDetail

array<object>

The promotion details.

object

PromotionDesc

string

The promotion description.

test

PromotionId

integer

The promotion ID.

1021199213

PromotionName

string

The promotion name.

test

Examples

Success response

JSON format

{
  "Code": "InvalidConfigCod",
  "Message": "Successful",
  "RequestId": "30E7066E-AE6F-4E59-AFE6-11386CE3AFA7",
  "Success": true,
  "Data": {
    "OriginalPrice": 900,
    "DiscountPrice": 100,
    "Currency": "CNY",
    "Quantity": 1,
    "TradePrice": 0,
    "ModuleDetails": {
      "ModuleDetail": [
        {
          "CostAfterDiscount": 0,
          "InvoiceDiscount": 100,
          "UnitPrice": 0,
          "OriginalCost": 200,
          "ModuleCode": "PackageCode"
        }
      ]
    },
    "PromotionDetails": {
      "PromotionDetail": [
        {
          "PromotionDesc": "test",
          "PromotionId": 1021199213,
          "PromotionName": "test"
        }
      ]
    }
  }
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.