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

ประเด็นสำคัญ
- Google Play คืนเงินให้ผู้ซื้อและเพิกถอนการซื้อโดยอัตโนมัติหากแอปของคุณไม่รับทราบภายในสามวัน นี่คือความล้มเหลวของการเชื่อมต่อระบบ ไม่ใช่การตัดสินใจของลูกค้า และป้องกันได้อย่างสมบูรณ์ที่ฝั่งเซิร์ฟเวอร์
- นาฬิกาสามวันเริ่มนับเมื่อสถานะการซื้อกลายเป็น PURCHASED ไม่ใช่เมื่อเริ่มชำระเงิน การซื้อที่ยังอยู่ในสถานะ PENDING ยังไม่ได้เริ่มนับเวลาและยังไม่ควรรับทราบ
- มีสองการเรียกใช้ที่ตอบสนองข้อกำหนดนี้ การบริโภคสินค้า consumable ผ่าน purchases.products.consume และการรับทราบสินค้า non-consumable หรือการสมัครสมาชิกผ่าน purchases.products.acknowledge หรือ purchases.subscriptions.acknowledge นับเป็นการรับทราบทั้งคู่
- มีเพียงการซื้อการสมัครสมาชิกครั้งแรกเท่านั้นที่ต้องรับทราบ การต่ออายุไม่ต้อง และ Google ทำเครื่องหมาย ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED ให้โดยอัตโนมัติ
- แผนแบบชำระล่วงหน้าที่สั้นกว่าหนึ่งสัปดาห์ต้องรับทราบภายในครึ่งหนึ่งของระยะเวลาแผน ซึ่งเป็นกำหนดเวลาที่เข้มงวดกว่าสามวันมาตรฐาน
- การคืนเงินดึงราคาขายกลับ แต่การประมวลผล การเรียก API ของโมเดล พื้นที่จัดเก็บ และการจ่ายเงินให้ครีเอเตอร์ที่คุณใช้ไปแล้วในการส่งมอบผลิตภัณฑ์นั้นไม่ได้คืนมา เงินที่คุณเสียใหญ่กว่ารายการในบิล
- Apple ไม่มีสิ่งที่เทียบเท่า ธุรกรรม StoreKit ที่ยังไม่เสร็จสิ้นจะถูกส่งซ้ำจนกว่าคุณจะทำให้เสร็จ แต่ Apple ไม่เคยคืนเงินโดยอัตโนมัติ โหมดความล้มเหลวนี้มีเฉพาะบน Google Play เท่านั้น
ลูกค้าซื้อผลิตภัณฑ์ของคุณ การเรียกเก็บเงินผ่าน และสามวันต่อมา Google Play ก็คืนเงินอย่างเงียบ ๆ และดึงสิ่งที่คุณส่งมอบไปกลับคืน ไม่มีใครขอการคืนเงินนั้น ลูกค้าไม่ได้ร้องขอ และไม่มีเจ้าหน้าที่ฝ่ายสนับสนุนคนใดอนุมัติ มันทำงานเพราะเซิร์ฟเวอร์ของคุณไม่เคยบอก Google ว่าการซื้อได้รับการจัดการแล้ว หากคุณไม่รับทราบการซื้อบน Google Play ภายในสามวัน Google จะคืนเงินให้ผู้ซื้อและเพิกถอนการซื้อ ทุกครั้งไป นี่คือหนึ่งในไม่กี่การคืนเงินบนทั้งสองสโตร์ที่การป้องกันเป็นหน้าที่การเชื่อมต่อระบบของคุณโดยสมบูรณ์ และเป็นหนึ่งในวิธีที่เงียบที่สุดในการรั่วไหลรายได้
นี่ไม่ใช่ปัญหาการฉ้อโกงหรือข้อพิพาทด้านนโยบาย มันคือ callback ที่พลาดไป การแก้ไขนั้นเล็กน้อยและต้นทุนของการข้ามมันไปคือเงินจริง จึงคุ้มค่าที่จะรู้กฎอย่างแน่ชัด รู้ว่าทำไมการซื้อจึงหลุดผ่านไปโดยไม่ได้รับทราบ และรู้ว่าการขายที่หายไปแต่ละครั้งพาอะไรไปด้วยจริง ๆ
กฎสามวันบอกอะไรจริง ๆ
เอกสาร Play Billing ของ Google พูดตรง ๆ เกี่ยวกับเรื่องนี้ หลังจากแอปของคุณมอบสิทธิ์การใช้งานและบอกผู้ใช้ว่าการซื้อสำเร็จ มันต้องแจ้ง Google ว่าการซื้อได้รับการประมวลผลแล้ว ในคำพูดของ Google นี่ "ต้องทำภายในสามวันเพื่อไม่ให้การซื้อถูกคืนเงินโดยอัตโนมัติและสิทธิ์การใช้งานถูกเพิกถอน" หน้าผลิตภัณฑ์แบบซื้อครั้งเดียวย้ำเรื่องนี้โดยไม่ทำให้อ่อนลง "หากคุณไม่รับทราบการซื้อภายในสามวัน ผู้ใช้จะได้รับการคืนเงินโดยอัตโนมัติ และ Google Play จะเพิกถอนการซื้อ" การสมัครสมาชิกมีกฎเดียวกันสำหรับการซื้อครั้งแรก
การรับทราบคือสัญญาณ ไม่ใช่พิธีการ มันบอก Google ว่าสิทธิ์การใช้งานไปถึงผู้ใช้แล้ว Google ถือว่าการขาดสัญญาณนั้นคือการส่งมอบที่ไม่เคยเกิดขึ้น และมันจะย้อนธุรกรรมกลับในนามของลูกค้า จากฝั่งผู้ซื้อ มันดูเหมือนการคืนเงินฟรีที่พวกเขาไม่เคยขอ จากฝั่งของคุณ มันดูเหมือนการขายที่ระเหยหายไป
นาฬิกาเริ่มนับที่ PURCHASED ไม่ใช่ที่การชำระเงิน
ช่วงเวลาสามวันไม่ได้เริ่มเมื่อผู้ใช้แตะซื้อ มันเริ่มเมื่อสถานะการซื้อเปลี่ยนไปเป็น PURCHASED การซื้อสามารถอยู่ในสถานะ PENDING ก่อนได้ ซึ่งเกิดขึ้นกับการชำระเงินสด การโอนเงินธนาคารที่ล่าช้า หรือผู้ปกครองอนุมัติคำขอของลูก Google ระบุชัดเจนว่า "ช่วงเวลารับทราบสามวันจะเริ่มก็ต่อเมื่อสถานะการซื้อเปลี่ยนจาก PENDING ไปเป็น PURCHASED"
นั่นมีสองผลลัพธ์ จงมอบสิทธิ์การใช้งานเฉพาะเมื่อสถานะเป็น PURCHASED เท่านั้น อย่ามอบเมื่อ PENDING ไม่เช่นนั้นคุณจะแจกผลิตภัณฑ์ให้กับการชำระเงินที่อาจไม่มีวันเสร็จสมบูรณ์ และอย่ารับทราบการซื้อที่ PENDING ด้วย คุณเรียก enablePendingPurchases() ตอนที่คุณสร้าง BillingClient รอการเปลี่ยนสถานะ และค่อยเริ่มนับนาฬิกาการรับทราบในหัวของคุณหลังจากนั้น
รับทราบหรือบริโภค และคุณมีภาระอันไหน
มีสองวิธีในการตอบสนองข้อกำหนดนี้ และคุณใช้วิธีไหนขึ้นอยู่กับผลิตภัณฑ์ ทั้งสองผ่านกำหนดเวลาสามวัน ความแตกต่างคือมันทำอะไรอีกบ้าง
สำหรับสินค้า consumable คุณบริโภคมัน บนแบ็กเอนด์ที่ปลอดภัยนั่นคือ purchases.products.consume หรือ consumeAsync() ที่ฝั่งไคลเอนต์ใน Play Billing Library การบริโภคทั้งรับทราบการซื้อและทำให้ผลิตภัณฑ์ซื้อได้อีกครั้ง ซึ่งเป็นสิ่งที่คุณต้องการพอดีสำหรับเหรียญ เครดิต หรือการสร้างครั้งเดียว สำหรับสินค้า non-consumable หรือการสมัครสมาชิก คุณรับทราบมัน คือ purchases.products.acknowledge หรือ purchases.subscriptions.acknowledge บนแบ็กเอนด์ หรือ acknowledgePurchase() ที่ฝั่งไคลเอนต์ การรับทราบผ่านกำหนดเวลาโดยไม่ปลดล็อกผลิตภัณฑ์ให้ซื้อซ้ำ
| ประเภทการซื้อ | การเรียกใช้ที่ตอบสนองกำหนดเวลา | มันทำอะไรอีก | กำหนดเวลา |
|---|---|---|---|
| Consumable | purchases.products.consume หรือ consumeAsync() | ทำให้ผลิตภัณฑ์ซื้อซ้ำได้ด้วย | 3 วันนับจาก PURCHASED |
| Non-consumable | purchases.products.acknowledge หรือ acknowledgePurchase() | ทำเครื่องหมายว่ามอบสิทธิ์แล้ว ไม่มีการซื้อซ้ำ | 3 วันนับจาก PURCHASED |
| การสมัครสมาชิก, การซื้อครั้งแรก | purchases.subscriptions.acknowledge หรือ acknowledgePurchase() | ยืนยันการสมัครสมาชิกใหม่ | 3 วันนับจาก PURCHASED |
| การต่ออายุการสมัครสมาชิก | ไม่ต้องทำอะไร | Google ทำเครื่องหมายว่ารับทราบแล้วโดยอัตโนมัติ | ไม่มีผลบังคับใช้ |
| แผนชำระล่วงหน้าต่ำกว่าหนึ่งสัปดาห์ | รับทราบตามข้างต้น | ยืนยันสิทธิ์การใช้งาน | ครึ่งหนึ่งของระยะเวลาแผน |
การต่ออายุได้รับการจัดการแล้ว การซื้อครั้งแรกยังไม่
คุณมีภาระต้องรับทราบเฉพาะการซื้อครั้งแรกของการสมัครสมาชิกเท่านั้น Google ระบุตรง ๆ ว่า "คุณไม่จำเป็นต้องรับทราบการต่ออายุการสมัครสมาชิก" และมันประทับตรา ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED ให้การต่ออายุด้วยตัวเอง การซื้อใหม่มาถึงในสถานะ ACKNOWLEDGEMENT_STATE_PENDING และยังคงเป็นความรับผิดชอบของคุณจนกว่าคุณจะจัดการเสร็จ ก่อนที่คุณจะรับทราบ ให้ตรวจสอบ acknowledgementState บนแบ็กเอนด์ หรือ isAcknowledged() ที่ฝั่งไคลเอนต์ เพื่อไม่ให้คุณรับทราบซ้ำสองครั้ง
แผนชำระล่วงหน้ามีชนวนที่สั้นกว่า
แผนสมัครสมาชิกแบบชำระล่วงหน้าทำให้ช่วงเวลาแคบลง กฎของ Google คือ แผนชำระล่วงหน้าที่มีระยะเวลาหนึ่งสัปดาห์ขึ้นไปต้องรับทราบภายในสามวัน แต่ "แผนชำระล่วงหน้าที่มีระยะเวลาสั้นกว่าหนึ่งสัปดาห์ต้องรับทราบภายในครึ่งหนึ่งของระยะเวลาแผน" แผนชำระล่วงหน้าสามวันให้เวลาคุณหนึ่งวันครึ่ง ไม่ใช่สามวัน หากคุณขายการเติมแบบชำระล่วงหน้าระยะสั้น เส้นทางการรับทราบของคุณต้องเร็วและขับเคลื่อนด้วยเซิร์ฟเวอร์ ไม่ใช่ขึ้นอยู่กับการที่ผู้ใช้เปิดแอปอีกครั้ง
ทำไมการซื้อจึงไม่ได้รับการรับทราบตั้งแต่แรก
ไม่มีใครตั้งใจจะข้ามการรับทราบ มันหลุดไปเพราะโค้ดที่รับทราบอยู่ผิดที่ รูปแบบต่อต้านที่พบบ่อยคือไคลเอนต์ที่รับทราบเฉพาะเมื่อโฟลว์การซื้อกลับมาที่พื้นหน้า นั่นได้ผลกับผู้ใช้ที่ซื้อเสร็จและใช้แอปต่อ แต่มันล้มเหลวกับคนอื่นทั้งหมด
นักพัฒนาเจอเรื่องนี้อยู่ตลอด กระทู้ในชุมชนนักพัฒนาของ Google เองอ่านออกมาแบบเดียวกันทุกครั้ง เป็นรูปแบบทำนอง "ผู้ใช้ได้รับการคืนเงินโดยอัตโนมัติหลังจากซื้อจากแอปของฉันหลังจากสามวัน" และ "ทำไมการชำระเงินจึงถูกคืนเงินโดยอัตโนมัติหลังจากสามวัน" คำตอบเกือบจะเหมือนกันเสมอ คือ การเรียกใช้การรับทราบไม่เคยทำงานเพราะแอปไม่เคยอยู่ในสถานะที่จะทำงานได้
ทดลองใช้ฟรีและผู้ใช้ที่ไม่เคยกลับมา
เวอร์ชันที่แย่ที่สุดคือการทดลองใช้ฟรีหรือการซื้อก่อนที่ผู้ใช้จะปิดแอปไปตลอดกาล หากการรับทราบของคุณขึ้นอยู่กับการเปิดแอปครั้งถัดไป และไม่มีการเปิดแอปครั้งถัดไป การซื้อก็จะหมดอายุ ในวันที่สาม Google คืนเงินและเพิกถอนมัน สำหรับการทดลองใช้ที่ควรจะแปลงเป็นการสมัครสมาชิกแบบเสียเงิน คุณสูญเสียการเรียกเก็บเงินครั้งแรกที่คุณไม่เคยได้เก็บ บวกกับสิทธิ์การใช้งานของลูกค้าที่หายไปอย่างเงียบ ๆ ทั้งสองเหตุการณ์นี้ไม่ปรากฏเป็นตั๋วฝ่ายสนับสนุน มันปรากฏเป็นการซื้อที่ถูกยกเลิกซึ่งคุณต้องไปตามหาเอง
การคืนเงินที่ไม่ได้รับทราบมีต้นทุนจริงเท่าไร
บรรทัดคืนเงินประเมินความสูญเสียต่ำเกินไป เมื่อ Google ย้อนการขายกลับ คุณคืนราคาไป และนั่นคือตัวเลขที่มองเห็นได้ มันไม่ใช่บิลทั้งหมด
ลองนึกถึงสินค้า consumable ที่กระตุ้นงานจริงในทันทีที่ถูกซื้อ ชุดการสร้างภาพ ชุดการเรียก API ของผู้ให้บริการโมเดล การส่งออกวิดีโอ การจ่ายเงินให้ครีเอเตอร์ คุณจ่ายค่าประมวลผลนั้น ค่าเรียก API นั้น ค่าจัดเก็บนั้น และค่าจ่ายเงินเหล่านั้นในเวลาที่ใช้งาน การคืนเงินคืนราคาขายให้ลูกค้า มันไม่คืนใบแจ้งหนี้ของผู้ให้บริการให้คุณ คุณส่งมอบต้นทุนจริงและไม่ได้อะไรกลับคืนมาเลย
สำหรับการสมัครสมาชิกและการทดลองใช้ ความสูญเสียคือการเรียกเก็บเงินครั้งแรกที่คุณไม่เคยได้เก็บและความสัมพันธ์กับลูกค้าที่จบลงก่อนที่มันจะเริ่ม และเริ่มตั้งแต่วันที่ 3 สิงหาคม 2026 Google Play จะโยนราคาซื้อ chargeback และค่าธรรมเนียมธนาคารมาให้นักพัฒนาสำหรับคำสั่งซื้อที่วางหลังจากวันนั้น ซึ่งทำให้การรั่วไหลรายได้ที่หลีกเลี่ยงได้ทุกจุดคุ้มค่าที่จะปิดตอนนี้มากกว่าไว้ทีหลัง การคืนเงินที่ไม่ได้รับทราบไม่ใช่ chargeback แต่มันคือบทเรียนเดียวกัน คือ เงินที่คุณใช้ไปแล้วไม่ใช่เงินที่คุณเก็บไว้ได้โดยอัตโนมัติ

