บทความทั้งหมด
Playbookใช้เวลาอ่าน 7 นาที

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

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

iPhone และโทรศัพท์ Android วางเคียงกันบนโต๊ะ ข้างใบแจ้งยอดธนาคารที่มีรายการเรียกเก็บเงินเหมือนกันสองรายการ แสดงถึงลูกค้าที่ถูกเรียกเก็บเงินซ้ำสำหรับการสมัครสมาชิกเดียวกัน

ประเด็นสำคัญ

  • ลูกค้าที่ถูกเรียกเก็บเงินซ้ำสองครั้งสำหรับการสมัครสมาชิกเดียวกัน มักซื้อผ่านสองสโตร์ที่แยกกัน เช่น App Store และ Google Play และแต่ละสโตร์เรียกเก็บเงินและคืนเงินสำหรับการซื้อของตัวเองแยกจากกัน
  • นักพัฒนาคืนเงินการซื้อใน App Store เองไม่ได้ Apple เป็นผู้ตัดสินใจ ผ่าน reportaproblem.apple.com หรือผ่านหน้าคำขอคืนเงินที่แอปเปิดได้ด้วย beginRefundRequest ของ StoreKit และ Apple ระบุว่าใช้เวลาสูงสุด 48 ชั่วโมงในการอนุมัติหรือปฏิเสธ
  • บน Google Play นักพัฒนาคืนเงินคำสั่งซื้อได้จาก Order management ใน Play Console หรือผ่าน API orders.refund ซึ่งคืนเงินคำสั่งซื้อที่มีอายุเกิน 3 ปีไม่ได้
  • การคืนเงินคำสั่งซื้อล่าสุดของการสมัครสมาชิก Google Play จะลบการสมัครสมาชิกทันทีและยกเลิกการต่ออายุครั้งถัดไป ส่วนการคืนเงินคำสั่งซื้อที่เก่ากว่าจะทำให้การสมัครสมาชิกยังคงใช้งานอยู่
  • Apple ส่ง CONSUMPTION_REQUEST สำหรับคำขอคืนเงินของผลิตภัณฑ์ทุกประเภท รวมถึงการสมัครสมาชิกแบบต่ออายุอัตโนมัติ และนักพัฒนามีเวลา 12 ชั่วโมงในการตอบกลับด้วย Send Consumption Information หากลูกค้าให้ความยินยอม
  • สำหรับคำสั่งซื้อ Google Play ที่เกิดขึ้นหลังวันที่ 3 สิงหาคม 2026 การถูก chargeback จะทำให้นักพัฒนาเสียเงินเท่ากับราคาที่ซื้อ หักค่าธรรมเนียมบริการของ Play แล้วบวกค่าธรรมเนียม chargeback ของธนาคาร
  • การกำหนด appAccountToken ในการซื้อผ่าน Apple และ ID บัญชีแบบปกปิดในการซื้อผ่าน Google Play ช่วยให้เซิร์ฟเวอร์ของคุณเห็นว่าการสมัครสมาชิกสองรายการเป็นของลูกค้าคนเดียว ก่อนที่การเรียกเก็บครั้งที่สองจะเกิดขึ้น

ระบบเรียกเก็บเงินของ Apple และ Google ไม่มีอะไรห้ามคนคนเดียวจ่ายเงินให้ทั้งสองฝั่งเพื่อสมัครสมาชิกของคุณในเดือนเดียวกัน เมื่อลูกค้าถูกเรียกเก็บเงินซ้ำสองครั้งสำหรับการสมัครสมาชิกเดียวกัน แทบทุกครั้งเกิดจากเรื่องนี้ พวกเขาสมัครบน iPhone แล้วสมัครอีกครั้งบนแท็บเล็ต Android หรือบนเว็บไซต์ของคุณ และแอปของคุณไม่รู้ว่ามีแพ็กเกจแรกอยู่แล้ว ลูกค้าเห็นรายการเรียกเก็บสองรายการและเขียนมาหาคุณ ปัญหาคือคุณคืนเงินเองได้เพียงรายการเดียว และทำได้ก็ต่อเมื่อรายการนั้นไม่ได้ซื้อผ่าน Apple ต่อไปนี้คือวิธีการทำงานของแต่ละฝั่ง ความเสียหายจากการเรียกเก็บซ้ำ และวิธีป้องกันไม่ให้เกิดขึ้นอีก

