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 về giao dịch mua gói thuê bao. Các mặt hàng trong cùng một giao dịch mua nên là tất cả các mặt hàng với Auto RenewingPlan hoặc tất cả trong thư 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 theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 liên kết với giao dịch mua gói thuê bao. Đối với đăng ký tự động gia hạn, đây là id đơn đặt hàng của đơn đặt hàng đăng ký nếu đơn đặt hàng đó chưa được gia hạn hoặc id đơn đặt hàng định kỳ gần 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 chưa hết hạn * Nâng cấp/hạ cấp từ mộ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 hoặc SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Chỉ xuất hiện nếu giao dịch mua gói thuê bao này là 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ụ 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 được thực hiện thông qua tính năng "Đăng ký bằng Google".

SubscriptionState

Các trạng thái tiềm năng của một gói thuê bao, chẳng hạn như gói thuê bao đang hoạt động hay đã bị huỷ. Các mặt hàng trong giao dịch mua gói thuê bao có thể là 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 Gói thuê bao đã được tạo 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ặt hàng đ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ì có ít nhất một mặt hàng đượ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 đang trong thời gian gia hạn.
SUBSCRIPTION_STATE_ON_HOLD Gói thuê bao đang 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 có autorenewEnabled được đặt thành false.
SUBSCRIPTION_STATE_EXPIRED Gói thuê bao đã hết hạn. Tất cả các mục đều có expiryTime trong quá khứ.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Giao dịch đang chờ xử lý của gói thuê bao đã bị huỷ. Nếu giao dịch mua đang chờ xử lý này là của một gói thuê bao hiện có, hãy sử dụng linkedPurchaseToken để nhận trạng thái hiện tại của gói thuê bao đó.

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 theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Thông tin cụ thể về gói thuê bao ở trạng thái SUBSCRIPTION_STATE_CANCELED hoặc SUBSCRIPTION_STATE_EXPIRED.

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 kết hợp cancellation_reason. Lý do huỷ gói thuê bao. 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ề các 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 điểm 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 thời điểm này. Sử dụng lineItems.expiry_time để xác định xem người dùng có còn quyền truy cập hay không.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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ề lý do 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 khảo sát về lý do huỷ tài khoản.

reasonUserInput

string

Chỉ đặt cho CANCEL_6_REASON_OTHER. Đâ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 khảo sát về lý do huỷ tài khoản.

Enum
CANCEL_SURVEY_REASON_UNSPECIFIED Lý do huỷ khảo sát không xác đị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 nào.

Thông tin cụ thể về các 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 nào.

Thông tin cụ thể về các yêu cầu huỷ do nhà phát triển đưa ra.

ReplacementCancellation

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

Thông tin cụ thể về các lượt huỷ do thay thế gói thuê bao.

TestPurchase

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

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 chưa được xác nhận.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Đã xác nhận gói thuê bao.

ExternalAccountIdentifiers

Giá trị nhận dạng tài khoản người dùng trong dịch vụ 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ụ bên thứ ba. Chỉ xuất hiện nếu hoạt động liên kết tài khoản diễn ra trong quy trình mua gói thuê bao.

obfuscatedExternalAccountId

string

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

obfuscatedExternalProfileId

string

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

SubscribeWithGoogleInfo

Thông tin liên quan đến các giao dịch mua được thực hiện qua 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 người dùng mua gói thuê bao.

profileName

string

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

emailAddress

string

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

givenName

string

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

familyName

string

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

SubscriptionPurchaseLineItem

Thông tin ở cấp mặt hàng về 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 đã mua (ví dụ: "monthly001").

expiryTime

string (Timestamp format)

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

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

Trường kết hợp 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 này đang tự động gia hạn.

prepaidPlan

object (PrepaidPlan)

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

offerDetails

object (OfferDetails)

Thông tin chi tiết về ưu đãi cho mặt hàng này.

Trường kết hợp deferred_item_change. Trường này xuất hiện khi một mục có thay đổi bị trì hoãn. Bạn có thể xoá hoặc thay thế dữ liệu đó. 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)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  }
}
Trường
autoRenewEnabled

boolean

Nếu gói thuê bao đang được đặt thành tự động gia hạn, ví dụ: 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 của mặt hàng kể từ khi đăng ký gói thuê bao.

installmentDetails

object (InstallmentPlan)

Cam kết của gói trả góp và thông tin liên quan đến tiểu bang đối với gói tự động gia hạn.

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 trong gói thuê bao.

priceChangeMode

enum (PriceChangeMode)

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

priceChangeState

enum (PriceChangeState)

Nêu rõ rằng giá đang 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 này có thể thay đổi(thành 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 sẵn nếu thay đổi về giá không có hiệu lực.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

PriceChangeMode

Chế độ thay đổi giá.

Enum
PRICE_CHANGE_MODE_UNSPECIFIED Chưa chỉ định chế độ thay đổi giá. Tuyệt đối không đặ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á này.
OPT_OUT_PRICE_INCREASE Nếu giá gói thuê bao tăng với chế độ chọn không áp 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á. Không nên sử dụng giá trị này.
OUTSTANDING Chờ người dùng đồng ý với việc thay đổi giá.
CONFIRMED Giá được xác nhận là thay đổi cho người dùng.
APPLIED Mức giá mới được áp dụng, tức là người dùng đã bắt đầu phải trả phí theo mức giá mới.

InstallmentPlan

Thông tin về gói trả góp.

Biểu diễn dưới dạng JSON
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
Trường
initialCommittedPaymentsCount

integer

Tổng số khoản thanh toán mà người dùng cam kết ban đầu.

subsequentCommittedPaymentsCount

integer

Tổng số lần thanh toán mà người dùng sẽ cam kết sau mỗi kỳ cam kết. Trường hợp trống có nghĩa là gói trả góp sẽ quay lại dùng hình thức gói thuê bao tự động gia hạn thông thường sau cam kết ban đầu.

remainingCommittedPaymentsCount

integer

Tổng số khoản thanh toán đã cam kết còn lại sẽ được thanh toán trong chu kỳ gia hạn này.

pendingCancellation

object (PendingCancellation)

Nếu có, gói trả góp này đang chờ huỷ. Việc huỷ sẽ chỉ xảy ra sau khi người dùng đã hoàn tất mọi khoản thanh toán đã cam kết.

PendingCancellation

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

Đây là chỉ báo cho biết có yêu cầu huỷ đang chờ xử lý đối với gói trả góp ảo hay không. Việc huỷ sẽ chỉ xảy ra sau khi người dùng đã hoàn tất mọi khoản thanh toán đã cam kết.

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à thời điểm mà sau đó các giao dịch nạp tiền được cho phép đối với gói trả trước. Các gói trả trước đã hết hạn sẽ không xuất hiện.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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ột mục hàng.

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 liên kết với ưu đãi. Gói này bao gồm các thẻ kế thừa từ gói cơ bản.

basePlanId

string

Mã gói cơ bản. Dùng cho tất cả gói cơ bản và ưu đãi.

offerId

string

Mã ưu đãi. Chỉ áp dụng cho ưu đãi chiết khấu.

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 tại.

Phương thức

get

Lấy 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.