การคืนเงิน add-on ของการสมัครใช้บริการ Google Play เลือกคืนทีละรายการได้ แต่ลูกค้าของคุณยกเลิกได้เฉพาะทั้งชุด
Google Play ให้การสมัครใช้บริการหลักหนึ่งรายการมี add-on ได้สูงสุด 49 รายการบน purchase token เดียว บทความนี้อธิบายว่าการคืนเงิน add-on ทำงานอย่างไร การเรียก API ใดคืนเงินรายการเดียวโดยไม่กระทบรายการอื่น Google บล็อกไว้ในกรณีใด และการคืนเงินแต่ละแบบมีต้นทุนกับคุณเท่าไร

ประเด็นสำคัญ
- ฟีเจอร์การสมัครใช้บริการพร้อม add-on ของ Google Play รวมการสมัครใช้บริการหลักหนึ่งรายการและ add-on สูงสุด 49 รายการ รวมทั้งหมด 50 รายการ ไว้ในการซื้อครั้งเดียว และทุกรายการต้องใช้รอบการเรียกเก็บเงินแบบเกิดซ้ำเดียวกัน
- ผู้ใช้ Google Play ยกเลิก add-on เพียงรายการเดียวจาก Play Subscription Center ไม่ได้ ยกเลิกได้เฉพาะการสมัครใช้บริการหลักพร้อม add-on ทั้งหมดพร้อมกัน ดังนั้นการนำ add-on ออกหนึ่งรายการต้องทำภายในแอปของนักพัฒนา
- เมธอด purchases.subscriptionsv2.revoke รับ itemBasedRefund ที่มี productId หนึ่งค่า หากรายการอื่นยังใช้งานอยู่ Google จะเพิกถอนและคืนเงินเต็มจำนวนเฉพาะรายการนั้น และการสมัครใช้บริการยังคงดำเนินต่อไป
- Google บล็อกการคืนเงินรายรายการเมื่อการสมัครใช้บริการอยู่ในสถานะการชำระเงินถูกปฏิเสธ เมื่อรายการหมดอายุหรือไม่ได้เป็นเจ้าของ และสำหรับการสมัครใช้บริการแบบชำระเงินล่วงหน้า
- proratedRefund บนการสมัครใช้บริการที่มี add-on จะคืนเงินคำสั่งซื้อล่าสุดของทุกรายการ โดยคิดตามสัดส่วนเวลาที่เหลือจนถึงการต่ออายุครั้งถัดไป และเพิกถอนสิทธิ์เข้าถึงทุกรายการพร้อมกัน
- Real-time developer notifications สำหรับการสมัครใช้บริการที่มี add-on ไม่มี subscriptionId มาด้วย ดังนั้น backend ต้องเรียก purchases.subscriptionsv2.get และอ่าน lineItem แต่ละรายการเพื่อดูว่ารายการใดยังมีสิทธิ์ใช้งานอยู่
- ขั้นตอนการคืนเงินของ Google Play เพียงขั้นตอนเดียวที่ขอหลักฐานจากนักพัฒนาคือ chargeback ที่ถูกแจ้งให้ตรวจสอบผ่าน orders.reviewrefund ซึ่งมีกรอบเวลา 24 ชั่วโมง สำหรับคำสั่งซื้อหลังวันที่ 3 สิงหาคม 2026 หากแพ้ chargeback นักพัฒนาจะต้องเสียราคาซื้อหักค่าธรรมเนียมบริการของ Play บวกค่าธรรมเนียมของธนาคาร
ขายการสมัครใช้บริการหลักพร้อม add-on สามรายการบน Google Play แล้วคุณจะคืนเงิน add-on รายการใดก็ได้โดยไม่ต้องยกเลิกรายการที่เหลือ แต่ลูกค้าของคุณทำแบบเดียวกันจากฝั่งตัวเองไม่ได้ Google ให้ผู้ใช้ยกเลิกได้เฉพาะทั้งชุด ดังนั้นเครื่องมือที่แม่นยำสำหรับการคืนเงิน add-on ของการสมัครใช้บริการ Google Play จึงอยู่ในมือคุณซึ่งเป็นนักพัฒนา และใช้ได้ผ่าน API เท่านั้น ใช้ให้ถูกแล้วคุณจะคืนเงินเฉพาะบรรทัดที่มีปัญหา ใช้การเรียกผิด แล้วคุณจะคืนเงิน หรือเพิกถอน ทุกอย่าง
โครงสร้างของการสมัครใช้บริการที่มี add-on
Google ประกาศการชำระเงินหลายผลิตภัณฑ์สำหรับการสมัครใช้บริการในงาน I/O 2025 ขั้นตอนการซื้อเดียวขายการสมัครใช้บริการหลักพร้อม add-on ที่เลือกได้ โดยเรียกเก็บเงินร่วมกันตามกำหนดการเดียว คู่มือนักพัฒนาของ Google กำหนดข้อจำกัดไว้ชัดเจน:
- เฉพาะ base plan ที่ต่ออายุอัตโนมัติเท่านั้นที่มี add-on ได้ แพ็กเกจแบบชำระเงินล่วงหน้าทำไม่ได้
- ทุกรายการต้องใช้รอบการเรียกเก็บเงินแบบเกิดซ้ำเดียวกัน ไม่อนุญาตให้ใส่ add-on รายเดือนบนแพ็กเกจหลักรายปี
- การซื้อหนึ่งครั้งมีได้สูงสุด 50 รายการ คือแพ็กเกจหลักหนึ่งรายการและ add-on สูงสุด 49 รายการ
- ฟีเจอร์นี้ไม่มีให้บริการในเกาหลีใต้
ทั้งหมดอยู่บน purchase token เดียว เมื่อคุณเรียก purchases.subscriptionsv2.get การตอบกลับจะมีรายการ lineItems หนึ่งรายการต่อหนึ่ง item แต่ละ line item มี productId, expiryTime และ latestSuccessfulOrderId ของตัวเอง ฟิลด์สุดท้ายนี้คือสิ่งที่ทำให้คืนเงินรายรายการได้ เพราะแต่ละรายการมีคำสั่งซื้อล่าสุดของตัวเอง
การคิดตามสัดส่วนเริ่มตั้งแต่วันแรก
เมื่อผู้ใช้เพิ่ม add-on กลางรอบ Google จะเรียกเก็บเงินตามสัดส่วนทันทีเพื่อให้ add-on ต่ออายุในวันเดียวกับแพ็กเกจหลัก ตัวอย่างของ Google เองคือ add-on รายเดือนราคา $10 ที่เพิ่มในวันที่ 15 สิงหาคม หลังช่วงทดลองใช้ 7 วัน ถูกเรียกเก็บ $2.90 สำหรับช่วงที่เหลือของเดือนสิงหาคม ดังนั้น add-on หนึ่งรายการอาจมีคำสั่งซื้อแรกที่สั้นและยอดเงินไม่ลงตัวก่อนคำสั่งซื้อเต็มรอบแรก จำเรื่องนี้ไว้เมื่อคุณตรวจสอบว่าการคืนเงินจะไปตกที่คำสั่งซื้อใด
ลูกค้าของคุณยกเลิกได้เฉพาะทั้งชุด
หน้าความช่วยเหลือสำหรับผู้ใช้ของ Google ระบุไว้ตรงๆ ผู้ใช้ยกเลิกการสมัครใช้บริการหลักและ add-on ได้เฉพาะพร้อมกันเท่านั้น และขณะนี้ยังยกเลิก add-on ทีละรายการจาก Google Play ไม่ได้ การหยุดชั่วคราวก็ไม่มีให้ใช้เช่นกัน หากผู้ใช้ปฏิเสธการขึ้นราคา Google จะยกเลิกการสมัครใช้บริการหลักพร้อม add-on ทุกรายการ
ผลคือลูกค้าที่อยากเลิกใช้ add-on เพียงรายการเดียวมีทางเลือกใน Play Store แค่สองทาง คือยกเลิกทั้งหมด หรือขอเงินคืน ทั้งสองทางไม่ดีสำหรับคุณ คู่มือของ Google ระบุว่าแอปของคุณสามารถให้ตัวเลือกนำ add-on ออกแทนได้ add-on ที่ถูกนำออกจะหมดอายุเมื่อสิ้นสุดรอบการเรียกเก็บเงินปัจจุบัน และส่วนที่เหลือของชุดจะยังต่ออายุตามปกติ
เปรียบเทียบเครื่องมือคืนเงิน add-on ของการสมัครใช้บริการ Google Play
Google ให้คุณคืนเงินบนการสมัครใช้บริการที่มี add-on ได้ห้าวิธี แต่ละวิธีต่างกันที่สิ่งที่ได้รับเงินคืน และสิทธิ์เข้าถึงสิ้นสุดลงหรือไม่
| เครื่องมือ | สิ่งที่ได้รับเงินคืน | สิ่งที่เกิดขึ้นกับสิทธิ์เข้าถึง |
|---|---|---|
| คืนเงินใน Play Console สำหรับคำสั่งซื้อที่ระบุ | จำนวนเงินที่คุณเลือกในคำสั่งซื้อนั้น | ไม่มีสิ่งใดถูกเพิกถอน |
| orders.refund โดยไม่ตั้งค่า revoke | เต็มจำนวนของคำสั่งซื้อหนึ่งรายการ | ไม่มีสิ่งใดถูกเพิกถอน |
| subscriptionsv2.revoke พร้อม itemBasedRefund | ยอดเรียกเก็บล่าสุดเต็มจำนวนของหนึ่งรายการ | เฉพาะรายการนั้นที่สิ้นสุด ยกเว้นเป็นรายการสุดท้ายที่ยังใช้งานอยู่ |
| subscriptionsv2.revoke พร้อม proratedRefund | คำสั่งซื้อล่าสุดของแต่ละรายการ คิดตามสัดส่วนเวลาที่เหลือ | ทุกรายการสิ้นสุดทันที |
| subscriptionsv2.revoke พร้อม fullRefund | ยอดเรียกเก็บล่าสุดเต็มจำนวนของแต่ละรายการ | ทุกรายการสิ้นสุดทันที |
Google เพิ่มคำเตือนสำคัญหนึ่งข้อในคู่มือ add-on คืออย่าเรียก purchases.subscriptions.refund ที่เลิกใช้แล้วกับการสมัครใช้บริการที่มี add-on และ orders.refund ใช้กับคำสั่งซื้อที่เก่ากว่าสามปีไม่ได้
itemBasedRefund ทำงานอย่างไร
ออบเจ็กต์ itemBasedRefund รับฟิลด์บังคับหนึ่งฟิลด์คือ productId ซึ่งระบุรายการที่จะเพิกถอน Google อธิบายผลลัพธ์ไว้สองแบบ:
- รายการอื่นยังใช้งานอยู่: เฉพาะรายการที่ระบุถูกเพิกถอนและคืนเงินเต็มจำนวน และการสมัครใช้บริการดำเนินต่อไป
- ไม่มีรายการอื่นที่ยังใช้งานอยู่: รายการนั้นถูกเพิกถอน คืนเงินเต็มจำนวน และการสมัครใช้บริการทั้งหมดถูกยกเลิก
ระบุได้หนึ่งรายการต่อหนึ่งคำขอ หากต้องการคืนเงิน add-on สองรายการ ให้เรียกสองครั้ง
เมื่อใดที่ Google บล็อกการคืนเงินรายรายการ
Google ปฏิเสธ itemBasedRefund ในสามกรณี กรณีแรก การสมัครใช้บริการอยู่ในสถานะการชำระเงินถูกปฏิเสธใดๆ ซึ่งรวมถึงระยะเวลาผ่อนผันและการระงับบัญชี กรณีที่สอง รายการที่คุณระบุไม่ได้เป็นเจ้าของหรือหมดอายุแล้ว กรณีที่สาม การซื้อนั้นเป็นการสมัครใช้บริการแบบชำระเงินล่วงหน้า ซึ่งไม่รองรับการยกเลิกรายรายการเลย
การคืนเงินตาม ID คำสั่งซื้อทำอะไร
คู่มือของ Google ระบุว่าแฟล็ก revoke ใน orders.refund จะสิ้นสุดสิทธิ์เข้าถึงก็ต่อเมื่อคำสั่งซื้อนั้นเป็นคำสั่งซื้อล่าสุดของการสมัครใช้บริการ สำหรับคำสั่งซื้อที่เก่ากว่า การคืนเงินจะสำเร็จและไม่มีสิ่งใดถูกเพิกถอน Play Console ทำงานแบบเดียวกัน คืนเงินคำสั่งซื้อล่าสุดแล้วการสมัครใช้บริการจะถูกนำออก คืนเงินคำสั่งซื้อที่เก่ากว่าแล้วการสมัครใช้บริการจะยังใช้งานอยู่ เมื่อมี add-on ให้เลือกคำสั่งซื้อจาก latestSuccessfulOrderId ของ line item ที่ถูกต้อง ไม่เช่นนั้นคุณอาจคืนเงินยอดเรียกเก็บคนละรายการกับที่ตั้งใจ
ใครเป็นผู้ตัดสินการคืนเงิน และเมื่อใดที่คุณจะถูกขอหลักฐาน
การคืนเงินส่วนใหญ่บนการสมัครใช้บริการที่มี add-on ถูกตัดสินโดยไม่ผ่านคุณ เหมือนการสมัครใช้บริการ Play อื่นๆ ภายใน 48 ชั่วโมงหลังการซื้อ ผู้ใช้ขอเงินคืนจาก Google ได้ผ่าน รายงานปัญหา และ Google เป็นผู้ตัดสิน หลังจากนั้น Google จะส่งผู้ใช้มาหาคุณ และหากคุณไม่ acknowledge การซื้อการสมัครใช้บริการใหม่ภายในสามวัน Google จะคืนเงินให้ผู้ใช้โดยอัตโนมัติและเพิกถอนการซื้อนั้น
มีเพียงขั้นตอนเดียวที่ขอข้อมูลจากฝั่งคุณ เมื่อผู้ถือบัตรยื่น chargeback และ Google แจ้งให้นักพัฒนาตรวจสอบ คุณจะได้รับ PendingRefundReviewNotification และมีเวลา 24 ชั่วโมงในการเรียก orders.reviewrefund พร้อมความต้องการด้านการคืนเงินและหลักฐานการใช้งาน ตัว chargeback เองตัดสินโดยธนาคาร และคำตัดสินของธนาคารถือเป็นที่สิ้นสุด
การติดตามการคืนเงิน add-on บนเซิร์ฟเวอร์ของคุณ
เอกสารอ้างอิง RTDN ของ Google ระบุ SUBSCRIPTION_ITEMS_CHANGED สำหรับการเปลี่ยนแปลงของรายการในชุดการสมัครใช้บริการ และ SUBSCRIPTION_REVOKED สำหรับการสมัครใช้บริการที่ถูกเพิกถอนก่อนเวลาหมดอายุ คู่มือของ Google ระบุว่าการเพิกถอนผ่าน subscriptionsv2.revoke จะทริกเกอร์ทั้งการแจ้งเตือน SUBSCRIPTION_REVOKED และ VoidedPurchaseNotification และถูกบันทึกไว้ใน Voided Purchases API
จุดที่ต้องระวังคือ subscriptionId Google ระบุว่าฟิลด์นี้ไม่มีอยู่ใน RTDN สำหรับการสมัครใช้บริการที่มี add-on ดังนั้นอย่าพึ่งการแจ้งเตือนเพื่อบอกว่ารายการใดเปลี่ยนไป ในทุกการแจ้งเตือนของชุด:
- เรียก purchases.subscriptionsv2.get ด้วย purchaseToken
- อ่าน lineItem ทุกรายการและ expiryTime ของแต่ละรายการ Google ระบุว่าคุณต้องรีเฟรช expiryTime ของทุกรายการ ไม่ใช่เฉพาะรายการที่คุณคาดไว้
- ให้หรือนำสิทธิ์เข้าถึงออกตาม productId ไม่ใช่ตาม purchase token
- ทำ polling ไปที่ Voided Purchases API เป็นตัวสำรอง API นี้ครอบคลุม 30 วันที่ผ่านมา
ระยะเวลาผ่อนผันและการระงับบัญชีมีผลกับทั้งชุด
ปัญหาการชำระเงินกระทบทุกรายการพร้อมกัน Google เลือกระยะเวลาผ่อนผันที่สั้นที่สุดในบรรดารายการที่ใช้งานอยู่ แล้วนำไปใช้กับการต่ออายุทั้งหมด ระหว่างระยะเวลาผ่อนผัน ผู้ใช้ยังคงมีทุกรายการ เมื่ออยู่ในสถานะระงับบัญชี สิทธิ์เข้าถึงทุกรายการจะถูกระงับ หากการชำระเงินไม่กลับมาเลย รายการที่ถูกปฏิเสธการชำระเงินจะหมดอายุ และรายการอื่นจะกลับมาใช้งานต่อจนสิ้นสุดรอบการเรียกเก็บเงินของตัวเอง

