- Tài nguyên: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- Phương thức
Tài nguyên: SubscriptionPurchaseV2
Cho biết trạng thái của 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 ( |
Trường | |
---|---|
kind |
Loại này đại diện cho một đối tượng SubscriptionPurchaseV2 trong dịch vụ androidpublisher. |
regionCode |
Mã quốc gia/khu vực thanh toán gồm 2 chữ cái theo chuẩn ISO 3166-1 của người dùng tại thời điểm cấp gói thuê bao. |
lineItems[] |
Thông tin ở cấp mặt hàng cho 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 đều là AutoRenewingPlan hoặc đều là PrepaidPlan. |
startTime |
Thời điểm 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ý). Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
subscriptionState |
Trạng thái hiện tại của gói thuê bao. |
latestOrderId |
Không dùng nữa: Thay vào đó, hãy dùng lineItems.latest_successful_order_id. Mã đơn đặt 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 autoRenewing, đây là mã đơ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 mã đơn đặt 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 đặt hàng được liên kết với mã thông báo giao dịch mua được truy vấn. |
linkedPurchaseToken |
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 các trường hợp sau: * Đăng ký lại gói thuê bao đã huỷ nhưng chưa hết hạn * 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 từ gói thuê bao tự động gia hạn sang gói trả trước. * Nạp tiền cho gói thuê bao trả trước. |
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 là SUBSCRIPTION_STATE_PAUSED. |
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 là SUBSCRIPTION_STATE_CANCELED hoặc SUBSCRIPTION_STATE_EXPIRED. |
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 |
Trạng thái xác nhận của 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. |
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 bằng tính năng "Đăng ký qua Google". |
SubscriptionState
Các trạng thái có thể có của một gói thuê bao, ví dụ: gói thuê bao đang hoạt động hay đã bị huỷ. Các mặt hàng trong một giao dịch mua gói thuê bao có thể là tất cả cá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 xác đị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 đề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ục có thuộc tính autoRenewEnabled và chưa hết hạn. – (2) Nếu gói thuê bao là gói trả trước, thì ít nhất một mặt hàng chưa hết hạn. |
SUBSCRIPTION_STATE_PAUSED |
Gói thuê bao đã tạm dừng. Trạng thái này chỉ có 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ỉ có khi gói thuê bao là gói tự động gia hạn. Trong trạng thái này, tất cả các mặt hàng đều đang trong thời gian ân hạn. |
SUBSCRIPTION_STATE_ON_HOLD |
Gói thuê bao bị tạm dừng (bị tạm ngưng). Trạng thái này chỉ có 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 chờ xử lý. |
SUBSCRIPTION_STATE_CANCELED |
Gói thuê bao đã bị huỷ nhưng chưa hết hạn. Trạng thái này chỉ có khi gói thuê bao là gói tự động gia hạn. Tất cả các mục đều 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ý đối với gói thuê bao đã bị huỷ. Nếu giao dịch mua đang chờ xử lý này là cho một gói thuê bao hiện có, hãy dùng linkedPurchaseToken để biết 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 |
Thời điểm gói thuê bao sẽ tự động tiếp tục. Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
CanceledStateContext
Thông tin cụ thể về 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 |
Trường | |
---|---|
Trường nhóm 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: |
|
userInitiatedCancellation |
Người dùng đã huỷ gói thuê bao. |
systemInitiatedCancellation |
Hệ thống đã huỷ gói thuê bao, chẳng hạn như do vấn đề về việc thanh toán. |
developerInitiatedCancellation |
Nhà phát triển đã huỷ gói thuê bao. |
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 ( |
Trường | |
---|---|
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 lý do huỷ). |
cancelTime |
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ụng lineItems.expiry_time để xác định xem người dùng còn quyền truy cập hay không. Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
CancelSurveyResult
Kết quả của khảo sát huỷ khi người dùng huỷ gói thuê bao.
Biểu diễn dưới dạng JSON |
---|
{
"reason": enum ( |
Trường | |
---|---|
reason |
Lý do mà người dùng chọn trong khảo sát về lý do huỷ. |
reasonUserInput |
Chỉ đặt cho CANCEL_SURVEY_REASON_OTHERS. Đây là câu trả lời dạng tự do của người dùng cho khảo sát. |
CancelSurveyReason
Lý do mà người dùng chọn trong khảo sát về lý do huỷ.
Enum | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED |
Chưa xác định lý do huỷ khảo sát. |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE |
Gói thuê bao không được sử dụng đủ. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES |
Vấn đề kỹ thuật khi dùng ứng dụng. |
CANCEL_SURVEY_REASON_COST_RELATED |
Vấn đề liên quan đến chi phí. |
CANCEL_SURVEY_REASON_FOUND_BETTER_APP |
Người dùng tìm thấy một ứng dụng tốt hơn. |
CANCEL_SURVEY_REASON_OTHERS |
Các lý do khác. |
SystemInitiatedCancellation
Loại này không có trường nào.
Thông tin cụ thể về các trường hợp 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 trường hợp huỷ do nhà phát triển thực hiện.
ReplacementCancellation
Loại này không có trường nào.
Thông tin cụ thể về các trường hợp 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ó đối với 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 |
Bạn chưa xác nhận gói thuê bao. |
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ụ bên thứ ba.
Biểu diễn dưới dạng JSON |
---|
{ "externalAccountId": string, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string } |
Trường | |
---|---|
externalAccountId |
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 quá trình liên kết tài khoản diễn ra trong quy trình mua gói thuê bao. |
obfuscatedExternalAccountId |
Một phiên bản bị làm rối của mã nhận dạng đượ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. Xuất hiện 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. * Đượ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 |
Một phiên bản bị làm rối mã nguồn của mã nhận dạng được liên kết riêng biệt với hồ sơ 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 các giao dịch mua được thực hiện bằng tính năng "Đăng ký qua Google".
Biểu diễn dưới dạng JSON |
---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
Trường | |
---|---|
profileId |
Mã nhận dạng hồ sơ Google của người dùng khi họ mua gói thuê bao. |
profileName |
Tên hồ sơ của người dùng khi mua gói thuê bao. |
emailAddress |
Địa chỉ email của người dùng khi mua gói thuê bao. |
givenName |
Tên của người dùng khi mua gói thuê bao. |
familyName |
Họ của người dùng khi mua gói thuê bao. |
SubscriptionPurchaseLineItem
Thông tin ở cấp mặt hàng cho giao dịch mua gói thuê bao.
Biểu diễn dưới dạng JSON |
---|
{ "productId": string, "expiryTime": string, "latestSuccessfulOrderId": string, // Union field |
Trường | |
---|---|
productId |
Mã sản phẩm đã mua (ví dụ: "monthly001"). |
expiryTime |
Thời gian 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). Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
latestSuccessfulOrderId |
Mã đơn đặt hàng của đơn đặt hàng thành công gần đây nhất được liên kết với mặt hàng này. Không có nếu người dùng chưa sở hữu mặt hàng (ví dụ: mặt hàng đang được thay thế có hoãn lại). |
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: |
|
autoRenewingPlan |
Mặt hàng này tự động gia hạn. |
prepaidPlan |
Mặt hàng này được trả trước. |
offerDetails |
Thông tin chi tiết về ưu đãi cho mặt hàng này. |
Trường nhóm deferred_item_change . Trường này xuất hiện khi một mục có thay đổi bị hoãn lạ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 |
Thông tin về việc thay thế mặt hàng bị hoãn. |
deferredItemRemoval |
Thông tin về việc xoá mục bị hoãn. |
signupPromotion |
Thông tin chi tiết về chương trình khuyến mãi của mặt hàng này. Chỉ đặt nếu bạn đã áp dụng chương trình khuyến mãi trong quá trình đăng ký. |
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, "recurringPrice": { object ( |
Trường | |
---|---|
autoRenewEnabled |
Nếu gói thuê bao hiện đang được đặt ở chế độ tự động gia hạn, tức là người dùng chưa huỷ gói thuê bao |
recurringPrice |
Giá định kỳ hiện tại của gói tự động gia hạn. Xin lưu ý rằng giá không tính đến chiết khấu và không bao gồm thuế đối với giá chưa bao gồm thuế, vui lòng gọi API |
priceChangeDetails |
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ý thuê bao. |
installmentDetails |
Thông tin về cam kết và trạng thái của gói trả góp liên quan đến 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ặt hàng thuê bao.
Biểu diễn dưới dạng JSON |
---|
{ "newPrice": { object ( |
Trường | |
---|---|
newPrice |
Giá định kỳ mới cho mặt hàng thuê bao. |
priceChangeMode |
Chế độ thay đổi giá chỉ định cách giá của mặt hàng thuê bao thay đổi. |
priceChangeState |
Nêu rõ trạng thái hiện tại của việc thay đổi giá. |
expectedNewPriceChargeTime |
Thời điểm gia hạn mà mức giá mới sẽ có hiệu lực đối với người dùng. Thời gian này có thể thay đổi(sang một thời điểm trong tương lai) trong trường hợp thời gian gia hạn bị thay đổi, chẳng hạn như khi bạn tạm dừng. Trường này chỉ được điền sẵn nếu thay đổi giá chưa có hiệu lực. Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
PriceChangeMode
Chế độ thay đổi giá.
Enum | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
Bạn chưa chỉ định chế độ thay đổi giá. Bạn không bao giờ đượ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 ở chế độ người dùng chọn không đồng ý. |
PriceChangeState
Trạng thái của sự thay đổi về giá.
Enum | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED |
Trạng thái thay đổi giá chưa xác định. 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 |
Người dùng xác nhận rằng họ sẽ thay đổi giá. |
APPLIED |
Thay đổi về giá được áp dụng, tức là người dùng đã bắt đầu trả phí theo giá mới. |
CANCELED |
Đã huỷ thay đổi giá. |
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 ( |
Trường | |
---|---|
initialCommittedPaymentsCount |
Tổng số khoản thanh toán mà người dùng cam kết ban đầu. |
subsequentCommittedPaymentsCount |
Tổng số khoản thanh toán mà người dùng sẽ cam kết sau mỗi khoảng thời gian cam kết. Empty có nghĩa là gói trả góp sẽ chuyển về gói thuê bao tự động gia hạn thông thường sau cam kết ban đầu. |
remainingCommittedPaymentsCount |
Tổng số khoản thanh toán cam kết còn lại cần thanh toán trong chu kỳ gia hạn này. |
pendingCancellation |
Nếu có, gói trả góp này đang chờ bị huỷ. Yêu cầu huỷ chỉ được thực hiện sau khi người dùng hoàn tất tất cả các 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 liệu có yêu cầu huỷ nào đang chờ xử lý đối với kế hoạch trả góp ảo hay không. Yêu cầu huỷ chỉ được thực hiện sau khi người dùng hoàn tất 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 |
Nếu có, đây là thời gian sau đó người dùng có thể mua gói nạp tiền cho gói trả trước. Sẽ không xuất hiện đối với các gói trả trước đã hết hạn. Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
OfferDetails
Thông tin chi tiết về ưu đãi liên quan đến một mục hàng mua.
Biểu diễn dưới dạng JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Trường | |
---|---|
offerTags[] |
Các thẻ ưu đãi mới nhất được liên kết với ưu đãi. Thẻ này bao gồm các thẻ được kế thừa từ gói cơ bản. |
basePlanId |
Mã gói cơ bản. Có cho tất cả gói cơ bản và ưu đãi. |
offerId |
Mã ưu đãi. Chỉ xuất hiện cho các ư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 |
productId sẽ thay thế productId hiện có. |
DeferredItemRemoval
Loại này không có trường nào.
Thông tin liên quan đến việc thay thế mặt hàng bị hoãn.
SignupPromotion
Chương trình khuyến mãi được áp dụng cho mặt hàng này khi mua.
Biểu diễn dưới dạng JSON |
---|
{ // Union field |
Trường | |
---|---|
Trường nhóm promotion_type . Loại chương trình khuyến mãi được áp dụng cho mặt hàng. promotion_type chỉ có thể là một trong những trạng thái sau: |
|
oneTimeCode |
Một mã sử dụng một lần đã được áp dụng. |
vanityCode |
Đã áp dụng mã nhận dạng tuỳ chỉnh. |
OneTimeCode
Loại này không có trường nào.
Mã khuyến mãi dùng một lần.
VanityCode
Mã khuyến mãi được xác định trước và có thể sử dụng nhiều lần.
Biểu diễn dưới dạng JSON |
---|
{ "promotionCode": string } |
Trường | |
---|---|
promotionCode |
Mã khuyến mãi. |
Phương thức |
|
---|---|
|
Lấy siêu dữ liệu về một gói thuê bao |
|
Thu hồi giao dịch mua gói thuê bao của người dùng. |