REST Resource: monetization.subscriptions

Tài nguyên: Gói thuê bao

Một gói thuê bao cho một ứng dụng.

Biểu diễn dưới dạng JSON
{
  "packageName": string,
  "productId": string,
  "basePlans": [
    {
      object (BasePlan)
    }
  ],
  "listings": [
    {
      object (SubscriptionListing)
    }
  ],
  "archived": boolean,
  "taxAndComplianceSettings": {
    object (SubscriptionTaxAndComplianceSettings)
  },
  "restrictedPaymentCountries": {
    object (RestrictedPaymentCountries)
  }
}
Trường
packageName

string

Không thể thay đổi. Tên gói của ứng dụng mẹ.

productId

string

Không thể thay đổi. Mã sản phẩm duy nhất của sản phẩm. Riêng biệt trong ứng dụng mẹ. Mã sản phẩm phải bao gồm chữ viết thường (a-z), chữ số (0-9), dấu gạch dưới (_) và dấu chấm (.). Mã này phải bắt đầu bằng chữ viết thường hoặc chữ số và có độ dài từ 1 đến 40 ký tự (bao gồm cả dấu).

basePlans[]

object (BasePlan)

Tập hợp các gói cơ bản cho gói thuê bao này. Thể hiện giá và thời hạn của gói thuê bao nếu không có ưu đãi nào khác được áp dụng.

listings[]

object (SubscriptionListing)

Bắt buộc. Danh sách trang thông tin đã bản địa hoá cho gói thuê bao này. Phải chứa ít nhất một mục nhập cho ngôn ngữ mặc định của ứng dụng mẹ.

archived
(deprecated)

boolean

Chỉ có đầu ra. Ngừng sử dụng: không hỗ trợ tính năng lưu trữ gói thuê bao.

taxAndComplianceSettings

object (SubscriptionTaxAndComplianceSettings)

Thông tin chi tiết về thuế và việc tuân thủ pháp luật.

restrictedPaymentCountries

object (RestrictedPaymentCountries)

Không bắt buộc. Những quốc gia chỉ cho phép mua gói thuê bao này bằng phương thức thanh toán đã đăng ký tại quốc gia đó. Nếu bạn để trống, thì sẽ không có quy định hạn chế nào đối với địa điểm thanh toán.

BasePlan

Một gói cơ bản cho một gói thuê bao.

Biểu diễn dưới dạng JSON
{
  "basePlanId": string,
  "state": enum (State),
  "regionalConfigs": [
    {
      object (RegionalBasePlanConfig)
    }
  ],
  "offerTags": [
    {
      object (OfferTag)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsBasePlanConfig)
  },

  // Union field base_plan_type can be only one of the following:
  "autoRenewingBasePlanType": {
    object (AutoRenewingBasePlanType)
  },
  "prepaidBasePlanType": {
    object (PrepaidBasePlanType)
  },
  "installmentsBasePlanType": {
    object (InstallmentsBasePlanType)
  }
  // End of list of possible types for union field base_plan_type.
}
Trường
basePlanId

string

Bắt buộc. Không thể thay đổi. Giá trị nhận dạng duy nhất của gói cơ bản này. Phải là duy nhất trong gói thuê bao và tuân thủ RFC-1034. Tức là mã nhận dạng này chỉ được chứa chữ thường (a-z), chữ số (0-9) và dấu gạch nối (-), đồng thời có độ dài tối đa là 63 ký tự.

state

enum (State)

Chỉ có đầu ra. Trạng thái của gói cơ bản, tức là liệu gói đó có đang hoạt động hay không. Bạn có thể kích hoạt hoặc xoá các gói cơ bản ở trạng thái nháp và không hoạt động. Bạn có thể chuyển gói cơ bản đang hoạt động sang trạng thái không hoạt động. Bạn có thể huỷ các gói cơ bản không hoạt động. Bạn không thể thay đổi trường này bằng cách cập nhật tài nguyên. Thay vào đó, hãy sử dụng các điểm cuối chuyên dụng.

regionalConfigs[]

object (RegionalBasePlanConfig)

Thông tin theo khu vực cho gói cơ bản này.

offerTags[]

object (OfferTag)

Danh sách tối đa 20 thẻ tuỳ chỉnh được chỉ định cho gói cơ bản này và được trả về ứng dụng thông qua thư viện thanh toán. Ưu đãi thuê bao cho gói cơ bản này cũng sẽ nhận được các thẻ ưu đãi này trong thư viện thanh toán.

otherRegionsConfig

object (OtherRegionsBasePlanConfig)

Thông tin về giá cho mọi vị trí mới mà Play có thể ra mắt trong tương lai. Nếu bạn bỏ qua, BasePlan sẽ không tự động được cung cấp ở bất kỳ vị trí mới nào mà Play có thể ra mắt trong tương lai.