ทำไมลูกค้าจึงถูกเรียกเก็บเงินซ้ำสองครั้งสำหรับการสมัครสมาชิกเดียวกัน

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

เส้นทางที่มักนำไปสู่การเรียกเก็บเงินซ้ำมีลักษณะดังนี้

  • ลูกค้าเปลี่ยนโทรศัพท์ จาก iOS ไป Android หรือกลับกัน แล้วสมัครอีกครั้งเพราะแอปในเครื่องใหม่แสดง paywall
  • ลูกค้าสมัครบนเว็บไซต์ของคุณ ติดตั้งแอปแต่ยังไม่ได้ลงชื่อเข้าใช้ แอปจึงขายการสมัครสมาชิกผ่านสโตร์ซ้อนเข้าไปอีก
  • ลูกค้าถอนการติดตั้งแอปและเข้าใจว่าแพ็กเกจสิ้นสุดแล้ว หน้าช่วยเหลือของ Google ระบุว่าการถอนการติดตั้งแอปไม่ได้ยกเลิกการสมัครสมาชิก Google Play ของแอปนั้น และแพ็กเกจ App Store จะต่ออายุไปเรื่อยๆ จนกว่าจะถูกยกเลิกในบัญชี Apple

“แอปกับเว็บไซต์ของคุณไม่ได้เชื่อมกันเลยใช่ไหม”

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

ใครคืนเงินรายการไหนได้บ้าง

ตรงนี้คือจุดที่การตอบกลับของฝ่ายซัพพอร์ตส่วนใหญ่ผิดพลาด คุณสัญญาได้เฉพาะสิ่งที่คุณควบคุมได้

ช่องทางที่ซื้อรายการซ้ำใครตัดสินใจเรื่องการคืนเงินแพ็กเกจหยุดต่ออายุอย่างไรบทบาทของคุณ
App StoreApple เท่านั้น ผ่าน reportaproblem.apple.com หรือหน้าคำขอคืนเงินในแอปของคุณลูกค้ายกเลิกในบัญชี Apple ของตัวเองCONSUMPTION_REQUEST ตอบภายใน 12 ชั่วโมงหากลูกค้าให้ความยินยอม
Google Play ภายใน 48 ชั่วโมงหลังซื้อลูกค้าขอจาก Google ได้ หรือคุณคืนเงินให้เองได้การคืนเงินคำสั่งซื้อล่าสุดจะยกเลิกการต่ออายุครั้งถัดไปไม่มี สำหรับการคืนเงินแบบบริการตนเองของ Google
Google Play หลัง 48 ชั่วโมงคุณ จาก Play Console หรือ orders.refundการคืนเงินคำสั่งซื้อล่าสุดจะยกเลิกการต่ออายุครั้งถัดไปคุณเป็นผู้ตัดสินใจ
เว็บไซต์ของคุณคุณ ผ่านผู้ให้บริการรับชำระเงินของคุณคุณยกเลิกเองในระบบของคุณคุณเป็นผู้ตัดสินใจ

นักพัฒนาคืนเงินการสมัครสมาชิก App Store ได้ไหม

ไม่ได้ Apple จัดการการคืนเงินทุกรายการของ App Store สิ่งที่คุณทำได้คือย่นขั้นตอนให้สั้นลง beginRefundRequest ของ StoreKit จะเปิดหน้าคำขอคืนเงินของ Apple ภายในแอปของคุณ โดยกรอกรายละเอียดการซื้อและรายการเหตุผลไว้ให้แล้ว เอกสารของ Apple ระบุว่า App Store ใช้เวลาสูงสุด 48 ชั่วโมงในการอนุมัติหรือปฏิเสธคำขอ หากทำนอกแอป ลูกค้าต้องลงชื่อเข้าใช้ที่ reportaproblem.apple.com เลือก “Request a refund” เลือกเหตุผล แล้วเลือกการสมัครสมาชิกนั้น

