Voided Purchases API

Google Play Voided Purchases API แสดงรายการคำสั่งซื้อที่ เกี่ยวข้องกับการซื้อที่ผู้ใช้ยกเลิก คุณสามารถใช้ข้อมูล จากรายการนี้เพื่อใช้ระบบเพิกถอนที่ป้องกันไม่ให้ผู้ใช้ เข้าถึงผลิตภัณฑ์จากคำสั่งซื้อเหล่านั้นได้

API นี้ใช้กับคำสั่งซื้อในแอปและการสมัครใช้บริการแอปแบบครั้งเดียว

การซื้อสามารถเป็นโมฆะได้ด้วยวิธีต่อไปนี้

  • ผู้ใช้ขอเงินคืนสำหรับคำสั่งซื้อ
  • ผู้ใช้ยกเลิกคำสั่งซื้อ
  • คำสั่งซื้อมีการเรียกเก็บเงินคืน
  • นักพัฒนาแอปยกเลิกหรือคืนเงินคำสั่งซื้อ

  • Google ยกเลิกหรือคืนเงินสำหรับคำสั่งซื้อ

การใช้ API นี้จะช่วยให้คุณสร้างประสบการณ์การใช้งานที่สมดุลและยุติธรรมยิ่งขึ้นสำหรับทุกคน ของผู้ใช้แอป โดยเฉพาะอย่างยิ่งหากแอปของคุณเป็นเกม

การรับสิทธิ์เข้าถึง

หากต้องการใช้งาน Voided Purchases API คุณต้องมีสิทธิ์ดู ข้อมูลทางการเงิน คุณต้องให้สิทธิ์โดยใช้ไคลเอ็นต์ OAuth หรือ บัญชีบริการ หากคุณใช้บัญชีบริการ ให้เปิดใช้ "ดูการเงิน" รายงาน" สิทธิ์ภายในบัญชีนี้

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการรับสิทธิ์เข้าถึง Google Play Developer API ที่ได้รับอนุญาตที่ คำแนะนำต่อไปนี้

การดูการซื้อที่เป็นโมฆะ

ใช้เมธอด GET เพื่อขอรายการการซื้อที่เป็นโมฆะ ในคำขอ ระบุชื่อแพ็กเกจที่สมบูรณ์ในตัวเองของแอป เช่น com.google.android.apps.maps - และโทเค็นการให้สิทธิ์ที่คุณ ที่ได้รับเมื่อรับสิทธิ์เข้าถึง API

GET https://www.googleapis.com/androidpublisher/v3/applications/
your_package_name/purchases/voidedpurchases?access_token=your_auth_token

คุณสามารถรวมพารามิเตอร์ต่อไปนี้ไว้ในคําขอ พารามิเตอร์แต่ละรายการ ไม่บังคับ:

startTime

เวลาในหน่วยมิลลิวินาทีนับตั้งแต่ Unix Epoch ของค่าที่เก่าที่สุด การซื้อที่เป็นโมฆะซึ่งคุณต้องการเห็นในการตอบกลับ โดยค่าเริ่มต้น ตั้งค่า startTime เป็น 30 วันที่ผ่านมา

API จะแสดงเฉพาะการซื้อที่เป็นโมฆะซึ่งเกิดขึ้นในช่วงที่ผ่านมาเท่านั้น 30 วัน การซื้อที่เป็นโมฆะเก่าๆ จะไม่รวมอยู่ในการตอบสนอง ไม่ว่าจะ ของค่าที่คุณระบุสำหรับ startTime

endTime

เวลาเป็นมิลลิวินาทีนับตั้งแต่ Unix Epoch ของใหม่ล่าสุด การซื้อสิ่งที่คุณต้องการเห็นเป็นโมฆะในการตอบสนอง โดยค่าเริ่มต้น ตั้งค่า endTime เป็นเวลาปัจจุบัน

