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

Bất biến. Tên gói của ứng dụng mẹ.

productId

string

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

basePlans[]

object (BasePlan)

Tập hợp gói cơ bản của 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. Không dùng nữa: 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. Các quốc gia nơi người dùng chỉ có thể mua gói thuê bao này bằng các phương thức thanh toán đã đăng ký tại cùng một quốc gia. Nếu trống thì không có hạn chế về địa điểm thanh toán nào được áp dụng.

BasePlan

Một gói cơ bản duy nhất 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. Bất biến. 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 chỉ được dài tối đa 63 ký tự.

state

enum (State)

Chỉ có đầu ra. Trạng thái của gói cơ bản, tức là 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 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. Hãy chuyển sang sử dụng các điểm cuối chuyên dụng.

regionalConfigs[]

object (RegionalBasePlanConfig)

Thông tin theo khu vực cụ thể của gói cơ bản này.

offerTags[]

object (OfferTag)

Danh sách gồm 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 của 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 lựa chọn này, 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 kết hợp base_plan_type. Loại gói cơ bản này. Bạn phải đặt chính xác một. base_plan_type chỉ có thể là một trong những trạng thái sau đây:
autoRenewingBasePlanType

object (AutoRenewingBasePlanType)

Thiết lập thời điểm gói cơ bản tự động gia hạn theo định kỳ.

prepaidBasePlanType

object (PrepaidBasePlanType)

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

installmentsBasePlanType

object (InstallmentsBasePlanType)

Dành cho gói cơ bản trả góp, trong đó người dùng cam kết thanh toán một số tiền nhất định.

Tiểu bang

Trạng thái hiện tại của 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à được cung cấp cho người đăng ký mới.
INACTIVE Gói cơ bản hiện không hoạt động và chỉ được cung cấp cho những người đăng ký hiện tại.

AutoRenewingBasePlanType

Đại diện cho một gói cơ bản tự động gia hạn khi kết thúc kỳ 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. 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, vui lòng tham khảo trung tâm trợ giúp.

gracePeriodDuration

string

Thời gian ân hạn của gói thuê bao, được chỉ định ở định dạng ISO 8601. Giá trị được chấp nhận là P0D (không ngày), P3D (3 ngày), P7D (7 ngày), P14D (14 ngày) và P30D (30 ngày). Nếu không được chỉ định, hệ thống sẽ sử dụng giá trị mặc định dựa trên khoảng thời gian định kỳ.

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. Các giá trị được chấp nhận phải nằm trong khoảng từ DAYS đến P30D (30 ngày). Nếu không được chỉ định, giá trị mặc định sẽ là P30D (30 ngày).

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. Giá trị 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 này sẽ xác định những việc sẽ xảy ra khi người dùng chuyển từ một gói cơ bản khác sang gói cơ bản này. Nếu bạn không xác định, giá trị mặc định sẽ là CHARGE_ON_NEXT_BILLING_DATE.

legacyCompatible

boolean

Liệu gói cơ bản khi 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 gói thuê bao cũ cho một gói thuê bao cụ thể.

legacyCompatibleSubscriptionOfferId

string

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

Ưu đãi gó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).

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

Để không có Ưu đãi gói thuê bao nào là tương thích với phiên bản 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 Tính năng Đăng ký lại không hoạt động.

SubscriptionProrationMode

Chế độ chia theo tỷ lệ được 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ẽ trả phí 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ẽ trả phí cho gói cơ bản mới ngay lập tức và thanh toán đầy đủ. Mọi khoảng thời gian còn lại của gói thuê bao hiện tại sẽ được dùng để gia hạn gói thanh toán mới.

PrepaidBasePlanType

Thể hiện một gói cơ bản không tự động gia hạn khi kết thúc gói cơ bản và phải được người dùng 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. 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, vui lòng tham khảo trung tâm trợ giúp.

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 Phần mở rộng về thời gian đ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 Phần mở rộng về thời gian 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

Đại diện cho gói cơ bản trả góp trong đó người dùng cam kết thanh toán một số tiền cụ thể.

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. 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, vui lòng tham khảo trung tâm trợ giúp.

committedPaymentsCount

integer

Bắt buộc. Số lần thanh toán mà người dùng cam kết thực hiện.

renewalType

enum (RenewalType)

Bắt buộc. Loại gia hạn gói cơ bản trả góp. Xác định hành vi ở cuối cam kết ban đầu.

gracePeriodDuration

string

Thời gian ân hạn của gói thuê bao, được chỉ định ở định dạng ISO 8601. Giá trị được chấp nhận là P0D (không ngày), P3D (3 ngày), P7D (7 ngày), P14D (14 ngày) và P30D (30 ngày). Nếu không được chỉ định, hệ thống sẽ sử dụng giá trị mặc định dựa trên khoảng thời gian định kỳ.

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 riêng theo ngày và ở định dạng ISO 8601. Các giá trị có thể chấp nhận là P0D (không có ngày) đến P30D (30 ngày). Nếu không được chỉ định, giá trị mặc định sẽ là P30D (30 ngày).

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. Giá trị 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 này sẽ xác định những việc sẽ xảy ra khi người dùng chuyển từ một gói cơ bản khác sang gói cơ bản này. Nếu bạn không xác định, giá trị mặc định sẽ là CHARGE_ON_NEXT_BILLING_DATE.

RenewalType

Loại gia hạn gói cơ bản trả góp. Xác định hành vi ở cuối cam kết ban đầu.

Enum
RENEWAL_TYPE_UNSPECIFIED Trạng thái không xác định.
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT Gia hạn định kỳ cho khoảng thời gian của kỳ thanh toán mà không cần cam kết.
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT Gia hạn với cam kết có cùng thời hạn với lần đầu tiên.

RegionalBasePlanConfig

Cấu hình của 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 mà cấu hình này áp dụng, theo xác định trong ISO 3166-2, ví dụ: "Hoa Kỳ".

newSubscriberAvailability

boolean

Liệu người đăng ký mới có thể sử dụng gói cơ bản ở khu vực đã chỉ định hay không. Người đăng ký hiện tại sẽ không bị huỷ gói thuê bao nếu bạn đặt giá trị này thành false. Nếu không được 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 gói này nếu gói cơ bản này được cung cấp cho người đăng ký mới. Bạn phải đặt đơn vị tiền tệ 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 theo 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 này có được cung cấp cho người đăng ký mới ở bất cứ địa điểm mới nào mà Play có thể ra mắt hay không. Nếu không được chỉ định, giá trị mặc định sẽ là false.

SubscriptionListing

Siêu dữ liệu mà người tiêu dùng thấy về 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ụ: "vi-VN".

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 túy.

benefits[]

string

Danh sách lợi ích mà người dùng thấy 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 túy. 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 túy.

RestrictedPaymentCountries

Các quốc gia nơi bạn chỉ có thể mua sản phẩm này đối với những phương thức thanh toán đã đăng ký tại cùng một quốc gia. Nếu trống thì không có hạn chế về địa điểm thanh toán nào được áp dụng.

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

string

Bắt buộc. Các mã khu vực áp dụng các quy định hạn chế về thanh toán, ví dụ: tiêu chuẩn ISO 3166-2 "Hoa Kỳ".

Phương thức

archive
(deprecated)

Không dùng nữa: không hỗ trợ tính năng lưu trữ gói thuê bao.

batchGet

Đọc một hoặc nhiều kênh đăng ký.

batchUpdate

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

create

Tạo 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ả các gói thuê bao của một ứng dụng cụ thể.

patch

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