REST Resource: purchases.subscriptionsv2

Tài nguyên: SubscriptionPurchaseV2

Cho biết trạng thái giao dịch mua gói thuê bao của người dùng.

Biểu diễn dưới dạng JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  }
}
Trường
kind

string

Loại này đại diện cho đối tượng SubscriptionPurchaseV2 trong dịch vụ androidpublisher.

regionCode

string

Mã quốc gia/khu vực thanh toán theo ISO 3166-1 alpha-2 của người dùng tại thời điểm cấp gói thuê bao.

lineItems[]

object (SubscriptionPurchaseLineItem)

Thông tin ở cấp mặt hàng của một giao dịch mua gói thuê bao. Các mặt hàng trong cùng một giao dịch mua phải là tất cả đều sử dụng tính năng Tự động gia hạn hoặc tất cả đều thuộc gói trả trước.

startTime

string (Timestamp format)

Thời gian cấp gói thuê bao. Không được đặt cho các gói thuê bao đang chờ xử lý (gói thuê bao đã được tạo nhưng đang chờ thanh toán trong quá trình đăng ký).

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

Trạng thái hiện tại của gói thuê bao.

latestOrderId

string

Mã đơn hàng của đơn đặt hàng mới nhất được liên kết với giao dịch mua gói thuê bao. Đối với gói thuê bao tự động gia hạn, đây là mã đơn hàng của đơn đặt hàng đăng ký nếu đơn đặt hàng đó chưa được gia hạn, hoặc là mã đơn hàng định kỳ gần đây nhất (đơn đặt hàng thành công, đang chờ xử lý hoặc bị từ chối). Đối với gói thuê bao trả trước, đây là mã đơn hàng liên kết với mã thông báo giao dịch mua được truy vấn.

linkedPurchaseToken

string

Mã thông báo giao dịch mua của gói thuê bao cũ nếu gói thuê bao này thuộc một trong những trường hợp sau: * Đăng ký lại một gói thuê bao đã huỷ nhưng vẫn còn hiệu lực * Nâng cấp/hạ cấp từ gói thuê bao trước. * Chuyển đổi từ gói thuê bao trả trước sang gói thuê bao tự động gia hạn. * Chuyển đổi từ gói thuê bao tự động gia hạn sang gói trả trước. * Nạp tiền vào gói thuê bao trả trước.

pausedStateContext

object (PausedStateContext)

Thông tin bổ sung về gói thuê bao bị tạm dừng. Chỉ xuất hiện nếu gói thuê bao hiện có subscriptionState SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Thông tin bổ sung về gói thuê bao bị huỷ. Chỉ hiển thị nếu gói thuê bao hiện có subscriptionState SUBSCRIPTION_STATE_CANCELED.

testPurchase

object (TestPurchase)

Chỉ hiển thị nếu giao dịch mua gói thuê bao này là một giao dịch mua thử nghiệm.

acknowledgementState

enum (AcknowledgementState)

Trạng thái xác nhận của gói thuê bao.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Giá trị nhận dạng tài khoản người dùng trong dịch vụ của bên thứ ba.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Hồ sơ người dùng được liên kết với các giao dịch mua thực hiện bằng tính năng "Đăng ký bằng Google".

SubscriptionState

Các trạng thái tiềm năng của gói thuê bao, chẳng hạn như đang hoạt động hay đã huỷ. Các mục trong giao dịch mua gói thuê bao có thể là tất cả gói tự động gia hạn hoặc gói trả trước.