ผลลัพธ์สูงสุด
จำนวนการซื้อที่เป็นโมฆะสูงสุดที่จะปรากฏในคำตอบแต่ละรายการ โดย ค่าเริ่มต้นจะเป็น 1000 โปรดทราบว่าค่าสูงสุดสำหรับพารามิเตอร์นี้คือ และ 1000
โทเค็น
โทเค็นต่อเนื่องจากคำตอบก่อนหน้า ซึ่งช่วยให้คุณดูเพิ่มเติม ผลลัพธ์
ประเภท

ประเภทของการซื้อที่เป็นโมฆะซึ่งปรากฏในแต่ละคำตอบ หากตั้งค่าเป็น 0 เฉพาะการซื้อในแอปที่เป็นโมฆะเท่านั้นเท่านั้นที่จะถูกส่งคืน หากตั้งค่าเป็น 1 ระบบจะถือเป็นโมฆะในแอปทั้งคู่ และจะส่งคืนการซื้อการสมัครใช้บริการที่เป็นโมฆะ ค่าเริ่มต้นคือ 0.

includeQuantityBasedPartialRefund

เลือกว่าจะรวมการซื้อที่เป็นโมฆะด้วยการคืนเงินบางส่วนตามจำนวนหรือไม่ ซึ่งใช้ได้กับการซื้อแบบหลายจำนวนเท่านั้น หากเป็น true การซื้อที่เป็นโมฆะเพิ่มเติมอาจได้รับการส่งคืนพร้อม voidedQuantity ซึ่งระบุจำนวนเงินคืนสำหรับการคืนเงินบางส่วนตามจำนวน ค่าเริ่มต้นคือ false

การตอบกลับเป็นสตริง JSON ที่มีรายการการซื้อที่เป็นโมฆะ หากมี มีผลลัพธ์มากกว่าตัวเลขที่ระบุในพารามิเตอร์คำขอ maxResults คำตอบจะรวมค่า nextPageToken ที่คุณสามารถส่งผ่านไปยัง คำขอที่ตามมาเพื่อดูผลลัพธ์เพิ่มเติม ผลลัพธ์แรกในรายการจะแสดง การซื้อที่เก่าที่สุดที่เป็นโมฆะ

{
  "tokenPagination": {
    "nextPageToken": "next_page_token"
  },
  "voidedPurchases": [
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_purchase_token",
      "purchaseTimeMillis": "1468825200000",
      "voidedTimeMillis": "1469430000000",
      "orderId": "some_order_id",
      "voidedSource": "0",
      "voidedReason": "4"
    },
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_other_purchase_token",
      "purchaseTimeMillis": "1468825100000",
      "voidedTimeMillis": "1470034800000",
      "orderId": "some_other_order_id",
      "voidedSource": "2",
      "voidedReason": "5"
    },
  ]
}

โควต้า

Voided Purchases API ตั้งค่าโควต้าต่อไปนี้ตามแต่ละแพ็กเกจ

  • การค้นหา 6000 ครั้งต่อวัน (วันเริ่มต้นและสิ้นสุดตอนเที่ยงคืนตามเวลาแปซิฟิก)
  • คำค้นหา 30 รายการในช่วงระยะเวลา 30 วินาทีใดก็ได้

หลักเกณฑ์สำหรับคำขอเริ่มต้น

ในระหว่างการส่งคำขอ API ครั้งแรก คุณอาจต้องการดึงข้อมูลที่มีอยู่ทั้งหมดสำหรับ แอปของคุณ แม้การดำเนินการนี้อาจไม่เกิดขึ้น แต่กระบวนการนี้อาจทำให้โควต้ารายวันของคุณหมดลง ถึง รับข้อมูลการซื้อที่เป็นโมฆะด้วยวิธีที่ปลอดภัยและสอดคล้องกันมากขึ้น โปรดปฏิบัติตาม แนวทางปฏิบัติแนะนำ

  • ใช้ค่าเริ่มต้นสำหรับพารามิเตอร์ maxResults ด้วยวิธีนี้หากคุณใช้ โควต้าการค้นหาทั้งหมดของคุณเป็นเวลา 1 วัน คุณสามารถดึงรายละเอียดของ 6,000,000 การซื้อที่เป็นโมฆะ
  • หากคำตอบมีค่าสำหรับ nextPageToken ให้กำหนดค่านี้ให้กับ token ในคำขอถัดไป

