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

ประเด็นสำคัญ
- App Store จะส่งการแจ้งเตือน REFUND_REVERSED เมื่อมันย้อนกลับการคืนเงินที่เคยอนุมัติไว้ก่อนหน้านี้ เพราะลูกค้าโต้แย้ง และคำสั่งของ Apple ชัดเจน: ถ้าแอปของคุณเพิกถอนเนื้อหาหรือบริการ คุณต้องคืนสิทธิ์เหล่านั้น
- การแจ้งเตือน REFUND หมายความว่า App Store ได้คืนเงินธุรกรรมนั้นไปแล้ว ดังนั้นเซิร์ฟเวอร์ของคุณควรเพิกถอนสิทธิ์ การแจ้งเตือน REFUND_DECLINED หมายความว่า Apple ปฏิเสธคำขอ และลูกค้ายังคงมีทั้งสิทธิ์การเข้าถึงและยอดที่ถูกเรียกเก็บ
- ถ้าคุณเพิกถอนสิทธิ์เมื่อมีการคืนเงินแต่ไม่เคยจัดการกับการย้อนกลับ ลูกค้าที่ยอดถูกเรียกเก็บอีกครั้งจะยังคงถูกล็อกออกจากระบบ นั่นคือทิกเก็ตซัพพอร์ต รีวิวหนึ่งดาว และบน Google Play คือความหงุดหงิดที่อาจกลายเป็น chargeback ซึ่งตอนนี้ทำให้คุณเสียเงิน
- revocationReason ของ Apple บอกคุณว่าเหตุใดจึงเกิดการคืนเงิน: value 1 หมายความว่า Apple คืนเงินเพราะปัญหาที่เกิดขึ้นจริงหรือที่รับรู้ได้ภายในแอปของคุณ value 0 หมายความว่าเหตุผลอื่น เช่น การซื้อโดยไม่ตั้งใจ
- Google Play ไม่มีการแจ้งเตือนการย้อนกลับ มันจะส่ง VoidedPurchaseNotification เมื่อการซื้อถูกยกเลิก และส่ง PendingRefundReviewNotification แยกต่างหากสำหรับ chargeback และคุณกระทบยอดส่วนที่เหลือด้วยโมเดลแบบดึงข้อมูลของ Voided Purchases API
- Google Play ให้เวลาคุณ 24 ชั่วโมงในการตอบ PendingRefundReviewNotification ด้วยการเรียก orders.reviewrefund และมันบันทึกเฉพาะการเรียกครั้งแรกของคุณ ตั้งแต่วันที่ 3 สิงหาคม 2026 การแพ้ chargeback ทำให้นักพัฒนาเสียเงินเท่ากับราคาลบด้วยค่าบริการของ Google บวกกับค่าธรรมเนียมของธนาคาร
- จัดการการแจ้งเตือนการคืนเงินของ App Store แบบ idempotent การส่งซ้ำเป็นเรื่องปกติ ดังนั้นให้ผูกทุกการเพิกถอนและการคืนสิทธิ์เข้ากับ transaction id และทำให้การแจ้งเตือนซ้ำเป็น no-op
การคืนเงินไม่ใช่คำตอบสุดท้ายเสมอไป App Store สามารถย้อนกลับการคืนเงินที่อนุมัติไปแล้วได้ หลังจากที่ลูกค้าโต้แย้ง และเมื่อการคืนเงินที่ถูกย้อนกลับนั้นมาถึงเซิร์ฟเวอร์ของคุณ มันมาพร้อมคำสั่งเดียว: คืนสิทธิ์การเข้าถึงกลับไป ทีมส่วนใหญ่ต่อสายการแจ้งเตือน REFUND ธรรมดา ตัดลูกค้าออก แล้วก็หยุดแค่นั้น พวกเขาไม่เคยสร้างอีกครึ่งหนึ่ง ดังนั้นเมื่อการย้อนกลับมาถึง ไม่มีอะไรทำงาน และลูกค้าที่กำลังจ่ายเงินอีกครั้งก็ยังคงถูกล็อกออกจากสิ่งที่ตนซื้อ นี่คือวิธีที่ชุดการแจ้งเตือนการคืนเงินทั้งหมดทำงานบน App Store และ Google Play และแต่ละอย่างมีต้นทุนเท่าไรเมื่อคุณเพิกเฉย
App Store ส่งการแจ้งเตือนการคืนเงินสามแบบ ไม่ใช่แบบเดียว
การจัดการการคืนเงินส่วนใหญ่ถูกสร้างขึ้นสำหรับเหตุการณ์เดียว: เงินถูกคืนไปแล้ว ตัดลูกค้าออก จริง ๆ แล้วฟีด App Store Server Notifications V2 มีผลลัพธ์การคืนเงินแยกกันสามแบบ และแต่ละแบบขอสิ่งที่ต่างกัน สองแบบเปลี่ยนสิ่งที่ลูกค้าเข้าถึงได้ อีกหนึ่งแบบย้อนกลับแบบแรก นี่คือชุดทั้งหมดในถ้อยคำของ Apple เอง
| การแจ้งเตือน | ความหมาย | สิ่งที่เซิร์ฟเวอร์ของคุณทำ |
|---|---|---|
| CONSUMPTION_REQUEST | ลูกค้าขอคืนเงินและ Apple ต้องการข้อมูลการใช้งาน | ส่ง consumption payload ภายใน 12 hours |
| REFUND | App Store คืนเงินธุรกรรมแล้ว | เพิกถอนสิทธิ์สำหรับธุรกรรมนั้น |
| REFUND_DECLINED | App Store ปฏิเสธคำขอคืนเงิน | ไม่ต้องทำอะไร ลูกค้ายังคงมีสิทธิ์การเข้าถึงและยอดที่ถูกเรียกเก็บ |
| REFUND_REVERSED | App Store ย้อนกลับการคืนเงินที่เคยอนุมัติไว้ | คืนเนื้อหาหรือบริการที่คุณเพิกถอนไป |
REFUND การแจ้งเตือนที่ทุกทีมจัดการ
เมื่อ App Store ประมวลผลการคืนเงิน มันจะส่งการแจ้งเตือน REFUND ไปยัง URL ที่คุณกำหนดค่าไว้ และคำนิยามของ Apple ชัดเจน: มัน 'บ่งชี้ว่า App Store คืนเงินธุรกรรมสำหรับ In-App Purchase แบบสิ้นเปลือง In-App Purchase แบบไม่สิ้นเปลือง การสมัครสมาชิกแบบต่ออายุอัตโนมัติ หรือการสมัครสมาชิกแบบไม่ต่ออายุ สำเร็จแล้ว' คุณจัดเก็บธุรกรรมที่ถูกคืนเงิน เพิกถอนสิ่งที่มันซื้อ และ Apple ขอให้คุณบอกลูกค้าว่าอะไรเปลี่ยนไปด้วยข้อความตามบริบทในแอป นี่คือการแจ้งเตือนที่ทุกคนต่อสายเป็นอย่างแรก และมักเป็นอย่างเดียว
REFUND_DECLINED การแจ้งเตือนที่ไม่ต้องการอะไรจากคุณ
REFUND_DECLINED หมายความตรงตามที่มันบอก: 'App Store ปฏิเสธคำขอคืนเงิน' ลูกค้าขอ Apple ตอบว่าไม่ และธุรกรรมยังคงอยู่ ไม่มีอะไรเปลี่ยนแปลงเกี่ยวกับสิทธิ์การเข้าถึงของลูกค้า ดังนั้นตรรกะสิทธิ์ของคุณไม่ต้องทำอะไรตรงนี้ คุณค่าของการแจ้งเตือนนี้คือการทำบัญชี มันปิดวงจรคำขอคืนเงินที่คุณอาจตอบด้วย CONSUMPTION_REQUEST และยืนยันว่าลูกค้ายังคงมีสิ่งที่ตนจ่ายเงินไป ให้ถือว่าเป็นบันทึก ไม่ใช่การกระทำ
REFUND_REVERSED การแจ้งเตือนที่ทำให้ทีมตั้งตัวไม่ทัน
นี่คือการแจ้งเตือนที่ไปป์ไลน์การคืนเงินส่วนใหญ่ไม่เคยจัดการ คำนิยามของ Apple ชัดเจนไม่กำกวม: REFUND_REVERSED 'บ่งชี้ว่า App Store ย้อนกลับการคืนเงินที่เคยอนุมัติไว้ก่อนหน้านี้ เนื่องจากข้อพิพาทที่ลูกค้ายกขึ้น ถ้าแอปของคุณเพิกถอนเนื้อหาหรือบริการอันเป็นผลจากการคืนเงินที่เกี่ยวข้อง คุณต้องคืนสิทธิ์เหล่านั้น' อ่านสองรอบ Apple คืนเงินให้ลูกค้า คุณเพิกถอนสิทธิ์การเข้าถึง จากนั้น Apple ตัดสินว่าการคืนเงินไม่ควรมีผลและดึงมันกลับ ยอดถูกเรียกเก็บอีกครั้ง ลูกค้าจ่ายเงินแล้ว และถ้าเซิร์ฟเวอร์ของคุณรู้แต่วิธีเพิกถอน พวกเขาก็ยังคงถูกล็อกออกจากระบบ การคืนเงินที่ถูกย้อนกลับคือเหตุการณ์การคืนเงินเดียวที่เพิ่มสิทธิ์การเข้าถึงกลับมา และเป็นเหตุการณ์ที่แทบไม่มีใครสร้างรองรับ
การคืนเงินที่ถูกย้อนกลับมีต้นทุนต่อคุณจริง ๆ เท่าไร
การย้อนกลับที่พลาดไปไม่ใช่ข้อผิดพลาดปัดเศษ ให้ติดตามเงินทั้งสองทิศทาง เพราะการทำครึ่งใดครึ่งหนึ่งผิดมีราคาที่ต้องจ่าย
พลาดการย้อนกลับ แล้วคุณก็ล็อกลูกค้าที่จ่ายเงินออกจากระบบต่อไป Apple ได้เรียกเก็บยอดกลับมาแล้ว ดังนั้นลูกค้าเสียเงินอีกครั้ง และแอปของคุณกำลังปฏิเสธสิ่งที่พวกเขาซื้อ ต้นทุนเฉพาะหน้าคือเวลาซัพพอร์ตและการคืนเงินเพื่อรักษาน้ำใจที่ตอนนี้คุณอาจต้องออกเอง คราวนี้ไม่มีค่าคอมมิชชันจากสโตร์กลับมาช่วยผ่อนหนัก ต้นทุนที่ช้ากว่าคือรีวิวและการเลิกใช้ และบน Google Play ความหงุดหงิดจากการถูกล็อกออกแบบเดียวกันนี่แหละที่กลายเป็น chargeback
พลาดการคืนเงินเดิม แล้วคุณก็ให้บริการลูกค้าที่ไม่ได้จ่ายอะไรต่อไป ข้อผิดพลาดกลับด้านคือการไม่เพิกถอนเลย ลูกค้าที่ถูกคืนเงินซึ่งยังคงสร้างภาพ เรียก API ของคุณ และใช้พื้นที่จัดเก็บของคุณ ก่อต้นทุนจริงเทียบกับการขายที่ถูกย้อนกลับ การประมวลผล การเรียกใช้บริการภายนอก และพื้นที่จัดเก็บคือเงินที่คุณจ่ายไปแล้ว และไม่มีสิ่งใดกลับคืนมาพร้อมกับการคืนเงิน
- ต้นทุนซัพพอร์ต: คนหนึ่งคนที่ต้องตอบทิกเก็ตเรื่องสิทธิ์การเข้าถึงที่โค้ดของคุณเองลบออกไปและไม่เคยคืนกลับ
- การคืนเงินเพื่อรักษาน้ำใจ: การจ่ายเงินซ้ำให้ลูกค้าที่คุณล็อกออกอย่างไม่ถูกต้อง โดยไม่มีค่าคอมมิชชันจากสโตร์กลับมาสำหรับการแสดงน้ำใจแบบทำเอง
- ค่าใช้จ่ายที่สูญเปล่า: การประมวลผล การเรียก API และพื้นที่จัดเก็บที่ถูกใช้ไปโดยบัญชีที่ถูกคืนเงินซึ่งคุณไม่เคยตัดออก
- ความเสี่ยง chargeback: บน Google Play ลูกค้าที่รู้สึกว่าถูกเรียกเก็บซ้ำสามารถโต้แย้งได้ และข้อพิพาทที่แพ้ตอนนี้ตกมาที่คุณ
การคืนเงินที่ถูกย้อนกลับและการคืนเงินธรรมดาคือฟีด webhook เดียวกันที่ชี้ไปในทิศทางตรงข้าม จัดการอย่างหนึ่งแล้วข้ามอีกอย่าง แล้วคุณก็จ่ายทั้งสองด้าน

