- แหล่งข้อมูล: ProductPurchaseV2
- PurchaseStateContext
- PurchaseState
- TestPurchaseContext
- FopType
- ProductLineItem
- ProductOfferDetails
- RentOfferDetails
- ConsumptionState
- AcknowledgementState
- เมธอด
แหล่งข้อมูล: ProductPurchaseV2
แหล่งข้อมูล ProductPurchaseV2 จะระบุสถานะการซื้อไอเทมที่ซื้อในแอปของผู้ใช้
| การแสดง JSON |
|---|
{ "productLineItem": [ { object ( |
| ช่อง | |
|---|---|
productLineItem[] |
มีข้อมูลระดับสินค้าสำหรับ ProductPurchaseV2 |
kind |
โดยชนิดนี้แสดงออบเจ็กต์ ProductPurchaseV2 ในบริการ androidpublisher |
purchaseStateContext |
ข้อมูลเกี่ยวกับสถานะการซื้อ |
testPurchaseContext |
ข้อมูลที่เกี่ยวข้องกับการซื้อทดสอบ ระบบจะตั้งค่านี้สำหรับการซื้อทดสอบเท่านั้น |
orderId |
รหัสคำสั่งซื้อที่เชื่อมโยงกับการซื้อผลิตภัณฑ์ในแอป อาจไม่ได้ตั้งค่าหากไม่มีคำสั่งซื้อที่เชื่อมโยงกับการซื้อ |
obfuscatedExternalAccountId |
รหัสเวอร์ชันที่ผ่านการปกปิดซึ่งเชื่อมโยงกับบัญชีของผู้ใช้ในแอปของคุณโดยเฉพาะ จะแสดงก็ต่อเมื่อมีการระบุโดยใช้ https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid เมื่อทำการซื้อ |
obfuscatedExternalProfileId |
รหัสเวอร์ชันที่สับสนซึ่งเชื่อมโยงกับโปรไฟล์ของผู้ใช้ในแอปของคุณโดยเฉพาะ จะแสดงก็ต่อเมื่อมีการระบุโดยใช้ https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid เมื่อทำการซื้อ |
regionCode |
รหัสภูมิภาคการเรียกเก็บเงินแบบ ISO 3166-1 alpha-2 ของผู้ใช้ ณ เวลาที่ได้รับสิทธิ์เข้าถึงผลิตภัณฑ์ |
purchaseCompletionTime |
เวลาที่การซื้อสำเร็จ เช่น เมื่อ PurchaseState เปลี่ยนเป็น PURCHASED ช่องนี้จะยังไม่ปรากฏจนกว่าการชำระเงินจะเสร็จสมบูรณ์ เช่น หากผู้ใช้เริ่มธุรกรรมที่รอดำเนินการ (https://developer.android.com/google/play/billing/integrate#pending) ระบบจะไม่ป้อนข้อมูลในช่องนี้จนกว่าผู้ใช้จะทำตามขั้นตอนที่จำเป็นในการทำธุรกรรมให้เสร็จสมบูรณ์ได้สำเร็จ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
acknowledgementState |
เอาต์พุตเท่านั้น สถานะการรับทราบของการซื้อ |
PurchaseStateContext
บริบทเกี่ยวกับสถานะการซื้อ
| การแสดง JSON |
|---|
{
"purchaseState": enum ( |
| ช่อง | |
|---|---|
purchaseState |
เอาต์พุตเท่านั้น สถานะการซื้อ |
PurchaseState
สถานะการซื้อที่เป็นไปได้
| Enum | |
|---|---|
PURCHASE_STATE_UNSPECIFIED |
ไม่ได้ระบุสถานะการซื้อ ไม่ควรตั้งค่านี้ |
PURCHASED |
ซื้อเรียบร้อยแล้ว |
CANCELLED |
ยกเลิกการซื้อแล้ว |
PENDING |
การซื้ออยู่ในสถานะรอดำเนินการและยังไม่เสร็จสมบูรณ์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการการซื้อที่รอดำเนินการได้ที่ https://developer.android.com/google/play/billing/integrate#pending |
TestPurchaseContext
บริบทเกี่ยวกับการซื้อทดสอบ
| การแสดง JSON |
|---|
{
"fopType": enum ( |
| ช่อง | |
|---|---|
fopType |
ประเภท FOP ของการซื้อทดสอบ |
FopType
ประเภท FOP ที่เป็นไปได้
| Enum | |
|---|---|
FOP_TYPE_UNSPECIFIED |
ไม่ได้ระบุประเภท Fop ไม่ควรตั้งค่านี้ |
TEST |
การซื้อดำเนินการโดยใช้บัตรทดสอบ |
ProductLineItem
มีข้อมูลระดับสินค้าสำหรับ ProductPurchaseV2
| การแสดง JSON |
|---|
{
"productId": string,
"productOfferDetails": {
object ( |
| ช่อง | |
|---|---|
productId |
รหัสผลิตภัณฑ์ที่ซื้อ (เช่น "monthly001") |
productOfferDetails |
รายละเอียดข้อเสนอสำหรับรายการนี้ |
ProductOfferDetails
ข้อมูลรายละเอียดข้อเสนอที่เกี่ยวข้องกับรายการโฆษณาการซื้อ
| การแสดง JSON |
|---|
{ "offerTags": [ string ], "offerId": string, "purchaseOptionId": string, "rentOfferDetails": { object ( |
| ช่อง | |
|---|---|
offerTags[] |
แท็กข้อเสนอล่าสุดที่เชื่อมโยงกับข้อเสนอ ซึ่งรวมถึงแท็กที่รับค่ามาจากตัวเลือกการซื้อ |
offerId |
รหัสข้อเสนอ มีเฉพาะสำหรับข้อเสนอ |
purchaseOptionId |
รหัสตัวเลือกการซื้อ |
rentOfferDetails |
รายละเอียดข้อเสนอเกี่ยวกับข้อเสนอการเช่า โดยจะกำหนดไว้สำหรับรายการโฆษณาการเช่าเท่านั้น |
offerToken |
โทเค็นข้อเสนอต่อธุรกรรมที่ใช้ในการสร้างรายการโฆษณานี้ |
quantity |
จำนวนที่เชื่อมโยงกับการซื้อผลิตภัณฑ์ในแอป |
refundableQuantity |
จำนวนที่มีสิทธิ์ขอเงินคืน ซึ่งก็คือจำนวนที่ยังไม่ได้คืนเงิน ค่านี้แสดงถึงการคืนเงินบางส่วนตามจำนวนและการคืนเงินเต็มจำนวน |
consumptionState |
เอาต์พุตเท่านั้น สถานะการใช้งานของการซื้อ |
RentOfferDetails
ประเภทนี้ไม่มีฟิลด์
ข้อมูลรายละเอียดข้อเสนอที่เกี่ยวข้องกับรายการโฆษณาการเช่า
ConsumptionState
สถานะการบริโภคที่เป็นไปได้
| Enum | |
|---|---|
CONSUMPTION_STATE_UNSPECIFIED |
ไม่ได้ระบุสถานะการใช้งาน ไม่ควรตั้งค่านี้ |
CONSUMPTION_STATE_YET_TO_BE_CONSUMED |
ยังไม่ได้ใช้ |
CONSUMPTION_STATE_CONSUMED |
ใช้ไปแล้ว |
AcknowledgementState
สถานะการรับทราบของไอเทมแบบเรียกเก็บเงินครั้งเดียว
| Enum | |
|---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED |
สถานะการรับทราบที่ไม่ได้ระบุ |
ACKNOWLEDGEMENT_STATE_PENDING |
ยังไม่ได้รับทราบการซื้อ |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED |
ได้รับข้อมูลการซื้อแล้ว |
เมธอด |
|
|---|---|
|
ตรวจสอบสถานะการซื้อและการใช้ไอเทมในแอป |
รหัสข้อผิดพลาด
การดำเนินการของทรัพยากรนี้จะแสดงรหัสข้อผิดพลาด HTTP ต่อไปนี้
| รหัสข้อผิดพลาด | เหตุผล | คำอธิบาย | ความละเอียด |
|---|---|---|---|
400 |
invalidPurchaseState |
การซื้อไม่อยู่ในสถานะที่ถูกต้องเพื่อดำเนินการที่ขอ เช่น คุณอาจพยายามรับทราบการซื้อที่ใช้ไปแล้วหรือยกเลิกการสมัครใช้บริการที่ไม่ได้ใช้งาน | ตรวจสอบสถานะปัจจุบันของทรัพยากรโดยใช้ Get API ที่เกี่ยวข้องก่อนที่จะพยายามดำเนินการ ตรวจสอบว่าทรัพยากรอยู่ในสถานะที่เหมาะสมสำหรับการดำเนินการ |
400 |
invalidValue |
ระบุค่าไม่ถูกต้องในคำขอ โดยมักจะแสดงเมื่อโทเค็นการซื้อมีรูปแบบไม่ถูกต้องหรือไม่ถูกต้อง | แก้ไขค่าฟิลด์ที่ไม่ถูกต้องในเนื้อหาคำขอหรือพารามิเตอร์ตามข้อมูลอ้างอิงของ API |
400 |
productNotOwnedByUser |
โทเค็นการซื้อที่ระบุนั้นถูกต้อง แต่ปัจจุบันผู้ใช้ไม่ได้เป็นเจ้าของผลิตภัณฑ์ กรณีนี้อาจเกิดขึ้นหากมีการคืนเงิน เพิกถอน หรือหมดอายุการซื้อก่อนที่จะมีการรับทราบ | ตรวจสอบสถานะปัจจุบันของทรัพยากรโดยใช้ Get API ที่เกี่ยวข้องก่อนที่จะพยายามดำเนินการ ตรวจสอบว่าทรัพยากรอยู่ในสถานะที่เหมาะสมสำหรับการดำเนินการ |
400 |
purchaseTokenMismatch |
โทเค็นการซื้อที่ระบุไม่ตรงกับการซื้อ ชื่อแพ็กเกจ รหัสการสมัครใช้บริการ หรือรหัสผลิตภัณฑ์ | ตรวจสอบว่ารายละเอียดทั้งหมดในคำขอถูกต้องและสอดคล้องกัน |
400 |
required |
ไม่มีช่องหรือพารามิเตอร์ที่ต้องระบุในคำขอ | อ่านเอกสารประกอบของ API เพื่อให้แน่ใจว่ามีช่องและพารามิเตอร์ที่จำเป็นทั้งหมด |
400 |
unsupportedIabType |
การดำเนินการไม่รองรับสำหรับประเภทการเรียกเก็บเงินในแอปที่ระบุ | ตรวจสอบว่าเมธอด API เข้ากันได้กับประเภทรายการที่กำลังจัดการ |
403 |
userInsufficientPermission |
ผู้ใช้มีสิทธิ์ไม่เพียงพอในการดำเนินการที่ขอ | ตรวจสอบว่าผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์มีสิทธิ์ที่จำเป็นใน Google Play Console ดูรายละเอียดเพิ่มเติมได้ที่ การใช้บัญชีบริการ |
404 |
notFound |
ไม่พบทรัพยากรที่ขอ | ตรวจสอบว่าตัวระบุ (เช่น โทเค็นการซื้อ ชื่อแพ็กเกจ รหัสผลิตภัณฑ์ รหัสการสมัครใช้บริการ) ถูกต้อง |
409 |
concurrentUpdate |
มีการพยายามอัปเดตออบเจ็กต์ที่กำลังอัปเดตพร้อมกัน | ลองส่งคำขออีกครั้งโดยใช้ Exponential Backoff หลีกเลี่ยงการแก้ไขทรัพยากรเดียวกันพร้อมกัน |
5xx |
Generic error |
ข้อผิดพลาดทั่วไปในเซิร์ฟเวอร์ Google Play | ลองส่งคำขออีกครั้ง หากยังคงพบปัญหาอยู่ โปรดติดต่อผู้จัดการลูกค้า Google Play หรือส่งคำขอรับการสนับสนุน โปรดตรวจสอบแดชบอร์ดสถานะของ Play เพื่อดูการหยุดทำงานที่ทราบ |