REST Resource: purchases.subscriptions

Tài nguyên: SubscriptionPurchase

Tài nguyên SubscriptionPurchase 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,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Trường
kind

string

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

startTimeMillis

string (int64 format)

Thời gian cấp gói thuê bao, tính bằng mili giây kể từ Thời gian bắt đầu của hệ thống.

expiryTimeMillis

string (int64 format)

Thời gian gói thuê bao hết hạn, tính bằng mili giây kể từ Thời gian bắt đầu của hệ thống.

autoResumeTimeMillis

string (int64 format)

Thời gian gói thuê bao sẽ tự động tiếp tục hoạt động, tính bằng mili giây kể từ Thời gian bắt đầu của hệ thống. Chỉ xuất hiện nếu người dùng yêu cầu tạm dừng gói thuê bao.

autoRenewing

boolean

Liệu gói thuê bao có tự động gia hạn khi hết hạn hay không.

priceCurrencyCode

string

Mã đơn vị tiền tệ theo ISO 4217 cho giá thuê bao. Ví dụ: nếu giá được chỉ định bằng đồng bảng Anh, thì priceCurrencyCode là "GBP".

priceAmountMicros

string (int64 format)

Giá của gói thuê bao. Đối với các quốc gia không tính thuế gộp vào giá, giá này chưa bao gồm thuế. Đối với các quốc gia tính thuế gộp vào giá, giá sẽ bao gồm thuế. Giá được biểu thị bằng đơn vị một phần triệu, trong đó 1.000.000 đơn vị một phần triệu biểu thị một đơn vị tiền tệ. Ví dụ: nếu giá thuê bao là 1, 99 EUR, thì priceAmountMicros là 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Thông tin về giá ưu đãi của gói thuê bao. Thông tin này chỉ xuất hiện khi gói thuê bao được mua với giá ưu đãi.

Trường này không cho biết gói thuê bao hiện đang trong thời gian áp dụng giá ưu đãi.

countryCode

string

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.

developerPayload

string

Chuỗi do nhà phát triển chỉ định chứa thông tin bổ sung về đơn đặt hàng.

paymentState

integer

Trạng thái thanh toán của gói thuê bao. Giá trị có thể là: 0. Khoản thanh toán đang chờ xử lý 1. Đã nhận được khoản thanh toán 2. Dùng thử miễn phí 3. Đang chờ xử lý yêu cầu tạm hoãn nâng cấp/hạ cấp

Không xuất hiện đối với gói thuê bao đã huỷ hoặc hết hạn.

cancelReason

integer

Lý do gói thuê bao bị huỷ hoặc không tự động gia hạn. Giá trị có thể là: 0. Người dùng đã huỷ gói thuê bao 1. Hệ thống đã huỷ gói thuê bao, chẳng hạn như do vấn đề về việc thanh toán 2. Gói thuê bao đã được thay thế bằng một gói thuê bao mới 3. Nhà phát triển đã huỷ gói thuê bao

userCancellationTimeMillis

string (int64 format)

Thời gian người dùng huỷ gói thuê bao, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống UNIX. Chỉ xuất hiện nếu cancelReason là 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

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ỷ).

orderId

string

Mã đơn đặt hàng của đơn đặt hàng định kỳ mới nhất được liên kết với giao dịch mua gói thuê bao. Nếu gói thuê bao bị huỷ do khoản thanh toán bị từ chối, thì đây sẽ là mã đơn đặt hàng của đơn đặt hàng bị từ chối thanh toán.

linkedPurchaseToken

string

Mã thông báo giao dịch mua của giao dịch mua ban đầu nếu gói thuê bao này thuộc một trong những trường hợp sau: 0. Đăng ký lại gói thuê bao đã huỷ nhưng chưa hết hạn 1. Nâng cấp/hạ cấp từ gói thuê bao cũ

Ví dụ: giả sử người dùng ban đầu đăng ký và bạn nhận được mã thông báo giao dịch mua X, sau đó người dùng huỷ và thực hiện quy trình đăng ký lại (trước khi gói thuê bao hết hạn) và bạn nhận được mã thông báo giao dịch mua Y, cuối cùng người dùng nâng cấp gói thuê bao và bạn nhận được mã thông báo giao dịch mua Z. Nếu bạn gọi API này bằng mã thông báo giao dịch mua Z, thì trường này sẽ được đặt thành Y. Nếu bạn gọi API này bằng mã thông báo giao dịch mua Y, thì trường này sẽ được đặt thành X. Nếu bạn gọi API này bằng mã thông báo giao dịch mua X, thì trường này sẽ không được đặt.

purchaseType

integer

Loại giao dịch mua gói thuê bao. Trường này chỉ được đặt nếu giao dịch mua này không được thực hiện bằng quy trình thanh toán tiêu chuẩn trong ứng dụng. Giá trị có thể là: 0. Kiểm thử (tức là mua từ tài khoản kiểm thử cấp phép) 1. Khuyến mãi (tức là mua bằng mã khuyến mãi)

priceChange

object (SubscriptionPriceChange)

Thông tin mới nhất về việc thay đổi giá. Trường này chỉ xuất hiện khi gói thuê bao sắp thay đổi giá nhưng chưa được áp dụng.

Sau khi gói thuê bao được gia hạn với giá mới hoặc gói thuê bao bị huỷ, hệ thống sẽ không trả về thông tin về việc thay đổi giá.

profileName

string

Tên hồ sơ của người dùng khi mua gói thuê bao. Chỉ xuất hiện đối với những giao dịch mua được thực hiện bằng tính năng "Đăng ký qua Google".

emailAddress

string

