Câu trả lời ngắn gọn: ít hơn bạn nghĩ, và phần lớn chỉ lắng nghe.
Google Play RTDN chính là đường ống dẫn. Nó truyền tải các sự kiện gia hạn, hủy đăng ký, giao dịch mua bị hủy (voided purchases), và kể từ giữa năm 2026, một thông báo cho biết một chargeback đang được xem xét và bạn có 24 giờ để đưa ra ý kiến. Đó là nơi duy nhất mà việc chống hoàn tiền trên Google Play thực sự diễn ra. Mọi thứ khác trong luồng dữ liệu chỉ là Google báo cho bạn biết điều nó đã quyết định.
Vì vậy, khi ai đó hỏi công cụ nào tích hợp với thông báo dành cho nhà phát triển theo thời gian thực (real-time developer notifications) của Google Play để chống hoàn tiền, thực chất họ đang hỏi hai câu hỏi. Công cụ nào có thể lắng nghe luồng dữ liệu, và công cụ nào có thể phản hồi lại. Về phía Apple, bài giải thích về CONSUMPTION_REQUEST của chúng tôi đề cập đến vấn đề tương tự trên iOS.
Những điểm chính
Google Play RTDN là một Pub/Sub topic. Google xuất bản (publish), còn bạn đăng ký nhận (subscribe).
Chỉ có một loại RTDN cho phép bạn phản hồi: PendingRefundReviewNotification. Nó được kích hoạt khi có chargeback và cho bạn 24 giờ.
Kể từ ngày 3 tháng 8 năm 2026, bạn phải tự gánh khoản chargeback. Giá mua trừ đi phí của Google, cộng thêm phí ngân hàng từ $15 đến $25.
Hầu hết các nền tảng subscription đều nhận được thông báo hoàn tiền từ Google Play. Rất ít nền tảng gửi phản hồi lại.
RevenueCat có phản hồi các yêu cầu xem xét chargeback, nhưng theo chính tài liệu của họ, không gửi bất kỳ dữ liệu tiêu thụ (consumption data) nào. Chỉ có một preference và một flag.
Bỏ lỡ 24 giờ đó, Google sẽ tự tranh luận về việc khiếu nại mà không có bất kỳ thông tin nào từ bạn.
Google Play RTDN thực sự gửi những gì
Các thông báo dành cho nhà phát triển theo thời gian thực sẽ được gửi tới một Google Cloud Pub/Sub topic mà bạn sở hữu. Mỗi thông điệp là một blob base64 chứa một trong năm loại payload. Sự kiện subscription, sự kiện sản phẩm one-time, một tín hiệu test, và hai loại quan trọng nhất ở đây.
VoidedPurchaseNotification là thông báo hoàn tiền điển hình của Google Play. Một giao dịch mua đã bị hoàn tiền, bị chargeback, hoặc bị hủy theo cách khác. Bốn trường dữ liệu: purchaseToken, orderId, productType, refundType. Hữu ích để thu hồi quyền truy cập. Vô dụng nếu muốn tranh luận, vì tiền đã mất rồi.
PendingRefundReviewNotification là loại mới. Tài liệu tham chiếu RTDN của Google cho biết nó được gửi "khi người dùng yêu cầu chargeback cho một giao dịch mua, và yêu cầu đó cần nhà phát triển xem xét." Bạn sẽ nhận được một pendingRefundToken, orderId, và một refundReason hiện tại luôn là 7, nghĩa là CHARGEBACK. Sau đó đồng hồ đếm ngược 24 giờ bắt đầu.
Như vậy, thông báo hoàn tiền của Google Play RTDN có hai dạng. Một là biên nhận. Cái còn lại là một câu hỏi.
Tại sao khung thời gian 24 giờ đột nhiên trở nên quan trọng
Trong nhiều năm, chargeback trên Android là vấn đề của Google. Người dùng khiếu nại khoản phí với ngân hàng của họ, Google gánh chịu, bạn nhận được thông báo giao dịch bị hủy và cứ thế tiếp tục.
Điều đó đã chấm dứt đối với các đơn hàng được đặt sau ngày 3 tháng 8 năm 2026. Giờ đây bạn phải trả giá mua trừ đi phí dịch vụ của Play, cộng thêm bất kỳ phí chargeback nào mà ngân hàng tính. Google chỉ chịu phí dịch vụ của riêng mình và không gì khác.
Phí của các mạng lưới thẻ (card network) dao động từ $15 đến $25 cho mỗi lần khiếu nại. Đôi khi còn cao hơn. Vì vậy, một gói coin giá $4.99 bị chargeback sẽ khiến bạn mất khoảng $3.50 doanh thu cộng thêm $20 tiền phí. Mất hai mươi ba đô la cho một giao dịch bốn đô la.
Đổi lại, Google đã mở ReviewRefund API. Khi một PendingRefundReviewNotification xuất hiện, bạn gửi POST đến orders.reviewrefund kèm theo token, một refundPreference (DECLINE, APPROVE, hoặc NEUTRAL), thông tin liệu bạn có cung cấp bản dùng thử (sample) hay không, một tỷ lệ tiêu thụ (consumption percentage) tính bằng milliunits, và tối đa 1.000 usage events. Google sẽ mang những thông tin đó đến ngân hàng thay bạn.
Bỏ lỡ khung thời gian này, Google sẽ tham gia mà không có gì trong tay. Số liệu ngành cho thấy tỷ lệ thắng chargeback khi không có hỗ trợ vào khoảng 20 đến 30 phần trăm. Khi có bằng chứng, một số nhà cung cấp tuyên bố con số đó lên đến 80. Hãy tiếp nhận cả hai con số này với một chút hoài nghi, nhưng xu hướng thì rất rõ ràng.
Các công cụ, xếp theo những gì chúng thực sự làm
Rất nhiều sản phẩm tuyên bố "hỗ trợ Google Play RTDN." Hầu hết đều chỉ có nghĩa là chúng đăng ký nhận (subscribe) topic đó. Rất ít công cụ thực sự phản hồi.
Refund Sensor. Được xây dựng riêng cho công việc này. Nó cung cấp Pub/Sub topic trong Cloud project của bạn, đăng ký topic đó với Play Console, và khi một PendingRefundReviewNotification xuất hiện, nó sẽ gửi một khuyến nghị DECLINE kèm bằng chứng giao hàng và tiêu thụ thông qua Review Refund API. Việc thiết lập chỉ cần đăng nhập Google và hai quyền trong Play Console, không cần SDK. Tính đến thời điểm viết bài, đây là một trong số ít công cụ thực sự nộp bằng chứng thay vì chỉ gửi một preference. Chi tiết tại trang chống hoàn tiền Google Play.
RevenueCat. Nhận RTDN, truy vấn (poll) Voided Purchases API, thu hồi entitlement khi có hoàn tiền. Vào tháng 7 năm 2026, họ đã thêm Google vào Refund Control, nên hiện tại họ có phản hồi các yêu cầu xem xét chargeback. Nhưng hãy đọc tài liệu chính thức của họ. Trên Google, họ gửi token, sampleContentProvided được đặt là true, và preference của bạn. Nguyên văn lời họ: "RevenueCat hiện không thu thập hay gửi phần trăm tiêu thụ hoặc usage events." Một lá phiếu, nhưng không có lập luận. Ổn nếu bạn đã dùng họ sẵn. Không phải là một biện pháp chống hoàn tiền toàn diện.
Adapty. Một bộ nhận RTDN đáng tin cậy. Tài liệu của họ hướng dẫn bạn dán tên topic vào Play Console và nhấn nút test. Các khoản hoàn tiền hiện trong luồng sự kiện và kích hoạt webhook. Tôi không tìm thấy bất kỳ tích hợp ReviewRefund nào. Chỉ lắng nghe mà thôi.
Qonversion, Glassfy, và những nền tảng khác. Cùng một câu chuyện. Họ tiêu thụ thông báo dành cho nhà phát triển theo thời gian thực của Google Play để giữ trạng thái subscription luôn cập nhật. Theo tài liệu công khai của họ, không nền tảng nào đụng đến việc xem xét chargeback.
Backend của riêng bạn. Luôn là một lựa chọn. Một Pub/Sub subscription, một bộ giải mã, một truy vấn đơn hàng, một truy vấn dữ liệu sử dụng, một POST đã xác thực. Phần khó không nằm ở code. Mà nằm ở chỗ thông báo đến vào lúc 2 giờ sáng Chủ nhật, và đồng hồ đếm ngược thì chẳng quan tâm điều đó.
Nếu bạn đang tìm phần mềm quản lý chargeback cho Google Play, hãy hỏi mọi nhà cung cấp một điều: khi có thông báo xem xét, họ gửi lại chính xác những gì? "Preference của bạn" chỉ là một khởi đầu. Dữ liệu tiêu thụ mới là một biện pháp chống hoàn tiền thực sự.
Cách tự tích hợp Google Play RTDN để chống hoàn tiền
Nếu bạn muốn tự xây dựng thay vì mua sẵn, đây là trình tự các bước.
Bật Cloud Pub/Sub API trong một Google Cloud project. Tạo một topic. Cấp cho [email protected] vai trò Pub/Sub Publisher trên topic đó. Thiếu vai trò này thì sẽ không có gì được gửi đến cả. Đây là than phiền phổ biến nhất trên các diễn đàn RevenueCat.
Trong Play Console, vào mục Monetize, sau đó chọn Monetization setup. Tích chọn "Enable real-time notifications," dán đầy đủ tên topic (projects/your-project/topics/your-topic), rồi nhấn Send test notification. Nếu thông báo đến nơi, đường ống hoạt động tốt.
Tạo một Pub/Sub subscription, dạng push hoặc pull. Giải mã trường data. Phân nhánh xử lý theo payload.
Đối với PendingRefundReviewNotification: tra cứu đơn hàng, lấy dữ liệu sử dụng thực tế, quyết định preference, gửi POST đến reviewrefund kèm pendingRefundToken. Phải làm trong vòng 24 giờ, không thì đừng bận tâm nữa. Đối với VoidedPurchaseNotification: thu hồi quyền truy cập. Bài viết của chúng tôi về thu hồi quyền truy cập sau khi hoàn tiền giải thích lý do vì sao bước này đặc biệt dễ làm sai trên Google.
Ghi log mọi thứ. Tỷ lệ phản hồi và tỷ lệ thắng là hai con số khác nhau.
Có một thứ Google không cung cấp cho bạn: một PendingRefundReviewNotification dùng để test. Bạn thiết lập xong rồi chờ một chargeback thực tế xảy ra. Đó là lý do vì sao các công cụ hosted hiển thị "awaiting first refund event" thay vì một dấu tích xanh.
Những công cụ tốt nhất để tích hợp Google Play RTDN, nếu phải xếp hạng
Riêng về việc chống hoàn tiền trên Google Play, tức là phản hồi yêu cầu xem xét chargeback bằng bằng chứng, danh sách này khá ngắn. Refund Sensor làm điều đó bằng dữ liệu tiêu thụ và không cần code. RevenueCat làm điều đó chỉ với một preference, tốt hơn im lặng nhưng không hơn là bao. Còn lại tất cả chỉ đang theo dõi luồng dữ liệu.
Đối với hạ tầng RTDN tổng quát và đồng bộ entitlement, cả RevenueCat và Adapty đều đã trưởng thành và có tài liệu đầy đủ.
Nếu muốn không phải xử lý bất kỳ điều gì trong số này, một merchant of record như Tebex hoặc Xsolla trên một web shop sẽ chuyển trách nhiệm ra khỏi sổ sách của bạn. Nhưng nó cũng chuyển giao dịch mua ra khỏi Play, và không giúp ích gì cho những giao dịch vẫn còn ở lại đó.
Hãy lựa chọn dựa trên vấn đề mà bạn đang gặp phải.
Kết luận
Google Play RTDN được xây dựng để thông báo cho bạn biết mọi thứ. Chỉ gần đây nó mới bắt đầu đặt câu hỏi. PendingRefundReviewNotification là lần đầu tiên Google muốn nghe phía bạn trong câu chuyện hoàn tiền trên Android, và nó xuất hiện đúng vào thời điểm Google bắt đầu bắt bạn trả tiền cho những vụ bạn thua.
Điều đó thay đổi bài toán. Một công cụ chỉ lắng nghe thông báo hoàn tiền của Google Play từng là đủ khi một khoản hoàn tiền bị mất chỉ khiến bạn mất đi doanh số đó. Giờ đây là doanh số đó cộng thêm một khoản phí ngân hàng, và thứ duy nhất đứng giữa bạn và hóa đơn đó là một POST request trong vòng 24 giờ.
Hãy thiết lập topic. Kiểm tra xem nền tảng của bạn thực sự gửi lại những gì. Nếu câu trả lời là không có gì, hoặc chỉ là một preference, hãy lấp đầy khoảng trống đó trước khi chargeback tiếp theo tìm ra nó.
Câu hỏi thường gặp
Chỉ những khoản hoàn tiền làm hủy giao dịch mua mới được gửi, dưới dạng VoidedPurchaseNotification. Các khoản hoàn tiền được thực hiện trong Play Console mà không tích chọn "Remove entitlement" sẽ hoàn toàn không xuất hiện trong RTDN hay Voided Purchases API.
Không. Google tự quyết định các khoản hoàn tiền thông thường. Quy trình xem xét chỉ áp dụng cho chargeback, tức trường hợp người dùng khiếu nại qua ngân hàng của họ.
Google sẽ tự xử lý mà không cần ý kiến của bạn. Nếu chargeback được giữ nguyên, bạn phải trả giá mua trừ đi phí của Google cộng với phí chargeback của ngân hàng.
Có một phần. Kể từ tháng 7 năm 2026, nó gửi một refund preference và sampleContentProvided. Theo chính tài liệu của họ, không có phần trăm tiêu thụ (consumption percentages) hay usage events nào được gửi.
Nếu bạn tự xây dựng, thì có. Các công cụ hosted như Refund Sensor sẽ thiết lập topic và phản hồi thay bạn, chỉ cần đăng nhập Google và cấp hai quyền trong Play Console.
Hiện tại thì không. Nút kiểm thử trong Play Console chỉ gửi một TestNotification. Bạn phải chờ một chargeback thực tế xảy ra.