การคืนเงินแต่ละแบบมีต้นทุนเป็นเงินเท่าไร
add-on มักผูกกับสิ่งที่คุณต้องจ่ายเงิน พื้นที่จัดเก็บบนคลาวด์เพิ่มเติมถูกเรียกเก็บโดยผู้ให้บริการพื้นที่จัดเก็บของคุณ แพ็กเครดิต AI ถูกเรียกเก็บเป็นการเรียก API ของโมเดล ที่นั่งเพิ่มหมายถึงการประมวลผลที่มากขึ้น และระดับสำหรับครีเอเตอร์อาจทำให้เกิดการจ่ายเงินให้ครีเอเตอร์ ต้นทุนเหล่านี้เกิดขึ้นเมื่อผู้ใช้ใช้งาน add-on และการคืนเงินจะคืนราคาขายโดยไม่ได้คืนต้นทุนใดๆ เหล่านั้นเลย
คืนเงินมากเกินไป
ความผิดพลาดที่แพงคือการใช้ fullRefund หรือ proratedRefund เมื่อข้อร้องเรียนเกี่ยวกับ add-on เพียงรายการเดียว ทั้งสองแบบเพิกถอนทุกรายการ คุณจึงต้องคืนราคาแพ็กเกจหลักไปด้วยและเสียผู้สมัครที่ตั้งใจจะอยู่ต่อ itemBasedRefund คืนเฉพาะยอดเรียกเก็บล่าสุดของ add-on นั้น เมื่อถูกบล็อก orders.refund บนคำสั่งซื้อล่าสุดของรายการนั้นจะคืนเงินได้โดยไม่ทำให้สิ่งใดสิ้นสุด
การคืนเงินบางส่วนและค่าธรรมเนียม
Play Console ให้คุณคืนเงินบางส่วนสำหรับคำสั่งซื้อการสมัครใช้บริการได้ และ Google ระบุว่าเปอร์เซ็นต์การคืนเงินมีผลกับยอดเงินที่คุณได้รับและค่าธรรมเนียมบริการด้วย คืนเงินครึ่งหนึ่งของคำสั่งซื้อ ค่าธรรมเนียมของ Google ครึ่งหนึ่งก็จะกลับมาด้วย แต่ต้นทุนของคุณเองในการให้บริการ add-on นั้นไม่กลับมา
chargeback บนการซื้อแบบชุด
สำหรับคำสั่งซื้อหลังวันที่ 3 สิงหาคม 2026 Google จะโอนต้นทุน chargeback มาให้นักพัฒนา เมื่อ chargeback สำเร็จ คุณต้องจ่ายราคาซื้อหักค่าธรรมเนียมบริการของ Play บวกค่าธรรมเนียมที่ธนาคารเรียกเก็บ คำสั่งซื้อแบบชุดที่มี add-on หลายรายการคือคำสั่งซื้อที่มีมูลค่าเสียหายสูงกว่า บันทึกการใช้งานแยกตาม add-on ที่ผูกกับ ID บัญชีที่ปกปิดแล้ว คือสิ่งที่คุณจะส่งในการตรวจสอบ 24 ชั่วโมง
เช็กลิสต์สำหรับการคืนเงิน add-on
- มีช่องทางในแอปสำหรับนำ add-on ออกทีละรายการ เพราะ Google Play ไม่มีให้
- จัดเก็บ productId, expiryTime และ latestSuccessfulOrderId ของ lineItem แต่ละรายการในทุกการแจ้งเตือน
- ใช้ itemBasedRefund เป็นค่าเริ่มต้นเมื่อปัญหาอยู่ที่ add-on รายการเดียว
- เมื่อการสมัครใช้บริการอยู่ในระยะเวลาผ่อนผันหรือการระงับบัญชี ให้คืนเงินคำสั่งซื้อของรายการนั้นด้วย orders.refund แทน
- อย่าเรียก purchases.subscriptions.refund ที่เลิกใช้แล้วกับการซื้อแบบชุดเด็ดขาด
- บันทึกการใช้งาน add-on แยกตามบัญชี เพื่อให้ส่งการตรวจสอบ chargeback ได้ภายใน 24 ชั่วโมง
- รายงานอัตราการคืนเงินแยกตาม add-on ไม่ใช่แค่ตามการสมัครใช้บริการ เพื่อไม่ให้ add-on ที่มีปัญหาซ่อนอยู่ในตัวเลขของ base plan
คำถามที่พบบ่อย
- ผู้ใช้ยกเลิก add-on เพียงรายการเดียวในการสมัครใช้บริการ Google Play ได้หรือไม่
- ทำจาก Google Play ไม่ได้ หน้าความช่วยเหลือของ Google ระบุว่าผู้ใช้ยกเลิกได้เฉพาะการสมัครใช้บริการหลักและ add-on พร้อมกัน แอปของคุณสามารถให้ตัวเลือกนำ add-on ออกทีละรายการได้ และ add-on นั้นจะหมดอายุเมื่อสิ้นสุดรอบการเรียกเก็บเงินปัจจุบัน
- จะคืนเงิน add-on หนึ่งรายการโดยไม่ยกเลิกการสมัครใช้บริการได้อย่างไร
- เรียก purchases.subscriptionsv2.revoke พร้อม itemBasedRefund ที่ระบุ productId ของ add-on หากรายการอื่นยังใช้งานอยู่ Google จะเพิกถอนและคืนเงินเต็มจำนวนเฉพาะรายการนั้น หรือคุณจะคืนเงินคำสั่งซื้อล่าสุดของรายการนั้นด้วย orders.refund โดยไม่ตั้งแฟล็ก revoke ก็ได้ วิธีนี้คืนเงินและไม่แตะสิทธิ์เข้าถึง
- ทำไมการเรียก itemBasedRefund ของฉันจึงล้มเหลว
- Google บล็อกเมื่อการสมัครใช้บริการอยู่ในสถานะการชำระเงินถูกปฏิเสธ เมื่อรายการไม่ได้เป็นเจ้าของหรือหมดอายุแล้ว และสำหรับการสมัครใช้บริการแบบชำระเงินล่วงหน้า ตรวจสอบ expiryTime ของ line item และสถานะการสมัครใช้บริการก่อนเรียก
- การคืนเงินตามสัดส่วนใช้กับการสมัครใช้บริการที่มี add-on ได้หรือไม่
- ได้ แต่จะเพิกถอนทุกอย่าง Google คืนเงินคำสั่งซื้อล่าสุดของแต่ละรายการ โดยคิดตามสัดส่วนเวลาที่เหลือจนถึงการต่ออายุครั้งถัดไป และสิทธิ์เข้าถึงทุกรายการจะสิ้นสุดทันที
- RTDN ใดบอกว่า add-on ได้รับการคืนเงินแล้ว
- คู่มือของ Google ระบุว่าการเพิกถอนจะทริกเกอร์ SUBSCRIPTION_REVOKED และ VoidedPurchaseNotification ส่วน SUBSCRIPTION_ITEMS_CHANGED ครอบคลุมการเปลี่ยนแปลงของรายการในชุด เนื่องจากไม่มี subscriptionId สำหรับการซื้อแบบชุด ให้เรียก purchases.subscriptionsv2.get และอ่าน lineItem แต่ละรายการเพื่อดูว่าอะไรเปลี่ยนไป
แหล่งข้อมูลและเนื้อหาเพิ่มเติม
- Google Play Billing: Subscription with add-ons
- Google Play Help: Subscriptions with add-ons
- Google Play Developer API: purchases.subscriptionsv2.revoke
- Google Play Developer API: orders.refund
- Google Play Billing: Manage subscriptions and one-time purchases
- Play Console Help: Issue refunds and cancel orders
- Google Play Billing: Real-time developer notifications reference
- Google Play Billing: Subscription lifecycle
- Google Play Help: Request a refund on Google Play
- Google Play Developer API: orders.reviewrefund
- Play Console Help: Updates to refund protection and chargeback cost responsibility
RefundHalt
ระบบอัตโนมัติสำหรับการคืนเงินบน App Store และ Google Play
อ่านต่อ
คำขอคืนเงินที่มากเกินไปอาจทำให้คุณเสียมากกว่ายอดคืนเงิน เพราะทั้งสองสโตร์มองว่าเป็นสัญญาณด้านคุณภาพ
แนวทาง 5.6.4 ของ Apple ระบุว่าคำขอคืนเงินที่มากเกินไปเป็นสัญญาณว่าแอปไม่ได้มาตรฐานคุณภาพ และข้อตกลงการจัดจำหน่ายสำหรับนักพัฒนาของ Google ก็เปิดให้ถอดแอปของนักพัฒนารายใหม่ได้จากอัตราการคืนเงิน บทความนี้สรุปว่าแต่ละสโตร์เขียนไว้อย่างไร การถูกถอดแอปมีต้นทุนเท่าไร และจะอยู่ให้ห่างจากความเสี่ยงได้อย่างไร
ตรวจสอบการแจ้งเตือนจากเซิร์ฟเวอร์ App Store ก่อนดำเนินการกับการคืนเงิน เพราะใครก็ส่งคำขอมายัง URL webhook ของคุณได้
การแจ้งเตือนการคืนเงินเป็นเพียงคำขอ HTTPS ธรรมดาจนกว่าคุณจะตรวจสอบลายเซ็นของมัน บทความนี้อธิบายวิธีตรวจสอบการแจ้งเตือนจากเซิร์ฟเวอร์ App Store และข้อความ RTDN ของ Google Play แต่ละสโตร์ลงลายเซ็นอะไรบ้าง และการคืนเงินที่ถูกปลอมแปลงหรือถูกปฏิเสธโดยผิดพลาดทำให้คุณเสียเงินเท่าใด