REST Resource: purchases.productsv2

Tài nguyên: ProductPurchaseV2

Tài nguyên ProductPurchaseV2 cho biết trạng thái của giao dịch mua sản phẩm trong ứng dụng của người dùng.

Biểu diễn dưới dạng JSON
{
  "productLineItem": [
    {
      object (ProductLineItem)
    }
  ],
  "kind": string,
  "purchaseStateContext": {
    object (PurchaseStateContext)
  },
  "testPurchaseContext": {
    object (TestPurchaseContext)
  },
  "orderId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "purchaseCompletionTime": string,
  "acknowledgementState": enum (AcknowledgementState)
}
Trường
productLineItem[]

object (ProductLineItem)

Chứa thông tin ở cấp mặt hàng cho một ProductPurchaseV2.

kind

string

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

purchaseStateContext

object (PurchaseStateContext)

Thông tin về trạng thái mua của giao dịch mua.

testPurchaseContext

object (TestPurchaseContext)

Thông tin liên quan đến giao dịch mua thử. Giá trị này sẽ chỉ được đặt cho giao dịch mua thử nghiệm.

orderId

string

Mã đơn đặt hàng được liên kết với giao dịch mua sản phẩm trong ứng dụng. Không được đặt nếu không có đơn đặt hàng nào liên kết với giao dịch mua.

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. Chỉ xuất hiện nếu đượ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.

regionCode

string

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

purchaseCompletionTime

string (Timestamp format)

Thời điểm giao dịch mua thành công, tức là khi PurchaseState đã thay đổi thành PURCHASED. Trường này sẽ không xuất hiện cho đến khi bạn hoàn tất thanh toán. Ví dụ: nếu người dùng bắt đầu một giao dịch đang chờ xử lý (https://developer.android.com/google/play/billing/integrate#pending), thì trường này sẽ không được điền cho đến khi người dùng hoàn tất thành công các bước cần thiết để hoàn tất giao dịch.

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ụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

acknowledgementState

enum (AcknowledgementState)

Chỉ có đầu ra. Trạng thái xác nhận của giao dịch mua.

PurchaseStateContext

Bối cảnh về trạng thái mua hàng.

Biểu diễn dưới dạng JSON
{
  "purchaseState": enum (PurchaseState)
}
Trường
purchaseState

enum (PurchaseState)

Chỉ có đầu ra. Trạng thái mua hàng của giao dịch mua.

PurchaseState

Các trạng thái mua có thể có.

Enum
PURCHASE_STATE_UNSPECIFIED Trạng thái mua hàng chưa xác định. Bạn không bao giờ được đặt giá trị này.
PURCHASED Đã mua thành công.
CANCELLED Đã hủy mua hàng.
PENDING Giao dịch mua đang ở trạng thái chờ xử lý và chưa hoàn tất. Để biết thêm thông tin về cách xử lý các giao dịch mua đang chờ xử lý, hãy xem https://developer.android.com/google/play/billing/integrate#pending.

TestPurchaseContext

Bối cảnh về giao dịch mua thử nghiệm.

Biểu diễn dưới dạng JSON
{
  "fopType": enum (FopType)
}
Trường
fopType

enum (FopType)

Loại fop của giao dịch mua thử nghiệm.

FopType

Các loại fop có thể có.

Enum
FOP_TYPE_UNSPECIFIED Chưa chỉ định loại Fop. Bạn không bao giờ được đặt giá trị này.
TEST Giao dịch mua được thực hiện bằng thẻ kiểm thử.

ProductLineItem

Chứa thông tin ở cấp mặt hàng cho một ProductPurchaseV2.

Biểu diễn dưới dạng JSON
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
Trường
productId

string

Mã sản phẩm đã mua (ví dụ: "monthly001").

productOfferDetails

object (ProductOfferDetails)

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

ProductOfferDetails

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
  ],
  "offerId": string,
  "purchaseOptionId": string,
  "rentOfferDetails": {
    object (RentOfferDetails)
  },
  "offerToken": string,
  "quantity": integer,
  "refundableQuantity": integer,
  "consumptionState": enum (ConsumptionState)
}
Trường
offerTags[]

string

Các thẻ ưu đãi mới nhất được liên kết với ưu đãi. Thông tin này bao gồm các thẻ được kế thừa từ lựa chọn mua.

offerId

string

Mã ưu đãi. Chỉ xuất hiện cho ưu đãi.

purchaseOptionId

string

Mã lựa chọn mua.

rentOfferDetails

object (RentOfferDetails)

