- 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
- PriceStepUpConsentDetails
- ConsentState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- ItemReplacement
- ReplacementMode
- OutOfAppPurchaseContext
- 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 alpha-2 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ục 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 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ý). Hãy dùng RFC 3339, trong đó dữ liệu đầ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 khoảng 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 tự động gia hạn, đâ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ề bối cảnh liên quan đến 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". |
outOfAppPurchaseContext |
Bối cảnh bổ sung cho giao dịch mua bên ngoài ứng dụng. Thông tin này chỉ xuất hiện đối với các giao dịch mua lại gói thuê bao (giao dịch mua gói thuê bao được thực hiện sau khi gói thuê bao trước đó của cùng một sản phẩm đã hết hạn) được thực hiện thông qua trung tâm thuê bao của Google Play. Trường này sẽ bị xoá sau khi bạn xác nhận gói thuê bao. |
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 bị 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 sử 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. Hãy dùng RFC 3339, trong đó dữ liệu đầ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 khoảng 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. Sau thời gian này, người dùng vẫn có thể truy cập vào gói thuê bao. Sử dụng lineItems.expiry_time để xác định xem người dùng còn quyền truy cập hay không. Hãy dùng RFC 3339, trong đó dữ liệu đầ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 khoảng 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 |
Các 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ã 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). Hãy dùng RFC 3339, trong đó dữ liệu đầ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 khoảng 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ế theo lịch). |
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ý. |
itemReplacement |
Thông tin chi tiết về mặt hàng được thay thế. Trường này chỉ được điền nếu mặt hàng này thay thế một mặt hàng khác trong một gói thuê bao trước đó và chỉ có hiệu lực trong 60 ngày sau thời điểm mua. |
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, chẳng hạn như 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á này không tính đến chiết khấu và không bao gồm thuế đối với giá chưa 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. |
priceStepUpConsentDetails |
Thông tin về lần đồng ý tăng giá gần đây nhất. |
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 của 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 gian 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 người dùng tạm dừng. Trường này chỉ được điền sẵn nếu thay đổi về giá chưa có hiệu lực. Hãy dùng RFC 3339, trong đó dữ liệu đầ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 khoảng 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 kỳ cam kết. Trống có nghĩa là gói trả góp sẽ trở 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ờ huỷ. Yêu cầu huỷ sẽ 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ỷ sẽ 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.
PriceStepUpConsentDetails
Thông tin liên quan đến việc tăng giá cần có sự đồng ý của người dùng.
| Biểu diễn dưới dạng JSON |
|---|
{ "state": enum ( |
| Trường | |
|---|---|
state |
Chỉ có đầu ra. Trạng thái đồng ý tăng giá. |
consentDeadlineTime |
Thời hạn mà người dùng phải đưa ra sự đồng ý. Nếu bạn không đồng ý trước thời gian này, gói thuê bao sẽ bị huỷ. Hãy dùng RFC 3339, trong đó dữ liệu đầ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 khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
newPrice |
Giá mới cần có sự đồng ý của người dùng. |
ConsentState
Trạng thái đồng ý tăng giá.
| Enum | |
|---|---|
CONSENT_STATE_UNSPECIFIED |
Trạng thái đồng ý chưa được chỉ định. |
PENDING |
Người dùng chưa đồng ý. |
CONFIRMED |
Người dùng đã đồng ý và mức giá mới đang chờ có hiệu lực. |
COMPLETED |
Người dùng đã đồng ý và giá mới đã có hiệu lực. |
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. Hãy dùng RFC 3339, trong đó dữ liệu đầ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 khoảng 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ả cá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ã 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. |
ItemReplacement
Thông tin chi tiết về một mục hàng trong gói thuê bao đang được thay thế.
| Biểu diễn dưới dạng JSON |
|---|
{
"productId": string,
"replacementMode": enum ( |
| Trường | |
|---|---|
productId |
Mã sản phẩm của mục hàng đăng ký sẽ được thay thế. |
replacementMode |
Chế độ thay thế được áp dụng trong quá trình mua hàng. |
basePlanId |
Mã gói cơ bản của mục hàng thuê bao đang được thay thế. |
offerId |
Mã ưu đãi của mục hàng thuê bao đang được thay thế (nếu có). |
ReplacementMode
Chế độ thay thế cho gói thuê bao.
| Enum | |
|---|---|
REPLACEMENT_MODE_UNSPECIFIED |
Chế độ thay thế chưa chỉ định. |
WITH_TIME_PRORATION |
Gói mới sẽ được tính theo tỷ lệ và được cộng thêm thời gian sử dụng của gói cũ. |
CHARGE_PRORATED_PRICE |
Người dùng sẽ trả một mức giá theo tỷ lệ cho gói mới. |
WITHOUT_PRORATION |
Gói mới sẽ thay thế gói cũ mà không tính thời gian sử dụng theo tỷ lệ. |
CHARGE_FULL_PRICE |
Người dùng sẽ thanh toán toàn bộ giá của gói mới. |
DEFERRED |
Gói cũ sẽ bị huỷ và gói mới sẽ có hiệu lực sau khi gói cũ hết hạn. |
KEEP_EXISTING |
Gói của bạn sẽ không thay đổi khi bạn thay thế bằng thẻ này. |
OutOfAppPurchaseContext
Thông tin cụ thể về giao dịch mua bên ngoài ứng dụng.
| Biểu diễn dưới dạng JSON |
|---|
{
"expiredExternalAccountIdentifiers": {
object ( |
| Trường | |
|---|---|
expiredExternalAccountIdentifiers |
Giá trị nhận dạng tài khoản người dùng của gói thuê bao hết hạn gần đây nhất cho SKU này. |
expiredPurchaseToken |
Mã thông báo mua hàng của gói thuê bao gần đây nhất đã hết hạn. Bạn chỉ được dùng mã thông báo mua hàng này để giúp xác định người dùng nếu mối liên kết giữa purchaseToken và người dùng được lưu trữ trong cơ sở dữ liệu của bạn. Bạn không thể dùng mã này để gọi API Nhà phát triển của Google nếu đã quá 60 ngày kể từ ngày hết hạn. |
Phương thức |
|
|---|---|
|
Huỷ giao dịch mua gói thuê bao của người dùng. |
|
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. |
Mã lỗi
Các thao tác của tài nguyên này sẽ trả về các mã lỗi HTTP sau:
| Mã lỗi | Lý do | Độ phân giải |
|---|---|---|
5xx |
Lỗi chung trong máy chủ Google Play. | Hãy thử gửi lại yêu cầu.
Nếu vấn đề vẫn tiếp diễn, hãy liên hệ với người quản lý tài khoản Google Play hoặc gửi yêu cầu hỗ trợ. Hãy cân nhắc kiểm tra Trang tổng quan về trạng thái của Play để xem có sự cố ngừng hoạt động nào đã biết hay không. |
409 |
Lỗi cập nhật đồng thời.
Đã có một nỗ lực cập nhật một đối tượng đang được cập nhật. Ví dụ: giao dịch mua được xác nhận bằng cách gọi phương thức |
Hãy thử gửi lại yêu cầu. |
410 |
Không thể truy vấn giao dịch mua gói thuê bao nữa vì giao dịch này đã hết hạn quá lâu. | Được gửi khi truy vấn một gói thuê bao đã hết hạn hơn 60 ngày. Bạn không nên truy vấn các gói thuê bao này nữa. |