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

คุณอาจต้องดำเนินการจัดการเกี่ยวกับการสมัครใช้บริการหรือการซื้อแบบครั้งเดียว ในฐานะส่วนหนึ่งของธุรกิจในแต่ละวัน ตัวอย่างเช่น ฝ่ายบริการลูกค้าอาจต้อง คืนเงินทั้งหมดหรือบางส่วนให้กับผู้ใช้ หรือคุณอาจต้องเพิกถอน ในบางกรณี คุณจัดการคำสั่งซื้อจาก Play Console ได้ หรือหาก ที่ต้องการจัดการจากระบบของคุณเอง คุณสามารถทำได้โดยใช้ Google Play Developer API

ยกเลิกการสมัครใช้บริการ

ผู้ใช้สามารถยกเลิกการสมัครใช้บริการ Google Play ได้ทุกเมื่อโดยใช้ Play Store แต่คุณต้องมีตัวเลือกให้ผู้ใช้ยกเลิกการสมัครใช้บริการด้วย ในแอปและในเว็บไซต์ (หากมี)

วิธีที่ง่ายที่สุดในการทำให้ผู้ใช้สามารถยกเลิกโดยสมัครใจคือการการทำ Deep Link ไปยัง Play Store ซึ่งสามารถดู และจัดการการสมัครใช้บริการของตนได้

นอกจากนี้ คุณอาจต้องทำให้เกิดการยกเลิกจากแบ็กเอนด์ด้วย purchases.subscriptions.cancel ทำให้คุณสามารถยกเลิกการซื้อการสมัครรับข้อมูล ตัวอย่างเช่น คุณใช้วิธีนี้เพื่อปิดบริการเดิมได้ การยกเลิกการสมัครใช้บริการจะไม่เป็นการคืนเงิน และผู้ใช้จะดำเนินการต่อไป มีสิทธิ์เข้าถึงบริการจนกว่าช่วงเวลาที่เรียกเก็บเงินในปัจจุบันจะสิ้นสุดลง การยกเลิก การสมัครใช้บริการด้วยวิธีนี้จะป้องกันไม่ให้ผู้ใช้คืนค่าการสมัครใช้บริการ ใน Play Store แต่ผู้ใช้จะยังลงชื่อสมัครใช้อีกครั้งผ่านแอปได้หาก จำเป็น

การดำเนินการนี้จะทริกเกอร์ให้นักพัฒนาแอปแบบเรียลไทม์ของ SUBSCRIPTION_CANCELED การแจ้งเตือน จัดการการยกเลิกเหล่านี้ตามที่อธิบายไว้ใน การยกเลิก

เลื่อนการเรียกเก็บเงิน

ใช้ subscriptions.defer เพื่อขยายระยะเวลาให้สิทธิ์การสมัครใช้บริการ ระหว่างช่วงการเลื่อนเวลา ผู้ใช้ยังคงสมัครรับข้อมูลเนื้อหาของคุณ อย่างไรก็ตาม จะไม่มีการเรียกเก็บเงินสำหรับส่วนเพิ่มเติม เมื่อคุณเลื่อนการเรียกเก็บเงินสำหรับการสมัครใช้บริการ ข้อมูลสถานะจะเป็น อัปเดตตามนั้นแล้ว และคุณเห็นการเปลี่ยนแปลงแสดงในช่อง expiryTime ใน ข้อมูลสถานะการซื้อ:

  • สำหรับการสมัครใช้บริการตามรอบที่ใช้งานอยู่ การเรียกเก็บเงินที่รอตัดชำระจะขยายครั้งถัดไป วันที่ต่ออายุ
  • สำหรับแพ็กเกจแบบชำระเงินล่วงหน้า การเรียกเก็บเงินที่ล่าช้าจะขยายเวลาหมดอายุ

ตัวอย่างวิธีใช้การเรียกเก็บเงินที่รอตัดบัญชีมีดังนี้

  • มอบการเข้าถึงโดยไม่มีค่าใช้จ่ายเป็นข้อเสนอพิเศษแก่ผู้ใช้ เช่น ให้การเข้าถึงฟรี 1 สัปดาห์ แก่สมาชิกปัจจุบันได้ เพื่อตอบแบบสำรวจความคิดเห็น
  • ให้ลูกค้าเข้าถึงโดยไม่มีค่าใช้จ่ายเพื่อดูแลลูกค้า เช่น หลังจาก การหยุดทำงานเป็นเวลานานซึ่งอาจส่งผลต่อความสามารถในการใช้บริการของคุณ

