REST Resource: purchases.subscriptions

Tài nguyên: SubscriptionPurchase

Tài nguyên SubscriptionPurchase cho biết trạng thái 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
}
Các trường
kind

string

Loại này đại diện cho đố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 mà gói thuê bao sẽ hết hạn, tính bằng mili giây kể từ Thời gian bắt đầu của gói thuê bao.

autoResumeTimeMillis

string (int64 format)

Thời gian tự động tiếp tục gói thuê bao, 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 đến thời gian hết hạn hiện tại hay không.

priceCurrencyCode

string

Mã đơn vị tiền tệ theo tiêu chuẩn ISO 4217 cho giá gói thuê bao. Ví dụ: nếu giá tiền được quy định bằ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 bao gồm thuế, giá không bao gồm thuế. Đối với các quốc gia có bao gồm thuế, giá đã bao gồm thuế. Giá được biểu thị bằng một đơn vị một phần triệu, trong đó 1.000.000 đơn vị một phần triệu đại diện cho một đơn vị tiền tệ. Ví dụ: nếu giá gói thuê bao là 1, 99 euro, thì priceAmountMicros là 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Thông tin về giá ưu đãi của gói thuê bao. Bạn chỉ thấy thông tin này khi người dùng mua gói thuê bao ở mức giá ưu đãi.

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

countryCode

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.

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. Các giá trị có thể là: 0. Khoản thanh toán đang chờ xử lý 1. Khoản thanh toán đã nhận 2. Dùng thử miễn phí 3. Đang chờ nâng cấp/hạ cấp

Không áp dụng cho các gói thuê bao đã huỷ, hết hạn.

cancelReason

integer

Lý do một gói thuê bao bị huỷ hoặc không tự động gia hạn. Các giá trị có thể là: 0. Người dùng đã huỷ gói thuê bao 1. Gói thuê bao đã bị hệ thống huỷ, chẳng hạn như do vấn đề 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. Chỉ hiển thị 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 về lý do huỷ).

orderId

string

Mã đơn 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ỷ vì khoản thanh toán bị từ chối, thì đây sẽ là mã đơn 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 là một trong những mã sau: 0. Đăng ký lại gói thuê bao đã huỷ nhưng không mất hiệu lực 1. Nâng cấp/hạ cấp so với gói thuê bao trước

Ví dụ: giả sử một người dùng đăng ký ban đầu và bạn nhận mã thông báo giao dịch mua X, sau đó người dùng huỷ và trải qua quy trình đăng ký lại (trước khi gói thuê bao của họ hết hiệu lực) 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ày nâng cấp gói thuê bao của họ 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. Bạn chỉ đặt trường này nếu giao dịch mua này không được thực hiện bằng quy trình thanh toán chuẩn trong ứng dụng. Các giá trị có thể là: 0. Thử nghiệm (tức là mua từ tài khoản thử nghiệm được cấp phép) 1. Khuyến mãi (ví dụ: mua bằng mã khuyến mãi)

priceChange

object (SubscriptionPriceChange)

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

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

profileName

string

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

emailAddress

string

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

givenName

string

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

familyName

string

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

profileId

string

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

acknowledgementState

integer

Trạng thái xác nhận của sản phẩm thuê bao. Các 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ụ của bên thứ ba. Thông tin này 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.

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 chương trình khuyến mãi được áp dụng khi người dùng mua gói thuê bao. Các giá trị có thể là: 0. Mã một lần 1. Mã ảo

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 chương trình khuyến mãi bằng mã ảo được áp dụng khi người dùng mua gói thuê bao.

obfuscatedExternalAccountId

string

Phiên bản mã nhận dạng làm rối mã nguồn được liên kết duy nhất với một tài khoản của người dùng trong ứng dụng của bạn. Có thể dùng cho các giao dịch mua sau: * Nếu quy trình 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 được liên kết riêng 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 cách sử dụ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
}
Các trường
introductoryPriceCurrencyCode

string

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

introductoryPriceAmountMicros

string (int64 format)

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

introductoryPricePeriod

string

Kỳ hạn hưởng mức giá ưu đãi, theo đị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 về lý do huỷ).

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

integer

Lý do huỷ gói thuê bao mà người dùng chọn trong bản khảo sát. Các giá trị có thể là: 0. Khác 1. Tôi không mấy khi 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 người dùng huỷ đối với chế độ nhập tuỳ chỉnh. Chỉ hiển thị khi cancelReason là 0.

SubscriptionPriceChange

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

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

object (Price)

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

state

integer

Trạng thái hiện tại của quá trình thay đổi giá. Các giá trị có thể là: 0. Đang chờ xử lý: Trạng thái về việc thay đổi giá đang chờ xử lý đang chờ người dùng đồng ý. Ở 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 của mức thay đổi giá được chấp nhận mà gói thuê bao sẽ gia hạn, trừ phi bị huỷ. Mức thay đổi giá sẽ có hiệu lực vào một ngày trong tương lai khi người dùng gia hạn gói thuê bao. Xin lưu ý rằng sự thay đổi này có thể không xảy ra khi gia hạn gói thuê bao vào lần tiếp theo.

Phương thức

acknowledge

Xác nhận 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

Trì 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 chỉ định trong tương lai.

get

Kiểm tra xem giao dịch mua gói thuê bao của người dùng có hợp lệ hay không và trả về thời gian hết hạn.

refund

Hoàn tiền cho giao dịch mua gói thuê bao của người dùng, nhưng gói thuê bao vẫn có hiệu lực cho đến khi hết hạn và sẽ tiếp tục gia hạn.

revoke

Hoàn tiền và thu hồi ngay lập tức giao dịch mua gói thuê bao của người dùng.