แนวทางปฏิบัติแนะนำ

เมื่อใช้ API นี้ในแอป อย่าลืมว่ามี เหตุผลที่ทำให้การซื้อเป็นโมฆะ และไม่มีโซลูชันใดโซลูชันหนึ่งที่ใช้ได้ผล กรณีทั้งหมด คุณควรคำนึงถึงผู้ใช้เมื่อออกแบบการเพิกถอน นโยบายและกลยุทธ์ โดยใช้แนวทางปฏิบัติที่แนะนําต่อไปนี้

  • ใช้ API นี้เป็นหนึ่งในหลายๆ องค์ประกอบในกลยุทธ์ที่ครอบคลุมในการแก้ปัญหา พฤติกรรมที่ไม่พึงประสงค์ การเพิกถอนสิทธิ์การเข้าถึงไอเทมที่ซื้อในแอปมักจะมีประสิทธิภาพมากกว่า เมื่อรวมกับแอปที่มีราคาที่สมเหตุสมผลสำหรับการซื้อในแอป การออกแบบแอปที่ไม่สนับสนุนพฤติกรรมที่ไม่พึงประสงค์ ซึ่งเป็นฐานผู้ใช้ที่แข็งแกร่งที่มี ปฏิเสธพฤติกรรมดังกล่าว รวมทั้งการสนับสนุนผู้ใช้ที่ตอบสนองและมีประสิทธิภาพ แชแนล
  • ดูแลนโยบายการเพิกถอนอย่างเท่าเทียมกันเพื่อความเป็นธรรมสำหรับผู้ใช้ทุกคน
  • ลองสร้างนโยบายแบบแยกขั้นตอนเมื่อจัดการกับพฤติกรรมที่ไม่พึงประสงค์ สำหรับ เช่น เริ่มจากคำเตือนในแอปเพื่อหา การกระทำผิดล่วงหน้า จากนั้นส่งต่อ การตอบสนองขณะที่ผู้ใช้มีพฤติกรรมไม่พึงประสงค์อย่างต่อเนื่อง ทางเลือกสุดท้ายคือ ป้องกันไม่ให้ผู้ใช้โต้ตอบกับแอปของคุณเลย
  • เมื่อคุณเริ่มใช้นโยบายการเพิกถอน และทุกครั้งที่อัปเดตนโยบาย ให้ใช้ ช่องทางการติดต่อของแอป เพื่อแจ้งให้ผู้ใช้ทราบเกี่ยวกับการเปลี่ยนแปลง ให้ผู้ใช้ของคุณ และทำความเข้าใจการเปลี่ยนแปลงเหล่านี้อย่างชัดเจนก่อนที่การเปลี่ยนแปลงจะมีผลในแอปของคุณ
  • แสดงความโปร่งใสต่อผู้ใช้และแจ้งให้ผู้ใช้ทราบทุกครั้งที่คุณดําเนินการ เช่น การเพิกถอนสิทธิ์การเข้าถึงผลิตภัณฑ์ที่ซื้อในแอป โดยหลักการแล้ว ผู้ใช้ควรสามารถ โต้แย้งการตัดสินใจของคุณ และการโต้แย้งดังกล่าวควรได้รับการปฏิบัติอย่างเป็นธรรม
  • ดูแบบฟอร์มความคิดเห็นและฟอรัมชุมชนเพื่อทำความเข้าใจสิ่งที่กระตุ้นให้ผู้ใช้ พฤติกรรมที่พึงประสงค์และพฤติกรรมที่พึงปฏิบัติ ดำเนินการกับรายการเหล่านี้ เพื่อใช้เป็นด่านแรกในการป้องกัน