การเรียกเก็บเงินสามารถเลื่อนได้ออกไปเพียง 1 วัน และสูงสุด 1 ปีต่อการเรียก API หากต้องการเลื่อนเวลาสิ้นสุดของการให้สิทธิ์ออกไปอีก ให้เรียกใช้ API อีกครั้ง ก่อนถึงวันที่หมดอายุใหม่

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

ตัวอย่าง

  1. บริการสตรีมมิงของ FitnessGoals ต้องการโปรโมตเพื่อ กระตุ้นให้ออกกำลังกายเป็นประจำในเดือนกุมภาพันธ์

  2. บริษัทตัดสินใจที่จะให้บริการเพิ่มอีก 1 เดือนแก่สมาชิกทุกราย ที่ออกกำลังกายด้วย FitnessGoals อย่างน้อย 10 ครั้งในเดือนที่ กุมภาพันธ์

  3. พวกเขาติดตามผลของความท้าทาย และในวันที่ 1 มีนาคม พวกเขาได้เรียก subscriptions.defer API สำหรับการซื้อการสมัครใช้บริการที่ใช้งานอยู่ทุกรายการที่เป็นของ ผู้ใช้ที่ตรงกับอุปสรรคในเดือนกุมภาพันธ์

  4. ผู้ใช้เหล่านี้จะได้รับสิทธิประโยชน์จากการออกกำลังกายเป็นประจำ 1 เดือนเต็ม วิดีโอที่ไม่มีค่าใช้จ่าย และผู้ใช้ยังบอกเพื่อนทุกคนว่า FitnessGoals ช่วยให้มีสุขภาพดีอยู่เสมอ

ดำเนินการคืนเงินและเพิกถอน

มีหลายกรณีที่คุณอาจต้องการออกเงินคืนหรือเพิกถอน สิทธิ์เข้าถึงการสมัครใช้บริการหรือการซื้อครั้งเดียว

คืนเงินเต็มจำนวนตามรหัสคำสั่งซื้อ

ด้วย orders.refund API คุณสามารถคืนเงินเต็มจำนวนสำหรับคำสั่งซื้อใดก็ได้ภายใน 3 ปีนับจากวันที่ซื้อ เมธอด orders.refund ได้รับพารามิเตอร์การเพิกถอนที่ระบุให้หรือไม่ ควรเพิกถอนการเข้าถึงนอกเหนือจากการคืนเงิน

หากคุณเพิกถอนคำขอขอเงินคืนสำหรับการซื้อการสมัครใช้บริการ การสมัครใช้บริการจะสิ้นสุดลงทันทีและจะทำให้ระบบSUBSCRIPTION_REVOKED การแจ้งเตือนแบบเรียลไทม์สำหรับนักพัฒนาซอฟต์แวร์ อ่านการจัดการวงจรการสมัครใช้บริการ แนะนำส่วนการเพิกถอน เพื่อดูวิธีจัดการกับเหตุการณ์เหล่านี้

ตัวอย่าง

  1. แอป e-Sports เพื่อเฉลิมฉลองการเริ่มต้นฟุตบอลโลกใหม่ ทีมฟุตบอลที่ไม่ใช่ซอกเกอร์ตัดสินใจจับรางวัลเสื้อเสมือนจริงฟรีสำหรับผู้ใช้ทุกคน ที่ซื้อชุดทีมใหม่ในช่วง 24 ชั่วโมงแรก

  2. Football-Not-Soccer ใช้orders.refund API โดยไม่ส่งพารามิเตอร์การเพิกถอน เพื่อคืนเงินการซื้อเสื้อเจอร์ซีย์ไปยัง ผู้ชนะ

เพิกถอนและคืนเงินการสมัครใช้บริการด้วยโทเค็นการซื้อ