Trường hợp hợp nhất base_plan_type. Loại của gói cơ bản này. Bạn phải đặt đúng một giá trị. Loại gói cơ bản là không thể thay đổi sau khi tạo gói cơ bản. base_plan_type chỉ có thể là một trong những loại sau:
autoRenewingBasePlanType

object (AutoRenewingBasePlanType)

Đặt thời điểm gói cơ bản tự động gia hạn theo một khoảng thời gian đều đặn.

prepaidBasePlanType

object (PrepaidBasePlanType)

Đặt khi gói cơ bản không tự động gia hạn vào cuối kỳ thanh toán.

installmentsBasePlanType

object (InstallmentsBasePlanType)

Đặt cho các gói cơ bản trả góp mà người dùng cam kết thanh toán theo số lần nhất định.

Tiểu bang

Trạng thái hiện tại của một gói cơ bản.

Enum
STATE_UNSPECIFIED Trạng thái không xác định.
DRAFT Gói cơ bản hiện đang ở trạng thái bản nháp và chưa được kích hoạt. Bạn có thể xoá tệp này một cách an toàn tại thời điểm này.
ACTIVE Gói cơ bản đang hoạt động và người đăng ký mới có thể mua.
INACTIVE Gói cơ bản không hoạt động và chỉ dành cho người đăng ký hiện tại.

AutoRenewingBasePlanType

Biểu thị một gói cơ bản tự động gia hạn khi hết thời hạn thuê bao.

Biểu diễn dưới dạng JSON
{
  "billingPeriodDuration": string,
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode),
  "legacyCompatible": boolean,
  "legacyCompatibleSubscriptionOfferId": string
}
Trường
billingPeriodDuration

string

Bắt buộc. Không thể thay đổi. Kỳ hạn của gói thuê bao, được chỉ định ở định dạng ISO 8601. Để biết danh sách các kỳ thanh toán được chấp nhận, hãy tham khảo trung tâm trợ giúp. Thời lượng không thể thay đổi sau khi tạo gói cơ bản.

gracePeriodDuration

string

Thời gian gia hạn của gói thuê bao, được chỉ định ở định dạng ISO 8601. Giá trị được chấp nhận phải tính bằng ngày và nằm trong khoảng từ P0D đến giá trị nhỏ hơn giữa 30D và kỳ thanh toán của gói cơ bản.

Nếu bạn không chỉ định, hệ thống sẽ sử dụng giá trị mặc định dựa trên kỳ thanh toán.

Tổng thời gian ân hạn và thời gian tạm ngưng tài khoản phải nằm trong khoảng từ P30D đến P60D.

accountHoldDuration

string

Không bắt buộc. Thời gian tạm ngưng tài khoản của gói thuê bao, được chỉ định ở định dạng ISO 8601. Giá trị chấp nhận được phải tính bằng ngày và nằm trong khoảng từ P0D đến P60D.

Nếu bạn không chỉ định, giá trị mặc định sẽ là P30D.

Tổng thời gian ân hạn và thời gian tạm ngưng tài khoản phải nằm trong khoảng từ P30D đến P60D.

resubscribeState

enum (ResubscribeState)

Liệu người dùng có thể đăng ký lại gói cơ bản này trên các nền tảng của Google Play hay không. Mặc định là RESUBSCRIBE_STATE_ACTIVE nếu không được chỉ định.

prorationMode

enum (SubscriptionProrationMode)

Chế độ chia theo tỷ lệ cho gói cơ bản xác định những gì sẽ xảy ra khi người dùng chuyển sang gói này từ một gói cơ bản khác. Nếu không được chỉ định, giá trị mặc định sẽ là CHARGE_ON_NEXT_BILLING_DATE.

legacyCompatible

boolean

Liệu gói cơ bản gia hạn có tương thích ngược hay không.

Gói cơ bản tương thích ngược do phương thức querySkuDetailsAsync() trả về (Thư viện Google Play Billing không dùng phương thức này nữa).

Bạn chỉ có thể đánh dấu một gói cơ bản gia hạn là tương thích với phiên bản cũ cho một gói thuê bao nhất định.

legacyCompatibleSubscriptionOfferId

string

Mã ưu đãi gói thuê bao tương thích với phiên bản cũ.

Ưu đãi thuê bao tương thích ngược do phương thức querySkuDetailsAsync() trả về (Thư viện Google Play Billing không dùng phương thức này nữa).

Bạn chỉ có thể đánh dấu một ưu đãi gói thuê bao là tương thích với phiên bản cũ cho một gói cơ bản tự động gia hạn nhất định.

Để không có Ưu đãi thuê bao nào tương thích với gói cũ, hãy đặt trường này thành chuỗi trống.

ResubscribeState

Trạng thái đăng ký lại gói cơ bản.