เหตุใด Apple จึงย้อนกลับการคืนเงิน และวิธีอ่าน revocationReason
การย้อนกลับไม่ได้เกิดขึ้นแบบสุ่ม Apple เชื่อมโยงมันกับ 'ข้อพิพาทที่ลูกค้ายกขึ้น' ซึ่งคือการที่ลูกค้าท้าทายการตัดสินใจคืนเงินหลังจากนั้น เมื่อการคืนเงินถูกอนุมัติครั้งแรก ธุรกรรมมี revocationDate และ revocationReason และเหตุผลนั้นคุ้มค่าที่จะอ่านก่อนที่สิ่งใดในขั้นถัดไปจะดำเนินการกับมัน
- revocationReason 1: App Store คืนเงิน 'เนื่องจากปัญหาที่เกิดขึ้นจริงหรือที่รับรู้ได้ภายในแอปของคุณ' นั่นคือสัญญาณเกี่ยวกับผลิตภัณฑ์ของคุณ ไม่ใช่แค่ลูกค้ารายนี้
- revocationReason 0: App Store คืนเงิน 'ด้วยเหตุผลอื่น เช่น การซื้อโดยไม่ตั้งใจ' ไม่มีสัญญาณเกี่ยวกับคุณภาพแอปแนบมา
เมื่อ REFUND_REVERSED มาถึงสำหรับธุรกรรมนั้น การเพิกถอนกำลังถูกยกเลิก ตรรกะการคืนสิทธิ์ของคุณควรค้นหา transaction id เดิม ยืนยันว่าคุณเพิกถอนมันไปแล้ว และคืนสิทธิ์กลับให้ตรงตามเดิมทุกประการ
Google Play ไม่ส่งการย้อนกลับ ดังนั้นคุณต้องกระทบยอดแทน
โมเดลของ Google Play แตกต่างออกไป และความแตกต่างนี้สำคัญถ้าคุณให้ทั้งสองสโตร์ผ่านตัวจัดการ webhook เดียวกัน ไม่มีอะไรที่เทียบเท่า REFUND_REVERSED ในฝั่ง Google Real-time developer notifications ของ Google แยกเหตุการณ์การคืนเงินออกเป็นสองข้อความ และการย้อนกลับถูกจัดการด้วยการกระทบยอด ไม่ใช่การพุช
การแจ้งเตือนการซื้อที่ถูกยกเลิก
เมื่อการซื้อบน Google Play ถูกยกเลิก เซิร์ฟเวอร์ของคุณจะได้รับ VoidedPurchaseNotification มันระบุ purchaseToken และ orderId, productType เป็น subscription หรือ one-time และ refundType ที่เป็นการยกเลิกเต็มจำนวนหรือการคืนเงินบางส่วนตามจำนวนสำหรับการซื้อแบบหลายจำนวน Google บอกว่าข้อมูลนั้นเพียงพอที่จะหาการซื้อที่ถูกต้องและปรับสิทธิ์ สำหรับอะไรที่มากกว่านั้น มันชี้คุณไปที่ Voided Purchases API ซึ่งเป็นโมเดลแบบดึงข้อมูลที่แสดงรายการคำสั่งซื้อที่ถูกยกเลิกภายในช่วงเวลาที่คุณสอบถาม
การรีวิว chargeback และนาฬิกา 24 ชั่วโมง
chargeback มาผ่านข้อความอีกแบบหนึ่งคือ PendingRefundReviewNotification เมื่อลูกค้าโต้แย้งยอดกับธนาคารของตน Google Play จะส่งการแจ้งเตือนนี้และเริ่มนับเวลา คุณมีเวลา 24 hours ในการเรียก orders.reviewrefund พร้อมกับความต้องการเรื่องการคืนเงินและหลักฐานการใช้งานใด ๆ เพื่อให้ Google สามารถโต้แย้ง chargeback ที่ไม่ชอบด้วยเหตุผลแทนคุณได้ Google บันทึกการเรียกครั้งแรกของคุณและเพิกเฉยส่วนที่เหลือ นี่คือสิ่งที่คู่ขนานกับ CONSUMPTION_REQUEST ของ Apple ในฝั่ง Google ซึ่งเป็นช่วงเวลาเดียวที่ฝ่ายของคุณในข้อพิพาทมีความหมาย
เนื่องจากไม่มีการพุชการย้อนกลับ chargeback ที่ Google โต้แย้งและชนะจึงไม่มาถึงในรูปเหตุการณ์การคืนสิทธิ์ที่เรียบร้อย คุณต้องกระทบยอดมันกับ Voided Purchases API และบันทึกของคุณเอง บทเรียนเหมือนกับบน App Store: คำสั่งซื้อที่ถูกยกเลิกไม่ได้ถาวรเสมอไป และสถานะสิทธิ์ของคุณต้องสามารถเคลื่อนกลับได้ ไม่ใช่แค่เดินหน้า
| เหตุการณ์การคืนเงิน | App Store | Google Play |
|---|---|---|
| อนุมัติการคืนเงิน | REFUND notification | VoidedPurchaseNotification |
| ปฏิเสธการคืนเงิน | REFUND_DECLINED notification | ไม่มีข้อความแยกต่างหาก |
| ย้อนกลับการคืนเงิน | REFUND_REVERSED notification | ไม่มีการพุช; กระทบยอดผ่าน Voided Purchases API |
| ช่วงเวลาส่งหลักฐานข้อพิพาท | CONSUMPTION_REQUEST, 12 hours | PendingRefundReviewNotification, 24 hours |
| ใครออกการคืนเงินได้ | Apple เท่านั้น | Google หรือคุณจากแท็บ Orders |
วิธีจัดการทุกการแจ้งเตือนการคืนเงินโดยไม่ล็อกใครออก
คุณไม่จำเป็นต้องมีไปป์ไลน์แยกต่อสโตร์ คุณต้องการตัวจัดการที่สามารถเคลื่อนสิทธิ์ได้ทั้งสองทิศทางและปฏิบัติต่อทุกข้อความว่าอาจถูกส่งซ้ำ
- สร้างการคืนสิทธิ์ ไม่ใช่แค่การเพิกถอน สำหรับทุกเส้นทางที่ลบสิทธิ์การเข้าถึงเมื่อมี REFUND ให้เขียนสิ่งตรงข้ามที่คืนมันเมื่อมี REFUND_REVERSED โดยผูกกับ transaction id เดียวกัน
- ทำให้มันเป็น idempotent ทั้งสองสโตร์สามารถส่งการแจ้งเตือนเดียวกันมากกว่าหนึ่งครั้ง ดังนั้นให้ผูกทุกการเพิกถอนและการคืนสิทธิ์กับ transaction หรือ order id และทำให้การส่งซ้ำเป็น no-op
- อ่านเหตุผลก่อนลงมือ ใช้ revocationReason เพื่อแยกการคืนเงินเรื่องคุณภาพแอปออกจากการคืนเงินโดยไม่ตั้งใจ และส่งกรณีเรื่องคุณภาพแอปไปยังผู้ที่ดูแลคุณภาพผลิตภัณฑ์
- ตอบช่วงเวลาส่งหลักฐานให้ทันเวลา ส่งข้อมูลการใช้งานของ Apple ภายใน 12 hours หลังจาก CONSUMPTION_REQUEST และเรียก orders.reviewrefund ภายใน 24 hours หลังจาก PendingRefundReviewNotification
- จัดเก็บทุกเหตุการณ์ เก็บ REFUND_DECLINED และการแจ้งเตือนดิบไว้ เพื่อให้การย้อนกลับที่มาถึงภายหลังสามารถจับคู่กับการคืนเงินที่มันลบล้างได้
ไม่มีสิ่งใดในนี้เปลี่ยนแปลงว่าการคืนเงินจะเกิดขึ้นหรือไม่ มันเปลี่ยนแปลงว่าลูกค้าที่อยู่อีกฝั่งของการคืนเงินที่ถูกย้อนกลับจะสังเกตเห็นหรือไม่ว่าเซิร์ฟเวอร์ของคุณทำผิดพลาด
คำถามที่พบบ่อย
- การแจ้งเตือน REFUND_REVERSED บน App Store คืออะไร
- มันคือ App Store ที่บอกเซิร์ฟเวอร์ของคุณว่ามันย้อนกลับการคืนเงินที่เคยอนุมัติไว้ก่อนหน้านี้ เพราะลูกค้าโต้แย้ง คำสั่งของ Apple ชัดเจน: ถ้าแอปของคุณเพิกถอนเนื้อหาหรือบริการอันเป็นผลจากการคืนเงินนั้น คุณต้องคืนสิทธิ์เหล่านั้น ยอดถูกเรียกเก็บอีกครั้ง ดังนั้นลูกค้าควรได้สิทธิ์การเข้าถึงกลับคืน
- ฉันควรทำอย่างไรเมื่อได้รับการแจ้งเตือน REFUND_DECLINED
- ไม่ต้องทำอะไรกับสิทธิ์การเข้าถึงของลูกค้า REFUND_DECLINED หมายความว่า App Store ปฏิเสธคำขอคืนเงิน ดังนั้นธุรกรรมยังคงอยู่และลูกค้ายังคงมีสิ่งที่ตนจ่ายเงินไป ให้ถือว่าเป็นบันทึกที่ปิดคำขอคืนเงิน ซึ่งบ่อยครั้งเป็นคำขอที่คุณตอบด้วย CONSUMPTION_REQUEST
- Google Play ส่งการแจ้งเตือนเมื่อการคืนเงินหรือ chargeback ถูกย้อนกลับหรือไม่
- ไม่ Google Play ไม่มีอะไรที่เทียบเท่า REFUND_REVERSED ของ Apple มันส่ง VoidedPurchaseNotification เมื่อการซื้อถูกยกเลิก และส่ง PendingRefundReviewNotification สำหรับ chargeback แต่ chargeback ที่ถูกโต้แย้งซึ่ง Google ชนะจะไม่ถูกพุชกลับมาที่คุณ คุณต้องกระทบยอดมันโดยใช้ Voided Purchases API และบันทึกของคุณเอง
- ฉันมีเวลานานเท่าไรในการตอบ chargeback ของ Google Play
- 24 hours เมื่อ Google Play ส่ง PendingRefundReviewNotification คุณมีเวลา 24 hours ในการเรียก orders.reviewrefund พร้อมกับความต้องการเรื่องการคืนเงินและหลักฐานการใช้งาน Google บันทึกเฉพาะการเรียกครั้งแรกของคุณ ตั้งแต่วันที่ 3 สิงหาคม 2026 การแพ้ chargeback ทำให้นักพัฒนาเสียเงินเท่ากับราคาลบด้วยค่าบริการของ Google บวกกับค่าธรรมเนียมของธนาคาร
- revocationReason บอกอะไรฉันบนธุรกรรม App Store ที่ถูกคืนเงิน
- มันบอกคุณว่าเหตุใด Apple จึงคืนเงิน Value 1 หมายความว่า Apple คืนเงินเนื่องจากปัญหาที่เกิดขึ้นจริงหรือที่รับรู้ได้ภายในแอปของคุณ ซึ่งเป็นสัญญาณเกี่ยวกับผลิตภัณฑ์ Value 0 หมายความว่าเหตุผลอื่น เช่น การซื้อโดยไม่ตั้งใจ การอ่านมันช่วยให้คุณแยกการคืนเงินที่ชี้ไปยังบั๊กออกจากการคืนเงินตามปกติ
แหล่งข้อมูลและเนื้อหาเพิ่มเติม
- Apple Developer: App Store Server Notifications V2 notificationType
- Apple Developer: Handling refund notifications
- Apple Developer: revocationReason (App Store Server API)
- Android Developers: Real-time developer notifications reference
- Google Play Developer API: Method orders.reviewrefund
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- Google Play Developer: Voided Purchases API
RefundHalt
ระบบอัตโนมัติสำหรับการคืนเงินบน App Store และ Google Play
อ่านต่อ
ใครเป็นคนจ่ายค่าคืนเงินบนแอปของคุณส่วนใหญ่คือตัวคุณเอง แต่ไม่ใช่ค่าคอมมิชชันที่คุณคิดว่ากำลังเสียไป
เมื่อลูกค้าได้รับเงินคืน ทั้ง Apple และ Google ต่างคืนค่าคอมมิชชันของตนกลับมา ดังนั้นส่วนแบ่งของสโตร์จึงไม่ใช่สิ่งที่คุณเสียไป นี่คือคำอธิบายว่าใครเป็นคนจ่ายค่าคืนเงินบนแอปของคุณ อะไรที่หายไปจากยอดจ่ายของคุณจริง ๆ และทำไมการเรียกเงินคืนผ่านธนาคารจึงแพงกว่าการคืนเงินธรรมดา
การยกเลิกการสมัครสมาชิกกับการขอเงินคืนเป็นคนละเรื่องกัน และมีเพียงอย่างเดียวที่ทำให้ลูกค้าได้เงินกลับคืน
ยกเลิกการสมัครสมาชิกแล้วสโตร์แค่หยุดเรียกเก็บเงินรอบถัดไป ลูกค้ายังใช้งานได้จนถึงสิ้นรอบ และไม่มีเงินเคลื่อนไหว ส่วนการคืนเงินจะย้อนกลับการชำระที่ผ่านไปแล้วและดึงสิทธิ์การใช้งานกลับไปด้วย นี่คือจุดที่ทั้งสองแยกทางกัน ต้นทุนของแต่ละอย่าง และเหตุผลว่าทำไมมีเพียงการคืนเงินเท่านั้นที่ไปถึงเซิร์ฟเวอร์ของคุณ