REST Resource: purchases.products

แหล่งข้อมูล: ProductPurchase

แหล่งข้อมูล ProductPurchase จะระบุสถานะการซื้อไอเทมที่ซื้อในแอปของผู้ใช้

การแสดง JSON
{
  "kind": string,
  "purchaseTimeMillis": string,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer,
  "acknowledgementState": integer,
  "purchaseToken": string,
  "productId": string,
  "quantity": integer,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "refundableQuantity": integer
}
ช่อง
kind

string

โดยชนิดนี้แสดงออบเจ็กต์ inappPurchase ในบริการ androidpublisher

purchaseTimeMillis

string (int64 format)

เวลาที่ซื้อผลิตภัณฑ์เป็นมิลลิวินาทีนับตั้งแต่ Epoch (1 ม.ค. 1970)

purchaseState

integer

สถานะการซื้อของคำสั่งซื้อ ค่าที่เป็นไปได้คือ 0 ซื้อแล้ว 1 ยกเลิกแล้ว 2 รอดำเนินการ

consumptionState

integer

สถานะการใช้งานของไอเทมที่ซื้อในแอป ค่าที่เป็นไปได้คือ 0 ยังไม่ได้ใช้ 1 ใช้งาน

developerPayload

string

สตริงที่นักพัฒนาแอประบุซึ่งมีข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งซื้อ

orderId

string

รหัสคำสั่งซื้อที่เชื่อมโยงกับการซื้อผลิตภัณฑ์ในแอป

purchaseType

integer

ประเภทการซื้อไอเทมที่ซื้อในแอป ระบบจะตั้งค่าฟิลด์นี้ก็ต่อเมื่อการซื้อนี้ไม่ได้ดำเนินการโดยใช้ขั้นตอนการเรียกเก็บเงินมาตรฐานสำหรับการซื้อในแอป ค่าที่เป็นไปได้คือ 0 ทดสอบ (เช่น ซื้อจากบัญชีทดสอบใบอนุญาต) 1 โปรโมชัน (เช่น ซื้อโดยใช้รหัสโปรโมชัน) ไม่รวมการซื้อด้วยแต้ม Play 2. ได้รับรางวัล (เช่น จากการดูโฆษณาวิดีโอแทนการชำระเงิน)

acknowledgementState

integer

สถานะการรับทราบของผลิตภัณฑ์ในแอป ค่าที่เป็นไปได้คือ 0 ยังไม่ได้รับทราบ 1 รับทราบแล้ว

purchaseToken

string

โทเค็นการซื้อที่สร้างขึ้นเพื่อระบุการซื้อนี้ อาจไม่มี

productId

string

SKU ของไอเทมที่ซื้อในแอป อาจไม่มี

quantity

integer

จำนวนที่เชื่อมโยงกับการซื้อผลิตภัณฑ์ในแอป หากไม่มี ระบบจะใช้จำนวนเป็น 1

obfuscatedExternalAccountId

string

รหัสเวอร์ชันที่ผ่านการปกปิดซึ่งเชื่อมโยงกับบัญชีของผู้ใช้ในแอปของคุณโดยเฉพาะ จะแสดงก็ต่อเมื่อมีการระบุโดยใช้ https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid เมื่อทำการซื้อ

obfuscatedExternalProfileId

string

รหัสเวอร์ชันที่สับสนซึ่งเชื่อมโยงกับโปรไฟล์ของผู้ใช้ในแอปของคุณโดยเฉพาะ จะแสดงก็ต่อเมื่อมีการระบุโดยใช้ https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid เมื่อทำการซื้อ

regionCode

string

รหัสภูมิภาคการเรียกเก็บเงินแบบ ISO 3166-1 alpha-2 ของผู้ใช้ ณ เวลาที่ได้รับสิทธิ์เข้าถึงผลิตภัณฑ์

refundableQuantity

integer

จำนวนที่มีสิทธิ์ขอเงินคืน ซึ่งก็คือจำนวนที่ยังไม่ได้คืนเงิน ค่านี้แสดงถึงการคืนเงินบางส่วนตามจำนวนและการคืนเงินเต็มจำนวน

เมธอด

acknowledge

ตอบรับการซื้อไอเทมที่ซื้อในแอป

consume

ใช้การซื้อไอเทมที่ซื้อในแอป

get

ตรวจสอบสถานะการซื้อและการใช้ไอเทมในแอป

รหัสข้อผิดพลาด

การดำเนินการของทรัพยากรนี้จะแสดงรหัสข้อผิดพลาด 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 เพื่อดูการหยุดทำงานที่ทราบ