Enum
RESUBSCRIBE_STATE_UNSPECIFIED Trạng thái không xác định.
RESUBSCRIBE_STATE_ACTIVE Tính năng đăng ký lại đang hoạt động.
RESUBSCRIBE_STATE_INACTIVE Lựa chọn Đăng ký lại không hoạt động.

SubscriptionProrationMode

Chế độ chia theo tỷ lệ dùng để gia hạn gói cơ bản.

Enum
SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED Chế độ không xác định.
SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE Người dùng sẽ thanh toán cho gói cơ bản mới vào cuối kỳ thanh toán hiện tại.
SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY Người dùng sẽ được tính phí toàn bộ và ngay lập tức cho gói cơ bản mới. Mọi khoảng thời gian còn lại trong gói thuê bao hiện tại của họ sẽ được dùng để gia hạn thời hạn của gói thanh toán mới.

PrepaidBasePlanType

Biểu thị một gói cơ bản không tự động gia hạn khi hết thời hạn và người dùng phải gia hạn theo cách thủ công.

Biểu diễn dưới dạng JSON
{
  "billingPeriodDuration": string,
  "timeExtension": enum (TimeExtension)
}
Trường
billingPeriodDuration

string

Bắt buộc. Không thể thay đổi. Kỳ hạn của gói thuê bao, được chỉ định ở định dạng ISO 8601. Để biết danh sách các kỳ thanh toán được chấp nhận, hãy tham khảo trung tâm trợ giúp. Thời lượng không thể thay đổi sau khi tạo gói cơ bản.

timeExtension

enum (TimeExtension)

Liệu người dùng có thể gia hạn gói cơ bản trả trước này trên các nền tảng của Google Play hay không. Giá trị mặc định là TIME_EXTENSION_ACTIVE nếu không được chỉ định.

TimeExtension

Gia hạn thời gian của gói cơ bản.

Enum
TIME_EXTENSION_UNSPECIFIED Trạng thái không xác định.
TIME_EXTENSION_ACTIVE Thời gian gia hạn đang hoạt động. Người dùng được phép nạp tiền hoặc gia hạn gói trả trước.
TIME_EXTENSION_INACTIVE Thời gian gia hạn không hoạt động. Người dùng không thể nạp tiền hoặc gia hạn gói trả trước.

InstallmentsBasePlanType

Biểu thị một gói cơ bản trả góp mà người dùng cam kết thanh toán theo số lần đã chỉ định.

Biểu diễn dưới dạng JSON
{
  "billingPeriodDuration": string,
  "committedPaymentsCount": integer,
  "renewalType": enum (RenewalType),
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode)
}
Trường
billingPeriodDuration

string

Bắt buộc. Không thể thay đổi. Kỳ hạn của gói thuê bao, được chỉ định ở định dạng ISO 8601. Để biết danh sách các kỳ thanh toán được chấp nhận, hãy tham khảo trung tâm trợ giúp. Bạn không thể thay đổi thời lượng sau khi tạo gói cơ bản.

committedPaymentsCount

integer

Bắt buộc. Không thể thay đổi. Số lần thanh toán mà người dùng cam kết. Bạn không thể thay đổi giá trị này sau khi tạo gói cơ bản.

renewalType

enum (RenewalType)

Bắt buộc. Không thể thay đổi. Loại hình gia hạn gói cơ bản trả góp. Xác định hành vi khi kết thúc cam kết ban đầu. Bạn không thể thay đổi loại gói gia hạn sau khi tạo gói cơ bản.

gracePeriodDuration

string

Thời gian gia hạn của gói thuê bao, được chỉ định ở định dạng ISO 8601. Giá trị được chấp nhận phải tính bằng ngày và nằm trong khoảng từ P0D đến thời hạn thanh toán của gói cơ bản (nhỏ hơn trong hai giá trị này).

Nếu bạn không chỉ định, hệ thống sẽ sử dụng giá trị mặc định dựa trên kỳ thanh toán.

Tổng thời gian ân hạn và thời gian tạm ngưng tài khoản phải nằm trong khoảng từ P30D đến P60D.

accountHoldDuration

string

Không bắt buộc. Thời gian tạm ngưng tài khoản của gói thuê bao, được chỉ định ở định dạng ISO 8601. Giá trị chấp nhận được phải tính bằng ngày và nằm trong khoảng từ P0D đến P60D.

Nếu bạn không chỉ định, giá trị mặc định sẽ là P30D.

Tổng thời gian ân hạn và thời gian tạm ngưng tài khoản phải nằm trong khoảng từ P30D đến P60D.

resubscribeState

enum (ResubscribeState)

Liệu người dùng có thể đăng ký lại gói cơ bản này trên các nền tảng của Google Play hay không. Mặc định là RESUBSCRIBE_STATE_ACTIVE nếu không được chỉ định.