Enum
SUBSCRIPTION_STATE_UNSPECIFIED Trạng thái gói thuê bao chưa được chỉ định.
SUBSCRIPTION_STATE_PENDING Đã tạo gói thuê bao nhưng đang chờ thanh toán trong quá trình đăng ký. Ở trạng thái này, tất cả các mục đều đang chờ thanh toán.
SUBSCRIPTION_STATE_ACTIVE Gói thuê bao đang hoạt động. – (1) Nếu gói thuê bao là gói tự động gia hạn, thì ít nhất một mặt hàng sẽ được tự động gia hạn và chưa hết hạn. – (2) Nếu gói thuê bao là gói trả trước, thì có ít nhất một mặt hàng chưa hết hạn.
SUBSCRIPTION_STATE_PAUSED Gói thuê bao đã bị tạm dừng. Trạng thái này chỉ xuất hiện khi gói thuê bao là gói tự động gia hạn. Ở trạng thái này, tất cả các mục đều ở trạng thái tạm dừng.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Gói thuê bao đang trong thời gian ân hạn. Trạng thái này chỉ xuất hiện khi gói thuê bao là gói tự động gia hạn. Ở trạng thái này, tất cả các mục đều trong thời gian ân hạn.
SUBSCRIPTION_STATE_ON_HOLD Gói thuê bao đang bị tạm ngưng (bị tạm ngưng). Trạng thái này chỉ xuất hiện khi gói thuê bao là gói tự động gia hạn. Ở trạng thái này, tất cả các mục đều đang ở trạng thái treo.
SUBSCRIPTION_STATE_CANCELED Gói thuê bao đã bị huỷ nhưng chưa hết hạn. Trạng thái này chỉ xuất hiện khi gói thuê bao là gói tự động gia hạn. Tất cả các mục đều có auto RenewEnabled đặt thành false.
SUBSCRIPTION_STATE_EXPIRED Gói thuê bao đã hết hạn. Tất cả các mục đều có Thời gian hết hạn đã qua.

PausedStateContext

Thông tin dành riêng cho một gói thuê bao ở trạng thái tạm dừng.

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

string (Timestamp format)

Thời gian tự động tiếp tục gói thuê bao.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Thông tin dành riêng cho một gói thuê bao ở trạng thái đã huỷ.

Biểu diễn dưới dạng JSON
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
Trường
Trường nhóm cancellation_reason. Lý do gói thuê bao bị huỷ. cancellation_reason chỉ có thể là một trong những trạng thái sau đây:
userInitiatedCancellation

object (UserInitiatedCancellation)

Người dùng đã huỷ gói thuê bao.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

Gói thuê bao đã bị hệ thống huỷ, chẳng hạn như do vấn đề thanh toán.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

Nhà phát triển đã huỷ gói thuê bao.

replacementCancellation

object (ReplacementCancellation)

Gói thuê bao đã được thay thế bằng một gói thuê bao mới.

UserInitiatedCancellation

Thông tin cụ thể về yêu cầu huỷ do người dùng thực hiện.

Biểu diễn dưới dạng JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Trường
cancelSurveyResult

object (CancelSurveyResult)

Thông tin do người dùng cung cấp khi họ hoàn tất quy trình huỷ gói thuê bao (khảo sát về lý do huỷ).

cancelTime

string (Timestamp format)

Thời gian người dùng huỷ gói thuê bao. Người dùng có thể vẫn có quyền truy cập vào gói thuê bao sau khoảng thời gian này. Sử dụng lineItems.expiry_time để xác định xem người dùng còn có quyền truy cập hay không.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Kết quả của khảo sát về việc huỷ gói thuê bao khi người dùng huỷ gói thuê bao.

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

enum (CancelSurveyReason)

Lý do mà người dùng đã chọn trong bản khảo sát về quyết định huỷ gói thuê bao.

reasonUserInput

string

Chỉ đặt cho CANCEL_play_REASON_REASON. Đây là câu trả lời dạng tự do của người dùng cho bản khảo sát.

CancelSurveyReason

Lý do mà người dùng đã chọn trong bản khảo sát về quyết định huỷ gói thuê bao.

Enum
CANCEL_SURVEY_REASON_UNSPECIFIED Lý do huỷ khảo sát chưa được chỉ định.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Không đủ mức sử dụng gói thuê bao.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Vấn đề kỹ thuật khi dùng ứng dụng.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP Người dùng tìm thấy ứng dụng tốt hơn.
CANCEL_SURVEY_REASON_OTHERS Lý do khác.

