- Tài nguyên: ProductPurchaseV2
- PurchaseStateContext
- PurchaseState
- TestPurchaseContext
- FopType
- ProductLineItem
- ProductOfferDetails
- RentOfferDetails
- ConsumptionState
- AcknowledgementState
- Phương thức
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 ( |
| Trường | |
|---|---|
productLineItem[] |
Chứa thông tin ở cấp mặt hàng cho một ProductPurchaseV2. |
kind |
Loại này đại diện cho một đối tượng ProductPurchaseV2 trong dịch vụ androidpublisher. |
purchaseStateContext |
Thông tin về trạng thái mua của giao dịch mua. |
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 |
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 |
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 |
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 |
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 |
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ụ: |
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 ( |
| Trường | |
|---|---|
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 ( |
| Trường | |
|---|---|
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 ( |
| Trường | |
|---|---|
productId |
Mã sản phẩm đã mua (ví dụ: "monthly001"). |
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 ( |
| Trường | |
|---|---|
offerTags[] |
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 |
Mã ưu đãi. Chỉ xuất hiện cho ưu đãi. |
purchaseOptionId |
Mã lựa chọn mua. |
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 |
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 |
Số lượng liên quan đến giao dịch mua sản phẩm trong ứng dụng. |
refundableQuantity |
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 |
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 |
|
|---|---|
|
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. |