คืนเงินฝั่ง Google Play ด้วยตัวเอง

บน Google Play คุณเป็นผู้ควบคุม ใน Play Console ให้เปิด Order management เลือกคำสั่งซื้อแล้วคืนเงิน หน้าช่วยเหลือของ Play Console ระบุเรื่องการสมัครสมาชิกไว้ชัดเจน หากคืนเงินคำสั่งซื้อล่าสุด การสมัครสมาชิกจะถูกลบทันทีและการต่ออายุครั้งถัดไปจะถูกยกเลิก หากคืนเงินคำสั่งซื้อที่เก่ากว่า การสมัครสมาชิกจะยังคงใช้งานอยู่ หากคุณทำงานนี้แบบอัตโนมัติ API orders.refund ทำหน้าที่เดียวกัน รับ flag revoke เพื่อยุติสิทธิ์การใช้งานทันที และปฏิเสธคำสั่งซื้อที่มีอายุเกิน 3 ปี

การสมัครสมาชิกซ้ำทำให้คุณเสียเงินเท่าไร

เงินจากรายการซ้ำไม่เคยเป็นรายได้ที่คุณเก็บไว้ได้ตั้งแต่แรก คำถามเรื่องเงินคือคุณต้องเสียเพิ่มเท่าไรนอกเหนือจากเงินที่คืน

กรณีที่จบง่าย

สมมติว่าลูกค้าจ่าย $9.99 ต่อเดือนทั้งบน App Store และ Google Play เป็นเวลาสามเดือนก่อนจะรู้ตัว นั่นคือรายการเรียกเก็บซ้ำรวม $29.97 หากคุณคืนเงินคำสั่งซื้อ Google Play ทั้งสามรายการเอง คุณคืนเงิน $29.97 และปัญหาจบในวันนั้น แต่หากลูกค้านำฝั่ง App Store ไปยื่นกับ Apple แทน Apple จะเป็นผู้ตัดสินว่าจะคืนเงินเท่าไร และคุณจะรู้ได้ผ่านการแจ้งเตือนของเซิร์ฟเวอร์เท่านั้น ไม่ว่าทางไหน รายได้ของแพลตฟอร์มหนึ่งในช่วงสามเดือนนั้นจะถูกคืนกลับไป

กรณีที่เสียหายหนัก

ความเสียหายจริงเกิดขึ้นเมื่อลูกค้าหมดความอดทนกับฝ่ายซัพพอร์ตและโทรหาธนาคาร chargeback ถือเป็นที่สิ้นสุดเมื่อธนาคารตัดสินแล้ว Google Play ให้โอกาสคุณโต้แย้งเพียงครั้งเดียว คือการตรวจสอบ chargeback ที่คุณต้องตอบภายใน 24 ชั่วโมงผ่าน orders.reviewrefund สำหรับคำสั่งซื้อ Google Play ที่เกิดขึ้นหลังวันที่ 3 สิงหาคม 2026 หากแพ้ chargeback คุณจะเสียเงินเท่ากับราคาที่ซื้อ หักค่าธรรมเนียมบริการของ Play แล้วบวกค่าธรรมเนียม chargeback ของธนาคาร เงินคืน $29.97 ที่คุณทำได้ในหนึ่งนาที จะกลายเป็น $29.97 บวกค่าธรรมเนียมที่คุณควบคุมไม่ได้

ต้นทุนที่คุณยังจ่ายอยู่ระหว่างนั้น

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

นักพัฒนากำลังอ่านกล่องข้อความฝ่ายซัพพอร์ตลูกค้าบนแล็ปท็อปข้างสมาร์ทโฟน เพื่อจัดการการคืนเงินการสมัครสมาชิกซ้ำ