สำหรับบาง Use Case คุณอาจต้องเพิกถอนสิทธิ์เข้าถึงการสมัครใช้บริการของผู้ใช้ และคืนเงิน การเรียกเก็บเงินของ Play มีวิธีเพิกถอนซึ่งรวมถึง การคืนเงินและการคืนเงินตามสัดส่วนผ่านsubscriptionsv2.revoke API คุณจะระบุ revocationContext ได้ด้วยปลายทางนี้ เพื่อกำหนดวิธีคำนวณเงินคืน

การดำเนินการนี้จะเรียกใช้นักพัฒนาแบบเรียลไทม์ SUBSCRIPTION_REVOKED การแจ้งเตือน แอปของคุณควรจัดการการยกเลิกเหล่านี้ตามที่อธิบายไว้ใน การเพิกถอน

ตัวอย่าง

  • ซื้อด้วยโทเค็นการซื้อ 1a2b3c4d5e6f7g8h9i0j
  • แอปพลิเคชันที่มีชื่อแพ็กเกจ com.your.app
  • เจตนาในการคืนเงินตามสัดส่วน

คำขอ HTTP POST:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

เนื้อหาคำขอ:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

คืนเงินเต็มจำนวน

หากต้องการสิ้นสุดการสมัครใช้บริการและคืนเงินเต็มจำนวน ช่วงเวลาที่เรียกเก็บเงินในปัจจุบัน โปรดคืนเงินเต็มจำนวน ใช้เมนู purchases.subscriptionsv2.revoke แล้วตั้ง "fullRefund": {} เป็นประเภทการคืนเงิน

ตัวอย่าง

  1. Maria สมัครใช้บริการสตรีมมิงของ Super Movies แบบต่ออายุใหม่อัตโนมัติ 30 วัน รายเดือน Maria พบปัญหาทางเทคนิคบางอย่างที่ทำให้เธอไม่สามารถ เข้าถึงเนื้อหาได้ เธอติดต่อฝ่ายบริการลูกค้าในวันที่ 3 ของการเรียกเก็บเงิน โดยบอกว่าเธอไม่เคยเข้าถึงการสมัครใช้บริการเลย

  2. ฝ่ายบริการลูกค้าพบรายละเอียดการซื้อการสมัครใช้บริการของมนฤดีใน ระบบของผู้ใช้และเรียกไปยัง purchases.subscriptionsv2.revoke ขอรับเงินคืนเต็มจำนวน

  3. ฝ่ายบริการลูกค้าบอกมาเรียว่าเธอควรได้คะแนนเต็ม 100% คืนเงินค่าสมัครใช้บริการแล้ว และเธอไม่ได้สมัครใช้บริการแพ็กเกจนั้นอีกต่อไป

การคืนเงินตามสัดส่วน

หากต้องการยุติการสมัครใช้บริการและคืนเงินบางส่วนที่เหลือ เมื่อถึงเวลาให้สิทธิ์ โปรดคืนเงินตามสัดส่วน ใช้เมนู purchases.subscriptionsv2.revoke แล้วตั้ง "proratedRefund": {} เป็นประเภทการคืนเงิน

ตัวอย่าง

  1. Maria สมัครใช้บริการสตรีมมิงของ Super Movies แบบต่ออายุใหม่อัตโนมัติ 30 วัน รายเดือน เธอใช้บริการมาระยะหนึ่งอย่างมีความสุข มนฤดีติดต่อฝ่ายบริการลูกค้าในวันที่ 15 ของรอบการเรียกเก็บเงินโดยแจ้งว่า กำลังย้ายไปอยู่ต่างประเทศ และจะไม่สามารถใช้บริการได้อีกต่อไปตั้งแต่ วันถัดไป

  2. ฝ่ายบริการลูกค้าพบรายละเอียดการซื้อการสมัครใช้บริการของมนฤดีใน ระบบของผู้ใช้และเรียกไปยัง purchases.subscriptionsv2.revoke การขอเงินคืนตามสัดส่วน

  3. ฝ่ายบริการลูกค้าบอกมารียาว่าเธอควรได้ประมาณ 50% จากทั้งหมด คืนเงินค่าสมัครใช้บริการแล้วและการเข้าถึงบริการจะสิ้นสุดลง ทันที