prorationMode

enum (SubscriptionProrationMode)

Chế độ chia theo tỷ lệ cho gói cơ bản xác định những gì sẽ xảy ra khi người dùng chuyển sang gói này từ một gói cơ bản khác. Nếu không được chỉ định, giá trị mặc định sẽ là CHARGE_ON_NEXT_BILLING_DATE.

RenewalType

Loại hình gia hạn gói cơ bản trả góp. Xác định hành vi khi kết thúc cam kết ban đầu. Bạn không thể thay đổi loại gói gia hạn sau khi tạo gói cơ bản.

Enum
RENEWAL_TYPE_UNSPECIFIED Trạng thái không xác định.
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT Gia hạn định kỳ trong thời hạn của kỳ thanh toán mà không có cam kết.
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT Gia hạn với cam kết có thời hạn giống với cam kết ban đầu.

RegionalBasePlanConfig

Cấu hình cho một gói cơ bản dành riêng cho một khu vực.

Biểu diễn dưới dạng JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean,
  "price": {
    object (Money)
  }
}
Trường
regionCode

string

Bắt buộc. Mã vùng áp dụng cho cấu hình này, theo định nghĩa của ISO 3166-2, ví dụ: "US".

newSubscriberAvailability

boolean

Liệu người đăng ký mới có thể mua gói cơ bản ở khu vực đã chỉ định hay không. Gói thuê bao của người đăng ký hiện tại sẽ không bị huỷ nếu bạn đặt giá trị này thành false. Nếu bạn không chỉ định, giá trị mặc định sẽ là false.

price

object (Money)

Giá của gói cơ bản ở khu vực đã chỉ định. Bạn phải đặt giá trị này nếu người đăng ký mới có thể sử dụng gói cơ bản. Phải được đặt bằng đơn vị tiền tệ được liên kết với khu vực đã chỉ định.

OtherRegionsBasePlanConfig

Thông tin về giá cho mọi vị trí mới mà Play có thể ra mắt.

Biểu diễn dưới dạng JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  },
  "newSubscriberAvailability": boolean
}
Trường
usdPrice

object (Money)

Bắt buộc. Giá tính theo USD để sử dụng cho mọi vị trí mới mà Play có thể ra mắt.

eurPrice

object (Money)

Bắt buộc. Giá tính bằng EUR để sử dụng cho mọi vị trí mới mà Play có thể ra mắt.

newSubscriberAvailability

boolean

Liệu gói cơ bản có được cung cấp cho người đăng ký mới ở bất kỳ vị trí mới nào mà Play có thể ra mắt hay không. Nếu bạn không chỉ định, giá trị mặc định sẽ là false.

SubscriptionListing

Siêu dữ liệu mà người dùng có thể nhìn thấy của một gói thuê bao.

Biểu diễn dưới dạng JSON
{
  "languageCode": string,
  "title": string,
  "benefits": [
    string
  ],
  "description": string
}
Trường
languageCode

string

Bắt buộc. Ngôn ngữ của trang thông tin này, theo định nghĩa của BCP-47, ví dụ: "en-US".

title

string

Bắt buộc. Tiêu đề của gói thuê bao này bằng ngôn ngữ của trang thông tin này. Văn bản thuần tuý.

benefits[]

string

Danh sách các lợi ích được hiển thị cho người dùng trên các nền tảng như Cửa hàng Play và trong quy trình khôi phục bằng ngôn ngữ của trang thông tin này. Văn bản thuần tuý. Danh sách theo thứ tự gồm tối đa 4 lợi ích.

description

string

Nội dung mô tả gói thuê bao này bằng ngôn ngữ của trang thông tin này. Độ dài tối đa – 80 ký tự. Văn bản thuần tuý.

RestrictedPaymentCountries

Các quốc gia chỉ cho phép mua sản phẩm này bằng phương thức thanh toán đã đăng ký tại quốc gia đó. Nếu bạn để trống, thì sẽ không có quy định hạn chế nào đối với địa điểm thanh toán.

Biểu diễn dưới dạng JSON
{
  "regionCodes": [
    string
  ]
}
Trường
regionCodes[]

string

Bắt buộc. Mã vùng để áp dụng các quy định hạn chế thanh toán, theo định nghĩa của ISO 3166-2, ví dụ: "US".

Phương thức

archive
(deprecated)

Ngừng sử dụng: không hỗ trợ tính năng lưu trữ gói thuê bao.

batchGet

Đọc một hoặc nhiều gói thuê bao.

batchUpdate

Cập nhật một loạt gói thuê bao.

create

Tạo một gói thuê bao mới.

delete

Xoá một gói thuê bao.

get

Đọc một gói thuê bao.

list

Liệt kê tất cả gói thuê bao trong một ứng dụng nhất định.

patch

Cập nhật gói thuê bao hiện có.