วิธีจัดการการเรียกเก็บเงินซ้ำในงานซัพพอร์ต

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

  • ค้นหาการซื้อทั้งสองรายการจากบัญชีของลูกค้า ไม่ใช่จากอีเมลที่พวกเขาใช้เขียนมา
  • ถามว่าพวกเขาต้องการเก็บแพ็กเกจไหนไว้ ส่วนใหญ่คือแพ็กเกจบนอุปกรณ์ที่ใช้อยู่ตอนนี้
  • หากรายการซ้ำอยู่บน Google Play หรือเว็บไซต์ของคุณ ให้คืนเงินเองแล้วแจ้งพวกเขาว่าดำเนินการเรียบร้อยแล้ว
  • หากรายการซ้ำอยู่บน App Store ให้แนะนำพวกเขาไปที่ reportaproblem.apple.com หรือปุ่มคืนเงินในแอปของคุณหากคุณทำไว้แล้ว และบอกให้ยกเลิกในการตั้งค่าบัญชี Apple ของตัวเอง
  • หากต่อมา Apple ส่ง CONSUMPTION_REQUEST และลูกค้าให้ความยินยอม ให้ตอบภายใน 12 ชั่วโมงด้วยข้อมูลการใช้งานที่ถูกต้อง แพ็กเกจซ้ำที่ไม่เคยถูกใช้งานเลยเป็นกรณีที่ Apple อนุมัติได้ง่าย

วิธีหยุดการเรียกเก็บครั้งที่สองก่อนจะเกิดขึ้น

การป้องกันถูกกว่าการคืนเงินทุกแบบ และเครื่องมือก็มีอยู่แล้วในทั้งสองสโตร์

ผูกการซื้อทุกรายการเข้ากับ ID บัญชีของคุณ

บน iOS ให้สร้าง UUID สำหรับแต่ละบัญชีและส่งเป็นตัวเลือกการซื้อ appAccountToken Apple จะส่งค่าเดิมกลับมาในธุรกรรมและในข้อมูลการต่ออายุการสมัครสมาชิก หากการซื้อเกิดขึ้นนอกแอปของคุณ endpoint Set App Account Token ช่วยให้คุณแนบหรืออัปเดตโทเค็นในภายหลังได้ บน Android ให้ส่ง ID บัญชีที่ผ่านการแฮชซึ่งยาวไม่เกิน 64 ตัวอักษรไปยัง setObfuscatedAccountId และห้ามส่งข้อมูลส่วนบุคคลแบบดิบเด็ดขาด

ตรวจสอบสิทธิ์การใช้งานก่อนแสดง paywall

ก่อนที่ paywall จะปรากฏ ให้ถามเซิร์ฟเวอร์ของคุณเองว่าบัญชีที่ลงชื่อเข้าใช้อยู่มีแพ็กเกจที่ใช้งานอยู่จากแพลตฟอร์มใดแล้วหรือไม่ แสดงหน้าชวนลงชื่อเข้าใช้ก่อน แล้วจึงแสดง paywall เฉพาะบัญชีที่ไม่มีแพ็กเกจที่ใช้งานอยู่

เฝ้าระวังบัญชีที่มีแพ็กเกจใช้งานอยู่สองรายการ

ตรวจสอบทุกวันเพื่อหาบัญชีที่มีการสมัครสมาชิกที่ใช้งานอยู่มากกว่าหนึ่งรายการข้ามสโตร์ การพบปัญหาในสัปดาห์แรกหมายถึงการคืนเงินหนึ่งเดือนแทนที่จะเป็นสามเดือน และอีเมลสั้นๆ หนึ่งฉบับแทนที่จะเป็น chargeback

RefundHalt ติดตามการสมัครสมาชิก App Store และ Google Play ตาม ID บัญชีของคุณเอง ลูกค้าที่จ่ายเงินซ้ำจึงปรากฏเป็นคนคนเดียวที่มีสองแพ็กเกจ ก่อนที่ธนาคารของพวกเขาจะเห็น