Địa chỉ email của người dùng khi mua gói thuê bao. Chỉ xuất hiện đối với những giao dịch mua được thực hiện bằng tính năng "Đăng ký qua Google".

givenName

string

Tên của người dùng khi mua gói thuê bao. Chỉ xuất hiện đối với những giao dịch mua được thực hiện bằng tính năng "Đăng ký qua Google".

familyName

string

Họ của người dùng khi mua gói thuê bao. Chỉ xuất hiện đối với những giao dịch mua được thực hiện bằng tính năng "Đăng ký qua Google".

profileId

string

Mã nhận dạng hồ sơ Google của người dùng khi họ mua gói thuê bao. Chỉ xuất hiện đối với những giao dịch mua được thực hiện bằng tính năng "Đăng ký qua Google".

acknowledgementState

integer

Trạng thái xác nhận của sản phẩm thuê bao. Giá trị có thể là: 0. Chưa được xác nhận 1. Đã xác nhận

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 quá trình liên kết tài khoản diễn ra trong quy trình mua gói thuê bao.

promotionType

integer

Loại chương trình khuyến mãi được áp dụng cho giao dịch mua này. Trường này chỉ được đặt nếu bạn áp dụng chương trình khuyến mãi khi mua gói thuê bao. Giá trị có thể là: 0. Mã một lần 1. Mã đặc trưng

promotionCode

string

Mã khuyến mãi được áp dụng cho giao dịch mua này. Trường này chỉ được đặt nếu bạn áp dụng chương trình khuyến mãi mã tuỳ chỉnh khi mua gói thuê bao.

obfuscatedExternalAccountId

string

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

string

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.

IntroductoryPriceInfo

Chứa thông tin về giá ưu đãi của một gói thuê bao.

Biểu diễn dưới dạng JSON
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Trường
introductoryPriceCurrencyCode

string

Mã đơn vị tiền tệ theo tiêu chuẩn ISO 4217 cho giá thuê bao ưu đãi ban đầu. Ví dụ: nếu giá được chỉ định bằng đồng bảng Anh, thì priceCurrencyCode là "GBP".

introductoryPriceAmountMicros

string (int64 format)

Giá ưu đãi của gói thuê bao, chưa bao gồm thuế. Đơn vị tiền tệ giống với priceCurrencyCode. Giá được biểu thị bằng đơn vị một phần triệu, trong đó 1.000.000 đơn vị một phần triệu biểu thị một đơn vị tiền tệ. Ví dụ: nếu giá thuê bao là 1, 99 EUR, thì priceAmountMicros là 1990000.

introductoryPricePeriod

string

Kỳ hạn của giá ưu đãi, được chỉ định ở định dạng ISO 8601. Các giá trị phổ biến là (nhưng không giới hạn ở) "P1W" (một tuần), "P1M" (một tháng), "P3M" (3 tháng), "P6M" (6 tháng) và "P1Y" (một năm).

introductoryPriceCycles

integer

Số kỳ thanh toán để cung cấp giá ưu đãi.

SubscriptionCancelSurveyResult

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ỷ).

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

integer

Lý do huỷ mà người dùng chọn trong bản khảo sát. Giá trị có thể là: 0. Khác 1. Tôi không hay sử dụng dịch vụ này 2. Vấn đề kỹ thuật 3. Lý do liên quan đến chi phí 4. Tôi tìm thấy ứng dụng tốt hơn

userInputCancelReason

string

Lý do huỷ thông tin đầu vào do người dùng tuỳ chỉnh. Chỉ xuất hiện khi cancelReason là 0.

SubscriptionPriceChange

Chứa thông tin về việc thay đổi giá của gói thuê bao. Thông tin này có thể dùng để kiểm soát hành trình của người dùng khi thay đổi giá trong ứng dụng. Thông tin này có thể ở dạng yêu cầu người dùng xác nhận hoặc điều chỉnh trải nghiệm để đạt được lượt chuyển đổi thành công.

Biểu diễn dưới dạng JSON
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Trường
newPrice

object (Price)

Giá mới mà gói thuê bao sẽ gia hạn nếu người dùng chấp nhận thay đổi về giá.

state

integer

Trạng thái hiện tại của việc thay đổi giá. Giá trị có thể là: 0. Đang chờ xử lý: Trạng thái cho một thay đổi về giá đang chờ xử lý và người dùng cần đồng ý. Trong trạng thái này, bạn có thể tuỳ ý yêu cầu người dùng xác nhận bằng cách sử dụng API Trong ứng dụng. 1. Đã chấp nhận: Trạng thái cho một thay đổi về giá đã được chấp nhận. Gói thuê bao sẽ gia hạn trừ phi bị huỷ. Thay đổi về giá sẽ có hiệu lực vào một ngày trong tương lai khi gói thuê bao được gia hạn. Xin lưu ý rằng thay đổi này có thể không có hiệu lực vào lần gia hạn gói thuê bao tiếp theo.

Phương thức

acknowledge

Xác nhận một giao dịch mua gói thuê bao.

cancel

Huỷ giao dịch mua gói thuê bao của người dùng.

defer

Hoãn giao dịch mua gói thuê bao của người dùng cho đến một thời điểm hết hạn cụ thể trong tương lai.

get
(deprecated)

Không dùng nữa: Thay vào đó, hãy sử dụng purchases.subscriptionsv2.get.

refund
(deprecated)

Không dùng nữa: Thay vào đó, hãy sử dụng orders.refund.

revoke
(deprecated)

Không dùng nữa: Thay vào đó, hãy sử dụng purchases.subscriptionsv2.revoke.

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 acknowledgePurchase() của Thư viện Play Billing và gọi purchases.products.acknowledge của API Nhà phát triển Play cùng một lú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.