วิธีรับทราบการซื้อ Google Play ที่ฝั่งเซิร์ฟเวอร์
รูปแบบที่เชื่อถือได้จะเอาแอปออกจากเส้นทางวิกฤต จงทำมันบนแบ็กเอนด์ของคุณ ขับเคลื่อนด้วยการแจ้งเตือน ไม่ใช่ด้วยการที่ผู้ใช้เปิดหน้าจออีกครั้ง
- คอยฟัง Real-time developer notifications เหตุการณ์การซื้อ ONE_TIME_PRODUCT หรือ SUBSCRIPTION_PURCHASED จะบอกเซิร์ฟเวอร์ของคุณว่ามีการซื้อเกิดขึ้นในทันทีที่ Google รู้ ไม่ว่าแอปจะเปิดอยู่หรือไม่
- ยืนยันโทเค็นการซื้อกับ Play Developer API และยืนยันว่าสถานะเป็น PURCHASED ไม่ใช่ PENDING
- มอบสิทธิ์การใช้งานในบันทึกของคุณเอง โดยผูกกับผู้ใช้
- รับทราบหรือบริโภคทันที บริโภคสินค้า consumable รับทราบสินค้า non-consumable และการสมัครสมาชิกครั้งแรก ตรวจสอบ acknowledgementState ก่อนเพื่อไม่ให้คุณรับทราบซ้ำสองครั้ง
- เติมเต็มที่ฝั่งไคลเอนต์ด้วย เรียก queryPurchasesAsync() ใน onResume() เพื่อให้การซื้อใดก็ตามที่เสร็จสมบูรณ์ขณะที่แอปปิดอยู่ยังคงได้รับการประมวลผล นี่คือตาข่ายนิรภัย ไม่ใช่เส้นทางหลัก
ประเด็นคือการรับทราบทำงานจากเหตุการณ์ที่ Google ส่งมาให้คุณ ไม่ใช่จากการกระทำของผู้ใช้ที่คุณพึ่งพาไม่ได้ ผู้ใช้ที่ซื้อแล้วไม่เคยกลับมาได้รับการครอบคลุมอย่างสมบูรณ์เพราะเซิร์ฟเวอร์ของคุณลงมือทันทีที่การซื้อมาถึง
ตาข่ายกระทบยอดสำหรับรายการที่หลุดผ่านไป
แม้แต่ไปป์ไลน์ที่สะอาดก็ได้ประโยชน์จากการตรวจสอบ Voided Purchases API แสดงรายการการซื้อที่ถูกคืนเงิน เพิกถอน หรือ chargeback และมันระบุกรณีที่เหตุผลคือการซื้อ "ไม่เคยได้รับการรับทราบจากนักพัฒนา และดังนั้นอาจไม่มีอยู่ในบันทึกของนักพัฒนา" จง poll มันแล้วคุณสามารถเพิกถอนสิทธิ์การใช้งานที่คุณมอบให้กับสิ่งใดก็ตามที่ Google ได้ย้อนกลับไปแล้ว โปรดสังเกตข้อจำกัด คือ API จะคืนเฉพาะการซื้อที่ถูกยกเลิกจาก 30 วันที่ผ่านมาเท่านั้น ดังนั้นการกระทบยอดต้องทำงานตามกำหนดเวลา ไม่ใช่ครั้งเดียวต่อไตรมาส
Apple ไม่มีสิ่งที่เทียบเท่า และนั่นสำคัญ
นี่เป็นปัญหาของ Google Play โดยเฉพาะ StoreKit ของ Apple ก็มีขั้นตอนการทำให้เสร็จสิ้นเช่นกัน คือการทำให้ธุรกรรมเสร็จสิ้น แต่มันทำสิ่งที่ตรงกันข้ามเมื่อล้มเหลว หากคุณไม่เคยทำให้ธุรกรรม StoreKit เสร็จสิ้น Apple จะเก็บมันไว้ในคิวและส่งซ้ำทุกครั้งที่แอปของคุณเปิดขึ้นหรือ observer แนบเข้ามา ดังนั้นคุณจึงได้โอกาสอีกครั้งในการมอบสิทธิ์การใช้งาน Apple ไม่คืนเงินธุรกรรมที่ยังไม่เสร็จสิ้น ไม่มีการคืนเงินอัตโนมัติสามวันบน App Store
ดังนั้นแบบจำลองทางความคิดต้องคงความเฉพาะเจาะจงตามแพลตฟอร์ม บน Google Play การซื้อที่ไม่ได้รับการจัดการคือการคืนเงินที่รอจะเกิดขึ้นและกำหนดเวลาที่คุณกำลังแข่งกับมัน บน App Store การซื้อที่ไม่ได้รับการจัดการคือการส่งซ้ำที่รอจะเกิดขึ้นและไม่มีนาฬิกาใดเลย การนำสมมติฐานของ Apple มาใช้กับ Android คือวิธีที่ทีมต่าง ๆ ลงเอยด้วยกำแพงการคืนเงินที่ไม่ได้รับทราบซึ่งพวกเขาอธิบายไม่ได้
นี่คือเหตุผลที่ RefundHalt รับทราบการซื้อ Google Play โดยอัตโนมัติในทันทีที่การแจ้งเตือนของสโตร์มาถึง และกระทบยอดกับ Voided Purchases API เพื่อไม่ให้สิทธิ์การใช้งานที่มอบให้กับการซื้อที่ Google ย้อนกลับไปในภายหลังยังคงมีผลอยู่ กฎสามวันเลิกเป็นการแข่งขันที่คุณอาจแพ้ได้ และกลายเป็นขั้นตอนที่เกิดขึ้นเรียบร้อยแล้ว
คำถามที่พบบ่อย
- ทำไมการซื้อ Google Play ของฉันจึงถูกคืนเงินโดยอัตโนมัติหลังจากสามวัน
- เพราะแอปของคุณไม่รับทราบมันทันเวลา Google Play คืนเงินให้ผู้ซื้อและเพิกถอนการซื้อใดก็ตามที่ไม่ได้รับการรับทราบภายในสามวันนับจากที่ถึงสถานะ PURCHASED โดยอัตโนมัติ มันไม่ใช่คำขอของลูกค้าหรือบทลงโทษจาก Google มันคือการเรียกใช้การรับทราบที่ขาดหายไป และการรับทราบที่ฝั่งเซิร์ฟเวอร์จากการแจ้งเตือนของสโตร์จะกำจัดมัน
- ความแตกต่างระหว่างการรับทราบและการบริโภคการซื้อคืออะไร
- ทั้งสองตอบสนองข้อกำหนดสามวัน คุณบริโภคสินค้า consumable ผ่าน purchases.products.consume หรือ consumeAsync() ซึ่งทำให้ผลิตภัณฑ์พร้อมให้ซื้ออีกครั้งด้วย คุณรับทราบสินค้า non-consumable หรือการสมัครสมาชิก ผ่าน purchases.products.acknowledge, purchases.subscriptions.acknowledge หรือ acknowledgePurchase() ซึ่งยืนยันสิทธิ์การใช้งานโดยไม่ปลดล็อกผลิตภัณฑ์ให้ซื้อซ้ำ
- ฉันจำเป็นต้องรับทราบการต่ออายุการสมัครสมาชิก Google Play หรือไม่
- ไม่ มีเพียงการซื้อการสมัครสมาชิกครั้งแรกเท่านั้นที่ต้องรับทราบ Google ไม่กำหนดให้ต้องรับทราบการต่ออายุ และทำเครื่องหมาย ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED ให้โดยอัตโนมัติ การซื้อใหม่มาถึงในสถานะ ACKNOWLEDGEMENT_STATE_PENDING และยังคงเป็นความรับผิดชอบของคุณจนกว่าคุณจะจัดการเสร็จ
- ฉันสามารถรับทราบการซื้อขณะที่มันยังเป็น PENDING ได้หรือไม่
- ไม่ได้ คุณควรรับทราบเฉพาะเมื่อสถานะการซื้อเป็น PURCHASED เท่านั้น การซื้อที่ PENDING เช่น การชำระเงินสดหรือคำขออนุมัติจากผู้ปกครอง ยังไม่ได้เริ่มนับนาฬิกาสามวัน จงมอบสิทธิ์การใช้งานและรับทราบหลังจากที่สถานะเปลี่ยนจาก PENDING ไปเป็น PURCHASED เท่านั้น
- Apple คืนเงินการซื้อที่ฉันไม่ได้ทำให้เสร็จสิ้นหรือไม่
- ไม่ StoreKit ของ Apple ส่งซ้ำธุรกรรมที่ยังไม่เสร็จสิ้นทุกครั้งที่แอปของคุณเปิดขึ้นจนกว่าคุณจะทำให้มันเสร็จสิ้น แต่ไม่เคยคืนเงินโดยอัตโนมัติ การคืนเงินอัตโนมัติสามวันสำหรับการซื้อที่ไม่ได้รับทราบเป็นสิ่งเฉพาะของ Google Play ดังนั้นทั้งสองแพลตฟอร์มจึงต้องการการจัดการที่ต่างกัน
- ฉันจะกู้คืนอย่างไรหากการซื้อถูกคืนเงินไปแล้วเพราะไม่ได้รับทราบ
- คุณไม่สามารถย้อนการคืนเงินได้ แต่คุณสามารถกระทบยอดได้ จง poll Voided Purchases API ซึ่งแสดงรายการการซื้อที่ถูกคืนเงินและเพิกถอนจาก 30 วันที่ผ่านมาและติดธงรายการที่ถูกยกเลิกเพราะไม่เคยได้รับการรับทราบ แล้วเพิกถอนสิทธิ์การใช้งานที่คุณมอบให้ ต่อไปในภายหน้า จงรับทราบจากการแจ้งเตือนของสโตร์เพื่อให้รายการถัดไปไม่หลุดผ่านไป
แหล่งข้อมูลและเนื้อหาเพิ่มเติม
- Google Play Billing: Process purchases (three-day acknowledgement, acknowledge and consume)
- Google Play Billing: One-time product purchase lifecycle
- Google Play Billing: Subscription purchase lifecycle (initial vs renewal, prepaid plans)
- Google Play Billing: Real-time developer notifications reference
- Google Play Developer API: Voided Purchases
- Apple Developer: Finishing a transaction (StoreKit)
- Google Play Help: Learn about Google Play refund policies
RefundHalt
ระบบอัตโนมัติสำหรับการคืนเงินบน App Store และ Google Play
อ่านต่อ
การใช้การคืนเงินในทางที่ผิดซ้ำ ๆ ทำให้คุณเสียสองต่อ นี่คือวิธีที่สโตร์เปิดทางให้คุณตอบโต้
ลูกค้าที่ขอคืนเงินครั้งแล้วครั้งเล่าไม่ใช่เรื่องบังเอิญ การใช้การคืนเงินในทางที่ผิดทำให้คุณเสียทั้งเงินที่ต้องคืนและ compute ที่คุณใช้ไปแล้ว และทั้งสองสโตร์มอบสัญญาณระบุตัวตนให้คุณเพื่อร้อยเรียงรูปแบบนี้เข้าด้วยกัน นั่นคือ appAccountToken ของ Apple และ obfuscated account ID ของ Google
เพิกถอนสิทธิ์การเข้าถึงหลังคืนเงิน: ขั้นตอนที่ Apple และ Google ไม่ทำแทนคุณ
ทั้ง Apple และ Google สามารถคืนเงินออกไปได้ทั้งที่ลูกค้ายังเก็บสินค้าที่ซื้อไว้เหมือนเดิม บทความนี้อธิบายให้ชัดว่าเมื่อไรระบบจะเพิกถอนสิทธิ์การเข้าถึงให้เองโดยอัตโนมัติ เมื่อไรที่เซิร์ฟเวอร์ของคุณต้องทำเอง และการแจ้งเตือนหนึ่งตัวที่แทบไม่มีใครจัดการ