คำถามที่พบบ่อย

ทำไมลูกค้าจึงถูกเรียกเก็บเงินซ้ำสองครั้งสำหรับการสมัครสมาชิกเดียวกัน
ส่วนใหญ่เป็นเพราะพวกเขาซื้อบนสองแพลตฟอร์ม เช่น App Store และ Google Play หรือสโตร์หนึ่งกับเว็บไซต์ของคุณ แต่ละสโตร์เรียกเก็บเงินการสมัครสมาชิกของตัวเองและไม่รู้ว่าอีกรายการมีอยู่ ทั้งสองรายการจึงต่ออายุไปเรื่อยๆ จนกว่าจะมีรายการหนึ่งถูกยกเลิก
ฉันคืนเงินการสมัครสมาชิก App Store ให้ลูกค้าได้ไหม
ไม่ได้ มีเพียง Apple ที่คืนเงินการซื้อใน App Store ได้ คุณเปิดหน้าคำขอคืนเงินของ Apple ภายในแอปได้ด้วย beginRefundRequest ของ StoreKit หรือแนะนำลูกค้าไปที่ reportaproblem.apple.com Apple ระบุว่าใช้เวลาสูงสุด 48 ชั่วโมงในการอนุมัติหรือปฏิเสธคำขอ
จะคืนเงินการสมัครสมาชิก Google Play ที่ซ้ำได้อย่างไร
คืนเงินคำสั่งซื้อจาก Order management ใน Play Console หรือเรียก API orders.refund การคืนเงินคำสั่งซื้อล่าสุดจะลบการสมัครสมาชิกทันทีและยกเลิกการต่ออายุครั้งถัดไป API นี้คืนเงินคำสั่งซื้อที่มีอายุเกิน 3 ปีไม่ได้
การคืนเงินการสมัครสมาชิกเป็นการยกเลิกการสมัครสมาชิกด้วยหรือไม่
บน Google Play การคืนเงินคำสั่งซื้อล่าสุดจะยกเลิกการต่ออายุครั้งถัดไป แต่การคืนเงินคำสั่งซื้อที่เก่ากว่าจะทำให้การสมัครสมาชิกยังคงใช้งานอยู่ บน App Store การคืนเงินเป็นการตัดสินใจของ Apple และลูกค้าต้องยกเลิกการสมัครสมาชิกจากบัญชี Apple ของตัวเอง
จะป้องกันไม่ให้ผู้ใช้สมัครสมาชิกซ้ำบน iOS และ Android ได้อย่างไร
แนบ ID บัญชีของคุณเองกับการซื้อทุกรายการ โดยใช้ appAccountToken บน Apple และ ID บัญชีแบบปกปิดบน Google Play จากนั้นตรวจสอบในเซิร์ฟเวอร์ว่ามีแพ็กเกจที่ใช้งานอยู่บนแพลตฟอร์มใดหรือไม่ก่อนแสดง paywall และขอให้ผู้ใช้ลงชื่อเข้าใช้ก่อน

แหล่งข้อมูลและเนื้อหาเพิ่มเติม

RefundHalt

ระบบอัตโนมัติสำหรับการคืนเงินบน App Store และ Google Play

อ่านต่อ

Deep diveใช้เวลาอ่าน 8 นาที

หากแอปของคุณถูกนำออกจาก Google Play หรือ App Store เงินคืนยังอาจถูกหักจากเงินที่คุณจะได้รับ

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

Playbookใช้เวลาอ่าน 8 นาที

การลบบัญชีในแอปไม่ได้ยกเลิกการสมัครสมาชิก และคำขอคืนเงินที่ตามมายังมาถึงคุณได้

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

คำขอคืนเงินครั้งต่อไปกำลังมา

ตั้งค่า RefundHalt ได้ในเวลาพอ ๆ กับการอ่านอีเมลฝ่ายช่วยเหลืออีกฉบับเกี่ยวกับการคืนเงินที่คุณไม่มีโอกาสโต้แย้ง