Cơ chế hoàn tiền, thay đổi chính sách cửa hàng và chiến thuật bảo vệ doanh thu cho nhà phát triển ứng dụng.
Khi một đứa trẻ mua gói xu trên điện thoại của phụ huynh, cả Apple lẫn Google đều hoàn tiền và không bên nào hỏi bạn trước. Các cơ quan quản lý đã tạo ra nó theo cách đó. Đây là cách các khoản hoàn tiền cho giao dịch mua trong ứng dụng trái phép này hoạt động trên từng cửa hàng, khung 15 phút nơi tiền chuyển đi, và một khoản thực sự khiến bạn tốn bao nhiêu.
Đọc bài viết
Hoàn tiền một giao dịch trong ứng dụng và biên nhận hiển thị giá cộng thuế được trả lại. Khoản thuế đó chưa bao giờ là tiền của bạn. Apple và Google thu và nộp nó với tư cách merchant of record, rồi đảo ngược nó khi hoàn tiền mà không chạm vào phần của bạn. Đây là chi phí thực sự của một lần hoàn tiền, và một trường hợp thiết lập duy nhất khiến khoản thuế trở thành của bạn.
Khi khách hàng chuyển lên bậc cao hơn, cửa hàng phát hành khoản hoàn tiền nâng cấp gói đăng ký cho những ngày chưa dùng trên gói cũ, và nó tự động làm giảm doanh thu của bạn. Đây là cách hoàn tiền nâng cấp hoạt động trên App Store và Google Play, và lý do Apple giữ số tiền này khỏi máy chủ của bạn.
Hoàn tiền không phải là một giao dịch bán nhỏ hơn, đó là số tiền cửa hàng rút lại từ một khoản chi trả sau này, thường là nhiều tuần sau khi bán và đôi khi lấy thẳng từ tài khoản ngân hàng của bạn. Đây là thời điểm tiền hoàn thực sự rời đi trên App Store và Google Play, và lý do khoản chi trả của bạn không bao giờ khớp với bảng điều khiển.
Hoàn tiền non-consumable, trên một lifetime unlock, một bản nâng cấp gỡ quảng cáo, hay một tầng pro vĩnh viễn, là khoản hoàn tiền duy nhất bạn thật sự có thể đảo ngược, vì bạn lấy lại được tính năng. Đây là chi phí của nó trên App Store và Google Play, vì sao Apple không bao giờ hỏi bạn trước, và làm sao để revoke có hiệu lực chắc chắn.
Chuyển thanh toán của bạn ra khỏi App Store hoặc Google Play và Apple cùng Google ngừng xử lý hoàn tiền cho bạn. Đây là chi phí thực sự của hoàn tiền qua thanh toán thay thế, tại sao các luồng xét duyệt hoàn tiền của cửa hàng biến mất, và ai trả tiền khi ngân hàng ép một chargeback.
Một giao dịch mua trong ứng dụng loại tiêu hao, một gói xu, một gói đá quý, một loạt tín dụng AI, là giao dịch duy nhất mà bạn đã tiêu tiền để cung cấp trước khi có ai đó đòi lại. Đây là chi phí mà một khoản hoàn tiền tiêu hao gây ra cho bạn trên App Store và Google Play, và cửa sổ duy nhất mà câu trả lời của bạn thực sự có giá trị.
Một bản dùng thử miễn phí chuyển sang gói trả phí là nơi hầu hết các khoản hoàn tiền đăng ký bắt đầu, vì khách hàng quên hủy và thứ đầu tiên họ thấy là khoản tính phí. Đây là chi phí mà một khoản hoàn tiền dùng thử miễn phí gây ra cho bạn trên App Store và Google Play, vì sao bạn hiếm khi phản đối được, và cách ngăn nó.
Mỗi khoản hoàn tiền mà Apple và Google gửi đến máy chủ của bạn đều mang một mã lý do. Google Play đóng dấu một trong chín lý do và một nguồn trên mỗi lần void, Apple đánh dấu liệu khoản hoàn tiền có quy lỗi cho ứng dụng của bạn không. Đây là ý nghĩa của từng mã, cách phân loại chúng thành sửa, tranh luận, hoặc chấp nhận, và chúng đáng giá bao nhiêu tiền.
Hầu hết các khoản hoàn tiền và bồi hoàn ứng dụng được Apple, Google hoặc ngân hàng quyết định mà không hỏi bạn. Đây là nơi bạn thực sự giảm hoàn tiền ứng dụng: xác nhận giao dịch đúng hạn, giao hàng sạch sẽ, gắn thẻ mọi tài khoản, và trả lời hai cửa sổ bằng chứng trước khi tiền rời đi.
Khách hàng nghĩ rằng họ có 48 giờ để nhận hoàn tiền ứng dụng. Cửa sổ thực sự dài hơn nhiều. Apple nhận yêu cầu hoàn tiền trong tối đa 90 ngày, và một khoản chargeback ngân hàng có thể đảo ngược một giao dịch bán trên Google Play trong tối đa 120 ngày. Đây là mọi chiếc đồng hồ giữ cho doanh thu của bạn vẫn có thể bị đảo ngược, và cái đuôi đó tốn kém ra sao.
Khi một khách hàng yêu cầu Apple hoàn tiền, bạn có 12 giờ để gửi dữ liệu tiêu thụ. Tài liệu của chính Apple gọi đó là một trong nhiều yếu tố, không phải một phán quyết. Đây là điều mà dữ liệu của bạn thực sự tác động, tại sao một DECLINE vẫn có thể kết thúc bằng việc hoàn tiền, và cú hích đó đáng giá bao nhiêu tính bằng đô la.
Google Play cho phép bạn đóng dấu một id ổn định, đã băm lên mọi giao dịch mua và đọc lại nó khi tranh chấp xảy ra. Thiết lập nó, và phiên xem xét bồi hoàn gắn với đúng người dùng mà bạn phải báo cáo mức sử dụng. Bỏ qua nó, và bạn phải khớp một id đơn hàng trần trụi với các phỏng đoán dưới một chiếc đồng hồ 24 giờ.
Khi khách hàng không thể biết ứng dụng của bạn đã tính phí gì, họ gọi cho ngân hàng thay vì bạn, và tranh chấp đó trở thành chargeback. Apple hiển thị mọi thứ dưới dạng apple.com/bill và không cho bạn thay đổi gì. Google Play cho phép bạn đặt tên trên sao kê. Đây là chi phí của mỗi bên và những gì bạn kiểm soát được.
Khi App Store đảo ngược một khoản hoàn tiền đã cấp, nó kỳ vọng máy chủ của bạn khôi phục quyền truy cập mà bạn đã thu hồi. Đây là cách các thông báo hoàn tiền, từ chối hoàn tiền và hoàn tiền bị đảo ngược hoạt động trên App Store và Google Play, cùng cái giá của mỗi thông báo khi bạn bỏ qua nó.
Khi một khách hàng được hoàn tiền, cả Apple lẫn Google đều trả lại phần hoa hồng của họ, nên phần chiết khấu của cửa hàng không phải là thứ bạn mất. Đây là ai trả tiền cho khoản hoàn tiền trên ứng dụng của bạn, thứ gì thực sự rời khỏi khoản chi trả của bạn, và vì sao một chargeback tốn kém hơn một khoản hoàn tiền thông thường.
Hủy một gói đăng ký thì cửa hàng chỉ dừng lần tính phí kế tiếp, khách hàng giữ quyền truy cập đến hết kỳ, và không có đồng tiền nào dịch chuyển. Hoàn tiền đảo ngược một khoản thanh toán đã hoàn tất và kéo theo cả quyền truy cập. Đây là chỗ hai việc tách ra, mỗi việc tốn của bạn những gì, và vì sao chỉ hoàn tiền mới từng chạm tới máy chủ của bạn.
Sản phẩm tiêu hao, sản phẩm không tiêu hao, gói đăng ký tự động gia hạn, và gói đăng ký không gia hạn mỗi loại hoàn tiền theo quy tắc riêng. Có loại khôi phục được, có loại biến mất ngay khi đã dùng, và chỉ yêu cầu sản phẩm tiêu hao cùng yêu cầu gói đăng ký mới từng đòi nhà phát triển đưa ra bằng chứng. Đây là cách loại mua hàng trong ứng dụng bạn bán thay đổi tác động của một khoản hoàn tiền đối với bạn.
Luật hoàn tiền ứng dụng khác nhau giữa EU, Anh và Mỹ, nhưng với hầu hết giao dịch bán ứng dụng thì kết quả vẫn như nhau. Quyền rút lui 14 ngày của EU thường bị từ bỏ ngay khi thanh toán, người mua ở Mỹ dựa vào chính sách cửa hàng, và không luật hoàn tiền nào cho bạn cơ hội phản hồi. Chỉ có hai luồng cửa hàng từng hỏi ý kiến của bạn.
Gian lận thân thiện là khi một khách hàng thật sự mua giao dịch trong ứng dụng của bạn, sử dụng nó, rồi nói với ngân hàng rằng giao dịch đó sai. Hàng đã mất và tiền bị đảo ngược. Đây là chi phí mà nó gây ra cho một nhà phát triển ứng dụng, lý do nó đang tăng, và khoảng thời gian ngắn mà Apple và Google cho bạn để phản kháng.
Apple quyết định một khoản hoàn tiền trên App Store trong khoảng hai ngày, nhưng số tiền có thể mất đến 30 ngày trên thẻ và đến 60 ngày trên hóa đơn điện thoại. Đây là thời gian xử lý hoàn tiền App Store thực tế theo từng phương thức thanh toán, so sánh với Google Play ra sao, và tại sao một khoản hoàn tiền chậm có thể biến thành một chargeback mà bạn không thể phản đối.
Apple hiển thị hoàn tiền trong hai báo cáo, Google hiển thị chúng trong hai báo cáo nữa, và máy chủ của bạn thấy cái thứ tư. Không con số nào khớp nhau, và các khoảng chênh này là do thiết kế. Đây là lý do mỗi bề mặt quy kết hoàn tiền theo cách khác nhau, và cách đối chiếu báo cáo hoàn tiền với hồ sơ của chính bạn theo từng giao dịch.
Trên Google Play, bạn có thể hoàn lại một phần đơn hàng từ Console, theo phần trăm hoặc theo số tiền, và chia sẻ khoản lỗ với phí của Google. Trên App Store, bạn không thể phát hành khoản hoàn tiền nào cả. Đây là cách hoàn tiền một phần hoạt động trên từng cửa hàng, và nó khiến bạn tốn bao nhiêu.
Hầu hết các ứng dụng di động hoàn tiền cho 2 đến 5 phần trăm giao dịch đã thanh toán, nhưng Apple và Google lưu con số này ở các bảng điều khiển khác nhau. Đây là nơi tìm tỷ lệ hoàn tiền của ứng dụng bạn, điều gì được coi là bình thường theo gói và danh mục, và mỗi lần hoàn tiền thực sự tốn bao nhiêu sau phí.
Apple thử lại thông báo hoàn tiền tối đa năm lần và Google Play chạy trên Pub/Sub với đảm bảo gửi ít nhất một lần, nên cùng một khoản hoàn tiền có thể đến máy chủ của bạn nhiều hơn một lần. Đây là cách xử lý thông báo hoàn tiền trùng lặp mà không trừ số dư hay đốt hạn ngạch API hai lần.
Một khoản hoàn tiền Family Sharing đảo ngược một lần thanh toán nhưng có thể để lại tới năm thành viên gia đình vẫn dùng các tính năng trả phí của bạn. Apple gửi một REVOKE và mong máy chủ của bạn chấm dứt quyền truy cập đó. Đây là cách hoàn tiền chia sẻ gia đình hoạt động và một lần như vậy tốn kém ra sao.
Việc xử lý hoàn tiền chỉ chạy sau khi khách hàng đã rời đi, nên một lỗi trong đó vẫn vô hình cho đến khi nó gây thiệt hại tiền thật. Cả hai cửa hàng đều cho phép bạn kích hoạt một khoản hoàn tiền trong môi trường test trước. Dưới đây là cách test hoàn tiền mua hàng trong ứng dụng trên App Store và Google Play trước khi một khoản hoàn tiền trở thành thật.
Giá được hoàn lại là dòng nhỏ nhất trên hóa đơn. Một khoản hoàn tiền cũng đảo ngược hoa hồng của cửa hàng, nên bạn mất phần của mình, và phần điện toán, lệnh gọi API, lưu trữ cùng các khoản chi trả bạn đã tiêu đều mất. Một khoản bồi hoàn Google Play sau ngày 3 tháng 8 năm 2026 còn cộng thêm phí ngân hàng lên trên. Đây là toàn bộ hóa đơn.
Một khoản hoàn tiền đăng ký đảo ngược cả một kỳ thanh toán, không phải một giao dịch bán đơn lẻ. Trên App Store, Apple quyết định và máy chủ của bạn chỉ biết kết quả. Trên Google Play bạn tự chọn hoàn tiền toàn phần hay theo tỷ lệ. Đây là cách mỗi cửa hàng xử lý hoàn tiền đăng ký, và một lần hoàn tiền khiến bạn tốn bao nhiêu.
Một khoản hoàn tiền trên App Store hay Google Play do cửa hàng cấp, và cửa hàng quyết định điều đó. Chargeback là ngân hàng của khách hàng rút tiền về, và ngân hàng quyết định, không có kháng nghị. Với các nhà phát triển ứng dụng, khoảng cách giữa chúng giờ đây là tiền, bởi vì từ ngày 3 tháng 8 năm 2026 Google Play đặt chi phí chargeback lên vai bạn.
Google Play âm thầm ngừng gánh chargeback. Với các đơn hàng đặt vào hoặc sau ngày August 3, 2026, bạn phải hoàn lại giá mua trừ đi phí dịch vụ của Play cộng với một khoản phí ngân hàng trên mỗi đơn hàng bị tranh chấp. Đây là những gì đã thay đổi, một chargeback giờ tốn của bạn bao nhiêu, và cửa sổ 24 giờ nơi bạn được phản bác.
Khi Apple hoàn tiền cho một khách hàng của bạn, khoản hoàn tiền đó đã nằm sẵn bên trong app của bạn trên revocationDate của transaction, trước khi tác vụ máy chủ của bạn chạy. Đây là nơi phát hiện hoàn tiền StoreKit 2 hiện ra trên thiết bị, revocationDate và revocationReason cho bạn biết điều gì, và tại sao client là để nhanh còn server là để đúng.
Mỗi khoản hoàn tiền trên App Store và Google Play đều khởi động một chiếc đồng hồ, và phần lớn chúng chạy mà không cần bạn. Cửa sổ hoàn tiền ngắn nhất của Apple là 12 giờ, cửa sổ chargeback của Google là 24 giờ, và từ ngày 3 tháng 8 năm 2026, một cửa sổ chargeback bị bỏ lỡ là một hóa đơn, không chỉ là một đơn hàng mất đi. Đây là mọi thời hạn chạm đến tài khoản của bạn.
Google Play có thể đẩy tới máy chủ của bạn một thông báo giao dịch bị hủy ngay lập tức khi một giao dịch được hoàn tiền, bị bồi hoàn, hoặc bị hủy. Nó mang theo purchaseToken, orderId, productType và refundType, và nó có nghĩa một điều, thu hồi quyền truy cập. Đây là cách đọc nó và kết nối nó.
Bạn có thể hoàn tiền bất kỳ đơn hàng Google Play nào dưới ba năm tuổi chỉ với một lệnh gọi API, có hoặc không thu hồi quyền truy cập. Tự làm việc đó trước khi một tranh chấp biến thành chargeback giúp bạn tiết kiệm khoản phí ngân hàng đổ lên nhà phát triển kể từ ngày 3 tháng 8 năm 2026. Đây là cách orders.refund hoạt động.
Khi một khách hàng yêu cầu Apple hoàn tiền, payload Send Consumption Information là câu trả lời của bạn. Apple đã cắt nó từ mười hai trường xuống còn năm, ba bắt buộc và hai tùy chọn. Đây là từng trường, các giá trị mỗi trường chấp nhận, và cửa sổ 12 giờ để bạn gửi nó.
Endpoint Get Refund History của Apple trả về toàn bộ lịch sử hoàn tiền App Store của một khách hàng dưới dạng các giao dịch đã ký. Đây là từng trường, cách token revision phân trang, tại sao dữ liệu là theo khách hàng chứ không theo ứng dụng, và một lần hoàn tiền bạn bỏ lỡ khiến bạn tốn bao nhiêu.
Yêu cầu hoàn tiền trong ứng dụng của Apple cho phép khách hàng xin hoàn tiền mà không cần rời khỏi ứng dụng của bạn, trên một bảng do Apple dựng và xét duyệt. Đây là những gì beginRefundRequest trả về, các đồng hồ CONSUMPTION_REQUEST và 48 giờ mà nó khởi động trên máy chủ của bạn, và liệu nút này có đáng để phát hành hay không.
Google Play âm thầm hủy một giao dịch mua khi nó được hoàn tiền hoặc bị chargeback. Voided Purchases API là danh sách những đơn hàng đó, để bạn có thể thu hồi quyền truy cập. Đây là từng field, cửa sổ 30 ngày, tùy chọn revoke làm ẩn đơn hàng, và chi phí của nó.
Apple gửi bốn tin nhắn hoàn tiền qua App Store Server Notifications V2, và hầu hết ứng dụng chỉ xử lý hai. REFUND yêu cầu bạn thu hồi, REFUND_DECLINED nghĩa là giữ doanh số, và REFUND_REVERSED trả lại doanh số và yêu cầu bạn khôi phục những gì đã lấy đi. Đây là những gì mỗi loại đòi hỏi.
Kể từ WWDC24, mỗi CONSUMPTION_REQUEST của Apple đều mang theo consumptionRequestReason, lý do do chính khách hàng nêu ra khi muốn hoàn tiền. Có năm giá trị, từ UNINTENDED_PURCHASE đến LEGAL, và mỗi giá trị nên thay đổi những gì bạn gửi lại trong khung thời gian 12 giờ của mình. Đây là cách đọc từng giá trị.
Khi một ngân hàng rút lại một khoản phí Google Play, Google gửi đến máy chủ của bạn một PendingRefundReviewNotification và bắt đầu đồng hồ đếm 24 giờ. Hãy trả lời qua ReviewRefund API với một tùy chọn hoàn tiền và bằng chứng tiêu thụ thực tế, nếu không tranh chấp sẽ được quyết định mà không có bạn. Đây là toàn bộ quy trình, từng trường một.
Apple gửi cho máy chủ của bạn một CONSUMPTION_REQUEST khi khách hàng yêu cầu hoàn tiền, nhưng giao dịch không bao giờ cho biết họ là ai. appAccountToken là UUID liên kết một giao dịch mua trở lại người dùng của bạn. Thiết lập nó và bạn có thể trả lời Apple bằng dữ liệu thực. Bỏ qua nó và bạn chỉ đang đoán.
Google Play tự động hoàn tiền và thu hồi bất kỳ giao dịch mua nào mà máy chủ của bạn không xác nhận trong ba ngày. Đó là một lỗi tích hợp, không phải quyết định của khách hàng, và hoàn toàn có thể ngăn chặn. Đây là quy tắc chính xác, lý do nó kích hoạt, và chi phí thực sự của mỗi lần bán hàng bị mất.
Khách hàng hoàn tiền hết lần này đến lần khác không phải là ngẫu nhiên. Lạm dụng hoàn tiền khiến bạn mất khoản tiền trả lại cộng với phần tính toán bạn đã chi, và cả hai cửa hàng đều trao cho bạn một tín hiệu danh tính, appAccountToken của Apple và ID tài khoản đã che giấu của Google, để ghép nối mô hình đó lại với nhau.
Apple và Google đều có thể xử lý một khoản hoàn tiền trong khi khách hàng vẫn giữ nguyên quyền sử dụng sản phẩm đã mua. Dưới đây là thời điểm chính xác quyền truy cập được thu hồi tự động, khi nào máy chủ của bạn phải tự làm việc đó, và thông báo duy nhất mà hầu hết các tích hợp chưa từng xử lý.
Only two refund flows ever ask for your evidence: Apple's consumption request and Google Play's chargeback review. Everything else, the 48-hour Play refund, support refunds, voided purchases, unacknowledged trials, is decided without you. Here is the full map, what you can prevent, and what you can only record.
When a customer asks Apple for a refund, Apple asks you first. Here's exactly what the CONSUMPTION_REQUEST notification contains, what Apple expects back, how to answer one end to end, and why most developers silently forfeit.
Google quietly rewrote who pays when a Play purchase gets disputed with the bank. For orders placed after August 3, 2026, a lost chargeback comes out of your pocket, and you get 24 hours to fight back. What changed, what it costs, and how to be ready.
Blanket-declining every refund is as wrong as ignoring them. A field guide to measuring what refunds cost you and writing policy rules that protect revenue and your review score at the same time.