SystemInitiatedCancellation

Loại này không có trường.

Thông tin cụ thể về yêu cầu huỷ do hệ thống của Google thực hiện.

DeveloperInitiatedCancellation

Loại này không có trường.

Thông tin dành riêng cho các yêu cầu huỷ do nhà phát triển thực hiện.

ReplacementCancellation

Loại này không có trường.

Thông tin cụ thể về việc huỷ do thay thế gói thuê bao.

TestPurchase

Loại này không có trường.

Liệu giao dịch mua gói thuê bao này có phải là giao dịch mua thử nghiệm hay không.

AcknowledgementState

Các trạng thái xác nhận có thể có cho một gói thuê bao.

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Trạng thái xác nhận chưa được chỉ định.
ACKNOWLEDGEMENT_STATE_PENDING Gói thuê bao này chưa được xác nhận.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Gói thuê bao được xác nhận.

ExternalAccountIdentifiers

Giá trị nhận dạng tài khoản người dùng trong dịch vụ của bên thứ ba.

Biểu diễn dưới dạng JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Trường
externalAccountId

string

Giá trị nhận dạng tài khoản người dùng trong dịch vụ của bên thứ ba. Thông tin này chỉ xuất hiện nếu việc liên kết tài khoản diễn ra trong quy trình mua gói thuê bao.

obfuscatedExternalAccountId

string

Phiên bản mã nhận dạng làm rối mã nguồn được liên kết duy nhất với một tài khoản của người dùng trong ứng dụng của bạn. Có thể dùng cho các giao dịch mua sau: * Nếu quy trình liên kết tài khoản diễn ra trong quy trình mua gói thuê bao. * Mã này được chỉ định bằng https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid khi giao dịch mua được thực hiện.

obfuscatedExternalProfileId

string

Phiên bản mã nhận dạng làm rối mã nguồn được liên kết riêng với hồ sơ của người dùng trong ứng dụng của bạn. Chỉ xuất hiện nếu được chỉ định bằng cách sử dụng https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid khi giao dịch mua được thực hiện.

SubscribeWithGoogleInfo

Thông tin liên quan đến các giao dịch mua thực hiện bằng tính năng "Đăng ký bằng Google".

Biểu diễn dưới dạng JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Trường
profileId

string

Mã hồ sơ trên Google của người dùng khi mua gói thuê bao.

profileName

string

Tên hồ sơ của người dùng khi gói thuê bao được mua.

emailAddress

string

Địa chỉ email của người dùng khi gói thuê bao được mua.

givenName

string

Tên của người dùng khi gói thuê bao được mua.

familyName

string

Họ của người dùng khi gói thuê bao được mua.

SubscriptionPurchaseLineItem

Thông tin ở cấp mặt hàng của một giao dịch mua gói thuê bao.

Biểu diễn dưới dạng JSON
{
  "productId": string,
  "expiryTime": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  }
  // End of list of possible types for union field deferred_item_change.
}
Trường
productId

string

Mã sản phẩm được mua (ví dụ: "monthly001").

expiryTime

string (Timestamp format)

Thời gian mà gói thuê bao hết hạn hoặc sẽ hết hạn trừ phi người dùng gia hạn quyền truy cập (ví dụ: gia hạn).

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

Trường nhóm plan_type. Loại gói thuê bao. plan_type chỉ có thể là một trong những trạng thái sau đây:
autoRenewingPlan

object (AutoRenewingPlan)

Mặt hàng sẽ tự động gia hạn.

prepaidPlan

object (PrepaidPlan)

Mặt hàng được trả trước.

offerDetails

object (OfferDetails)

Chi tiết ưu đãi cho mặt hàng này.

