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 chuẩn 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ả các mặt hàng sử dụng Gói tự động gia hạn hoặc tất cả đều thuộc gói trả trước.

startTime

string (Timestamp format)

Thời điểm cấp gói thuê bao. Chưa đặ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 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 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 là một trong những loại sau: * Đăng ký lại một gói thuê bao đã huỷ nhưng không hết 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 thuê bao 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ề các gói thuê bao bị tạm dừng. Chỉ hiển thị nếu gói thuê bao hiện có subscriptionState SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Thông tin bổ sung về các gói thuê bao bị huỷ. Chỉ xuất hiện 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à 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 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 một 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ặ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ỉ áp dụng 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 gia hạn. Trạng thái này chỉ áp dụng 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 (bị tạm ngưng). Trạng thái này chỉ áp dụng 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ỉ áp dụng khi gói thuê bao là gói tự động gia hạn. Tất cả các mục đã tự động gia hạn đượ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 Đã huỷ giao dịch đang chờ xử lý của gói thuê bao. Nếu giao dịch mua đang chờ xử lý này là dành cho một gói thuê bao hiện có, hãy sử dụng linkedPurchaseToken để biết trạng thái hiện tại của gói thuê bao đó.

PausedStateContext

Thông tin cụ thể về 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 điểm 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 cụ thể của một 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 hợp 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:
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 sự cố 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 lượt 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 hoàn tất quy trình huỷ gói thuê bao (bản 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 gian này. Sử dụnglineItems.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ề 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ề quyết định huỷ gói thuê bao.

reasonUserInput

string

Chỉ được đặt cho CANCEL_REVIEW_REASON_OPTIONS. Đâ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ề quyết định huỷ gói thuê bao.

Enum
CANCEL_SURVEY_REASON_UNSPECIFIED Lý do huỷ bản khảo sát chưa được chỉ định.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Không có đủ mức sử dụng gói thuê bao.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Các 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 dành riêng cho các yêu cầu huỷ do hệ thống của Google khởi tạo.

DeveloperInitiatedCancellation

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

Thông tin cụ thể về các yêu cầu huỷ do nhà phát triển khởi tạo.

ReplacementCancellation

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

Thông tin cụ thể về các lượt huỷ do việc 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ó của một gói thuê bao.

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Trạng thái xác nhận chưa xác định.
ACKNOWLEDGEMENT_STATE_PENDING Gói thuê bao 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. 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 bị làm rối mã nguồn và được liên kết riêng 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: * Nếu việc 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, chỉ được liên kết 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 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 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 người dùng 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 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 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 đã mua (ví dụ: "monthly001").

expiryTime

string (Timestamp format)

Thời điểm gói thuê bao hết hạn hoặc sẽ hết hạn trừ phi người dùng được 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 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:
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)

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

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

object (DeferredItemReplacement)

Thông tin về yêu cầu 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 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 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 đăng ký.

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 nội dung đăng ký.

priceChangeMode

enum (PriceChangeMode)

Chế độ thay đổi giá chỉ định cách thay đổi giá của mặt hàng đăng ký.

priceChangeState

enum (PriceChangeState)

Nêu rõ mức thay đổi về giá hiện tại.

expectedNewPriceChargeTime

string (Timestamp format)

Thời gian gia hạn mà việc thay đổi 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 thay đổi thời gian gia hạn, 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

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 phải chấp nhận.
OPT_OUT_PRICE_INCREASE Trường hợp giá gói thuê bao tăng lên khi người dùng chọn không sử dụng chế độ này.

PriceChangeState

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

Enum
PRICE_CHANGE_STATE_UNSPECIFIED Chưa chỉ định trạng thái thay đổi giá. 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à có ảnh hưởng đến người dùng.
APPLIED Mức thay đổi giá sẽ được áp dụng, tức là người dùng bắt đầu phải trả 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ố khoản thanh toán mà người dùng sẽ được cam kết sau mỗi kỳ cam kết. Trống có nghĩa là gói trả góp sẽ quay về gói thuê bao tự động gia hạn thông thường sau lần 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 thành tất cả các khoản thanh toán đã cam kết.

PendingCancellation

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

Đây là chỉ báo cho biết gói trả góp ảo có đang chờ huỷ hay không. Việc huỷ sẽ chỉ xảy ra sau khi người dùng đã hoàn thành tất cả các 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à khoảng thời gian mà sau đó bạn được phép nạp tiền đối với gói trả trước. Tính năng này sẽ không xuất hiện đối với các gói trả trước đã hết 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".

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

basePlanId

string

Mã nhận dạng gói cơ bản. Hiển thị cho tất cả gói cơ bản và ưu đãi.

offerId

string

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

DeferredItemReplacement

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

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

string

Mã sản phẩm sẽ thay thế mã sản phẩm 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.