Thông tin chi tiết về ưu đãi cho thuê. Thuộc tính này sẽ chỉ được đặt cho các mục riêng về dịch vụ cho thuê.

offerToken

string

Mã thông báo ưu đãi cho mỗi giao dịch được dùng để thực hiện mục hàng này.

quantity

integer

Số lượng liên quan đến giao dịch mua sản phẩm trong ứng dụng.

refundableQuantity

integer

Số lượng đủ điều kiện hoàn tiền, tức là số lượng chưa được hoàn tiền. Giá trị này phản ánh các khoản hoàn tiền một phần và hoàn tiền toàn bộ dựa trên số lượng.

consumptionState

enum (ConsumptionState)

Chỉ có đầu ra. Trạng thái sử dụng của giao dịch mua.

RentOfferDetails

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

Thông tin chi tiết về ưu đãi liên quan đến một mục hàng cho thuê.

ConsumptionState

Các trạng thái sử dụng có thể có.

Enum
CONSUMPTION_STATE_UNSPECIFIED Trạng thái sử dụng chưa xác định. Bạn không bao giờ được đặt giá trị này.
CONSUMPTION_STATE_YET_TO_BE_CONSUMED Chưa được sử dụng.
CONSUMPTION_STATE_CONSUMED Đã sử dụng.

AcknowledgementState

Trạng thái xác nhận của sản phẩm tính phí một lần.

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Trạng thái xác nhận chưa xác định.
ACKNOWLEDGEMENT_STATE_PENDING Giao dịch mua chưa được xác nhận.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Giao dịch mua được xác nhận.

Phương thức

getproductpurchasev2

Kiểm tra trạng thái mua và sử dụng của một mặt hàng trong ứng 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 Mô tả Độ phân giải
400 invalidPurchaseState Giao dịch mua không ở trạng thái hợp lệ để thực hiện thao tác đã yêu cầu. Ví dụ: bạn có thể đang cố gắng xác nhận một giao dịch mua đã được sử dụng hoặc huỷ một gói thuê bao không còn hoạt động. Kiểm tra trạng thái hiện tại của tài nguyên bằng cách sử dụng Get API tương ứng trước khi thử thực hiện thao tác. Đảm bảo tài nguyên ở trạng thái phù hợp cho hành động.
400 invalidValue Bạn đã cung cấp một giá trị không hợp lệ trong yêu cầu. Lỗi này thường xảy ra khi mã thông báo mua hàng bị lỗi hoặc không hợp lệ. Hãy sửa giá trị trường không hợp lệ trong nội dung hoặc tham số yêu cầu dựa trên tài liệu tham khảo API.
400 productNotOwnedByUser Mã thông báo mua hàng được cung cấp là hợp lệ, nhưng người dùng hiện không sở hữu sản phẩm. Điều này có thể xảy ra nếu giao dịch mua được hoàn tiền, thu hồi hoặc hết hạn trước khi được xác nhận. Kiểm tra trạng thái hiện tại của tài nguyên bằng cách sử dụng API Get tương ứng trước khi thử thực hiện thao tác. Đảm bảo tài nguyên ở trạng thái phù hợp cho hành động.
400 purchaseTokenMismatch Mã thông báo giao dịch mua được cung cấp không khớp với giao dịch mua, tên gói, mã nhận dạng gói thuê bao hoặc mã nhận dạng sản phẩm. Xác minh rằng tất cả thông tin chi tiết trong yêu cầu đều chính xác và tương ứng với nhau.
400 required Yêu cầu thiếu một trường hoặc tham số bắt buộc. Tham khảo tài liệu API để đảm bảo bạn đã thêm tất cả các trường và tham số bắt buộc.
400 unsupportedIabType Loại Thanh toán trong ứng dụng đã cho không hỗ trợ thao tác này. Đảm bảo phương thức API tương thích với loại mục đang được quản lý.
403 userInsufficientPermission Người dùng không có đủ quyền để thực hiện thao tác được yêu cầu. Đảm bảo người dùng được xác thực có các quyền cần thiết trong Google Play Console. Hãy xem phần Sử dụng tài khoản dịch vụ để biết thêm thông tin.
404 notFound Không tìm thấy tài nguyên được yêu cầu. Xác minh rằng các giá trị nhận dạng (ví dụ: mã thông báo giao dịch mua, tên gói, mã sản phẩm, mã thuê bao) là chính xác.
409 concurrentUpdate Đã có một nỗ lực cập nhật một đối tượng đang được cập nhật đồng thời. Thử lại yêu cầu với thời gian đợi luỹ thừa. Tránh sửa đổi đồng thời cùng một tài nguyên.
5xx Generic error 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.