Trường nhóm deferred_item_change. Trường này sẽ xuất hiện khi một mục có thay đổi bị trì hoãn. Thành phần này có thể bị xoá hoặc thay thế. deferred_item_change chỉ có thể là một trong những trạng thái sau đây:
deferredItemReplacement

object (DeferredItemReplacement)

Thông tin về việc thay thế mặt hàng bị hoãn.

AutoRenewingPlan

Thông tin liên quan đến gói tự động gia hạn.

Biểu diễn dưới dạng JSON
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  }
}
Trường
autoRenewEnabled

boolean

Nếu gói thuê bao hiện được đặt thành tự động gia hạn, chẳng hạn như người dùng chưa huỷ gói thuê bao

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Thông tin về lần thay đổi giá gần đây nhất cho mặt hàng kể từ khi đăng ký gói thuê bao.

SubscriptionItemPriceChangeDetails

Thông tin liên quan đến việc thay đổi giá của một mục trong gói thuê bao.

Biểu diễn dưới dạng JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Trường
newPrice

object (Money)

Giá định kỳ mới cho mục gói thuê bao.

priceChangeMode

enum (PriceChangeMode)

Chế độ thay đổi giá chỉ định cách thay đổi giá của mặt hàng trong gói thuê bao.

priceChangeState

enum (PriceChangeState)

Nêu rõ mức giá đang có thay đổi.

expectedNewPriceChargeTime

string (Timestamp format)

Thời điểm gia hạn mà thay đổi về giá sẽ có hiệu lực đối với người dùng. Thời gian gia hạn có thể thay đổi(sang một thời điểm trong tương lai) do các trường hợp mà thời gian gia hạn thay đổi, chẳng hạn như tạm dừng. Trường này chỉ được điền nếu thay đổi về giá chưa có hiệu lực.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

PriceChangeMode

Phương thức thay đổi giá.

Enum
PRICE_CHANGE_MODE_UNSPECIFIED Chưa xác định chế độ thay đổi giá. Bạn không được đặt giá trị này.
PRICE_DECREASE Nếu giá gói thuê bao giảm.
PRICE_INCREASE Nếu giá gói thuê bao tăng và người dùng cần chấp nhận mức giá đó.
OPT_OUT_PRICE_INCREASE Nếu giá gói thuê bao tăng khi bạn dùng chế độ chọn không sử dụng.

PriceChangeState

Trạng thái thay đổi giá.

Enum
PRICE_CHANGE_STATE_UNSPECIFIED Chưa xác định trạng thái thay đổi giá. Bạn không nên sử dụng giá trị này.
OUTSTANDING Đang chờ người dùng đồng ý với việc thay đổi giá.
CONFIRMED Việc thay đổi giá được xác nhận là sẽ áp dụng cho người dùng.
APPLIED Mức thay đổi về giá được áp dụng, tức là người dùng đã bắt đầu phải trả mức giá mới.

PrepaidPlan

Thông tin liên quan đến gói trả trước.

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

string (Timestamp format)

Nếu có, đây là khoảng thời gian mà sau đó bạn được phép nạp tiền đối với gói trả trước. Các gói trả trước đã hết hạn sẽ không được cung cấp.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

OfferDetails

Thông tin chi tiết về ưu đãi liên quan đến mục hàng đã mua.

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

string

Các thẻ ưu đãi mới nhất được liên kết với ưu đãi. Gói này bao gồm những thẻ kế thừa từ gói cơ bản.

basePlanId

string

Mã gói cơ bản. Hiển thị với tất cả các gói cơ bản và ưu đãi.

offerId

string

Mã ưu đãi. Chỉ áp dụng cho ưu đãi giảm giá.

DeferredItemReplacement

Thông tin liên quan đến việc thay thế mặt hàng bị hoãn.

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

string

productId sẽ thay thế productId hiện có.

Phương thức

get

Xem siêu dữ liệu về gói thuê bao

revoke

Thu hồi giao dịch mua gói thuê bao của người dùng.