Đánh giá chargeback của Google Play cho bạn 24 giờ để phản kháng, đây là những gì cần gửi
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.

Điểm chính
- Đánh giá chargeback của Google Play bắt đầu khi ngân hàng của một khách hàng đảo ngược một khoản phí và Google Play gửi đến máy chủ của bạn một PendingRefundReviewNotification. Bạn có 24 giờ kể từ thông báo đó để trả lời bằng ReviewRefund API.
- Đánh giá chargeback là quy trình hoàn tiền Android duy nhất yêu cầu nhà phát triển cung cấp bằng chứng. Hoàn tiền tự phục vụ 48 giờ, hoàn tiền qua hỗ trợ, và các giao dịch mua bị hủy đều được quyết định mà không có bạn.
- Bạn trả lời bằng cách gọi orders.reviewrefund với một refundPreference là APPROVE, DECLINE, hoặc NEUTRAL, cùng với bằng chứng: một giá trị consumptionPercentageMilliunits và một danh sách tùy chọn các sự kiện sử dụng tiêu thụ.
- Google Play chỉ ghi nhận lệnh gọi ReviewRefund đầu tiên của bạn cho một thông báo nhất định. Mọi lệnh gọi sau đó đều bị bỏ qua nhưng vẫn trả về OK, vì vậy phản hồi đầu tiên của bạn phải đầy đủ và chính xác.
- Thông báo mang theo một pendingRefundToken và một orderId, và lý do hoàn tiền duy nhất mà một đánh giá đang chờ hỗ trợ là CHARGEBACK, đến dưới dạng code 7.
- consumptionPercentageMilliunits được đo bằng milliunit, vì vậy 100000 nghĩa là khách hàng đã dùng 100 percent những gì họ đã mua. Đó là cách bạn cho Google Play biết sản phẩm đã được giao đầy đủ.
- Từ August 3, 2026, các nhà phát triển gánh chịu giá mua trừ đi phí dịch vụ của Play cộng với phí chargeback của ngân hàng trên mỗi tranh chấp thua, vì vậy một đánh giá chargeback không được trả lời là một khoản phí trực tiếp trừ vào doanh thu của chính bạn.
Khi ngân hàng của một khách hàng rút lại một khoản phí Google Play, Google Play không chỉ hoàn tiền rồi bỏ đi. Nó 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 thông báo đó qua ReviewRefund API với một tùy chọn hoàn tiền và bằng chứng về những gì khách hàng thực sự đã dùng, và Google Play sẽ đưa đầu vào của bạn vào cách nó phản đối khoản chargeback. Giữ im lặng, và tranh chấp sẽ được giải quyết mà không có một lời nào từ bên duy nhất biết sản phẩm đã được tiêu thụ ra sao.
Đánh giá chargeback của Google Play là quy trình hoàn tiền Android duy nhất yêu cầu bạn cung cấp bằng chứng, đối tác trực tiếp của CONSUMPTION_REQUEST của Apple. Bây giờ nó quan trọng hơn trước. Bắt đầu từ August 3, 2026, Google Play chuyển chi phí chargeback sang các nhà phát triển, vì vậy một tranh chấp mà bạn không trả lời sẽ trừ vào tài khoản của bạn, không phải của Google. Đây chính xác là những gì thông báo mang theo, những gì bạn gửi lại, các trường tạo nên bằng chứng của bạn, và nơi sự im lặng biến thành tiền.
Đánh giá chargeback của Google Play thực sự là gì
Chargeback không phải là một yêu cầu hoàn tiền. Khách hàng đến ngân hàng hoặc mạng lưới thẻ của họ và tranh chấp khoản phí, và ngân hàng rút lại tiền. Google Play tự xử lý phần lớn những trường hợp này. Với một tập hợp con, nó mở một đánh giá và hỏi bạn trước, vì bạn nắm giữ thông tin mà Google không có: liệu đơn hàng đã được giao chưa và khách hàng đã tiêu thụ bao nhiêu. Đánh giá đó chính là quy trình phía sau ReviewRefund API.
Đây là nơi duy nhất trong hệ thống hoàn tiền Android nơi bằng chứng của bạn thay đổi kết quả. Mọi con đường hoàn tiền Google Play khác đều chạy mà không có bạn. Khách hàng có thể tự hoàn tiền trong vòng 48 giờ kể từ khi mua, bộ phận hỗ trợ có thể cấp một khoản, và một giao dịch mua không được xác nhận sẽ được tự động hoàn tiền, tất cả đều do Google quyết định. Đánh giá chargeback là ngoại lệ, và đáng được xem như cuộc trò chuyện hoàn tiền duy nhất mà bạn thực sự được tham gia.
Đây là phiên bản Android của cửa sổ bằng chứng của Apple
Hai cửa hàng, hai quy trình yêu cầu nhà phát triển cung cấp bằng chứng, và đó là toàn bộ danh sách. Apple gửi một CONSUMPTION_REQUEST và cho bạn 12 giờ để trả lời bằng Send Consumption Information. Google Play gửi một PendingRefundReviewNotification và cho bạn 24 giờ để trả lời bằng orders.reviewrefund. Cơ chế khác nhau, nhưng bài học thì giống hệt: khi cửa hàng hỏi khách hàng đã dùng gì, một câu trả lời chính xác là ranh giới giữa việc giữ được giao dịch bán và trao trả nó lại.
Một khác biệt quan trọng trong thực tế. Payload tiêu thụ của Apple là năm trường số và không có gì khác. Bằng chứng của Google Play phong phú hơn. Bạn có thể gửi một phần trăm tiêu thụ cùng với một danh sách các sự kiện sử dụng riêng lẻ, mỗi cái có một timestamp, một mã định danh tài khoản, và thậm chí một IP address và location thô. Google Play cho bạn nhiều không gian hơn để mô tả việc giao hàng, nghĩa là nhiều không gian hơn để thuyết phục.
Đồng hồ đếm 24 giờ và cách thông báo đến với bạn
Đánh giá đến dưới dạng một Real Time Developer Notification trên topic Cloud Pub/Sub của bạn, cùng kênh gửi các sự kiện đăng ký và mua hàng của bạn. Thông điệp là một payload mã hóa base64 với một đối tượng pendingRefundReviewNotification bên trong. Đồng hồ bắt đầu khi thông báo đó được phát hành, không phải khi tình cờ bạn đọc nó, vì vậy một consumer chỉ thăm dò một lần mỗi ngày là một consumer bỏ lỡ các tranh chấp.
PendingRefundReviewNotification, từng trường một
Thông báo nhỏ gọn. Nó cho bạn biết đơn hàng nào đang được đánh giá, trao cho bạn token mà bạn phải trích dẫn lại, và nêu tên lý do. Đây là mọi trường mà nó mang theo.
| Trường | Kiểu | Ý nghĩa |
|---|---|---|
| version | string | Phiên bản thông báo, bắt đầu từ "1.0" |
| pendingRefundToken | string | Token xác định đánh giá này. Bạn chuyển nó lại trong lệnh gọi ReviewRefund |
| orderId | string | Đơn hàng đang được đánh giá, ví dụ GPA.1234-5678-9012-34567 |
| refundReason | int | Lý do hoàn tiền được yêu cầu. Một đánh giá đang chờ luôn chỉ mang CHARGEBACK, code 7 |
| obfuscatedAccountId | string | Id tài khoản bạn đặt lúc mua, nếu bạn có đặt |
| obfuscatedProfileId | string | Id hồ sơ bạn đặt lúc mua, nếu bạn có đặt |
Chỉ một chargeback mới mở một đánh giá đang chờ
refundReason trên một đánh giá đang chờ luôn là CHARGEBACK, được gửi dưới dạng số nguyên 7. Các lý do hoàn tiền khác tồn tại trong thế giới của Google Play, nhưng chúng không đến với bạn qua quy trình này, vì bạn không có tiếng nói trong đó. Nếu bạn thấy một PendingRefundReviewNotification, một ngân hàng đã đảo ngược một khoản phí và Google Play đang quyết định có phản đối hay không. Đó là tác nhân duy nhất.
Những gì bạn gửi lại qua ReviewRefund API
Bạn phản hồi bằng một POST duy nhất đến orders.reviewrefund. Đường dẫn đầy đủ là POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/orders/{orderId}:reviewrefund, được ủy quyền bằng scope https://www.googleapis.com/auth/androidpublisher, cùng scope OAuth mà tích hợp Play Developer API của bạn đã dùng. Thành công trả về một body rỗng với HTTP 200.
Body là nơi hồ sơ của bạn tồn tại. Bạn lặp lại pendingRefundToken từ thông báo, nêu một tùy chọn hoàn tiền, và đính kèm bằng chứng tiêu thụ.
Tùy chọn hoàn tiền của bạn là một khuyến nghị, không phải một phán quyết
Trường refundPreference nhận một trong ba giá trị, và đó là lời khuyên cho Google Play, không phải một quyết định cuối cùng. Google vẫn sở hữu kết quả. Nhưng đó là lời khuyên được hậu thuẫn bởi dữ liệu mà Google không thể tự thấy, vì vậy nó có trọng lượng.
| refundPreference | Ý nghĩa |
|---|---|
| APPROVE | Bạn muốn Google Play cấp toàn bộ khoản hoàn tiền |
| DECLINE | Bạn muốn Google Play từ chối khoản hoàn tiền |
| NEUTRAL | Bạn không có tùy chọn và nhường lại cho Google Play |
| REFUND_PREFERENCE_UNSPECIFIED | Giá trị mặc định, không dùng trong một phản hồi thực tế |
Các trường bằng chứng hậu thuẫn cho một DECLINE
Một DECLINE trơ trọi là một tuyên bố không có bằng chứng. Các trường tiêu thụ là bằng chứng. consumptionPercentageMilliunits là một số nguyên tính bằng milliunit, vì vậy 100000 nói rằng khách hàng đã tiêu thụ 100 percent những gì họ đã mua và 50000 nói một nửa. consumptionUsageEvents là một mảng tùy chọn nơi mỗi sự kiện có thể mang một obfuscatedAccountId, một obfuscatedProfileId, một consumptionTime, một ipAddress, một consumptionItemDescription, và một location thô. sampleContentProvided là một boolean cho trường hợp bạn đã cho khách hàng một mẫu miễn phí của nội dung trả phí. Cùng nhau, trong chính schema của Google Play, chúng nói rằng sản phẩm đã được giao và sử dụng.

Lệnh gọi đầu tiên của bạn là lệnh gọi duy nhất của bạn
Google Play ghi nhận lệnh gọi ReviewRefund đầu tiên bạn thực hiện đối với một thông báo và bỏ qua mọi lệnh gọi sau đó, trong khi vẫn trả về trạng thái OK. Không có bản nháp và không có bản sửa. Nếu phản hồi đầu tiên của bạn là một NEUTRAL vội vàng không có bằng chứng vì đường ống của bạn chưa sẵn sàng, thì đó là phản hồi được ghi lại, và lệnh gọi sau đó với toàn bộ lịch sử tiêu thụ bị âm thầm loại bỏ. Hãy xây dựng câu trả lời hoàn chỉnh trước khi bạn gửi bất cứ thứ gì.
Đánh giá đó tốn của bạn bao nhiêu tiền
Trong nhiều năm, một khoản chargeback Google Play thua khiến nhà phát triển mất khoản bán và ít thứ khác, vì Google Play gánh chịu các khoản phí hạ nguồn. Điều đó kết thúc vào August 3, 2026. Đối với các đơn hàng đặt sau ngày đó, Google Play chia sẻ chi phí chargeback với các nhà phát triển, và phần của nhà phát triển là giá mua trừ đi phí dịch vụ của Play, cộng với phí chargeback liên quan do tổ chức tài chính tính. Google Play tiếp tục gánh phần phí dịch vụ. Phí ngân hàng là gánh nặng mới về phía sổ sách của bạn.
Khoản hoàn tiền không bao giờ là con số thực
Tranh chấp trả lại khoản thanh toán của khách hàng, nhưng khoản thanh toán chưa bao giờ là chi phí duy nhất của bạn. Một video được tạo, một loạt lệnh gọi API mô hình, một khoản chi trả cho nhà sáng tạo, dung lượng lưu trữ bạn đã cấp phát, tất cả số tiền đó đã rời tài khoản của bạn ngay khi đơn hàng được giao, và không một đồng nào quay lại cùng khoản chargeback. Bây giờ cộng thêm phí chargeback của ngân hàng lên trên. Bạn đang trả hóa đơn nhà cung cấp, hoàn tiền cho khoản bán, và gánh phí tranh chấp, ba chi phí cho một đơn hàng mà bạn có bằng chứng để bảo vệ.
Quy mô mà Google đang chống lại
Google Play cho biết đã chặn US$3.4B gian lận và lạm dụng trong 2025 và đang bổ sung phát hiện gian lận đến hết 2026. Thay đổi chia sẻ chi phí là một phần của cùng nỗ lực đó: cho các nhà phát triển một lý do để đưa bằng chứng vào hệ thống, và hệ thống sẽ phản đối nhiều hơn các tranh chấp bất hợp pháp. ReviewRefund API là cách bằng chứng của bạn được đưa vào. Một phản hồi rỗng là một lá phiếu để một khoản chargeback gian lận thân thiện tồn tại bằng tiền của bạn.
Cách sẵn sàng trước khi thông báo ập đến
Cửa sổ 24 giờ không phải là vấn đề. Vấn đề là bằng chứng bạn cần phải tồn tại trước khi có tranh chấp, được ghi lại lúc mua và lúc tiêu thụ, không phải dựng lại sau khi một token xuất hiện. Một nhóm bắt đầu thu thập dữ liệu khi thông báo đến thì đã thua rồi.
Đính kèm danh tính lúc mua hàng
Đặt một obfuscatedAccountId bằng setObfuscatedAccountId trên mỗi giao dịch mua, để id tài khoản của thông báo ánh xạ thẳng đến một người dùng trong hệ thống của bạn. Giữ nó là một hash, 64 ký tự trở xuống, đừng bao giờ là email cleartext hay dữ liệu cá nhân khác, vì các mã định danh cleartext khiến giao dịch mua bị chặn. Không có liên kết đó bạn không thể kết nối pendingRefundToken với một lịch sử sử dụng thực, và DECLINE của bạn không có gì đằng sau.
Ghi nhật ký tiêu thụ khi nó diễn ra
Ghi lại một đơn hàng trả phí đã giao gì, khi nào, và cho ai, dưới một dạng bạn có thể biến thành consumptionPercentageMilliunits và consumptionUsageEvents theo yêu cầu.
- Gắn timestamp cho mỗi đơn vị tiêu thụ, để consumptionTime trên mỗi sự kiện là thực, không phải ước lượng.
- Theo dõi việc giao hàng đối chiếu với giao dịch mua, để bạn có thể nêu một phần trăm tiêu thụ với sự tự tin thay vì đoán.
- Giữ các mã định danh tài khoản và hồ sơ ngay cạnh dữ liệu sử dụng, để một sự kiện được lắp ráp trong một truy vấn khi token đến.
- Ghi lại IP của yêu cầu và location thô nếu bạn có, vì Google Play chấp nhận cả hai như các trường sự kiện.
Trả lời bên trong cửa sổ, một cách tự động
Cửa sổ 24 giờ thì thoải mái cho một cỗ máy và tàn nhẫn cho một con người phải thức và chú ý. Phản hồi nên tự động: thông báo vào, tra cứu tài khoản, lắp ráp tiêu thụ, một lệnh gọi ReviewRefund ra, tất cả mà không có một người nào trong vòng lặp. Đó là phần mà RefundHalt chạy giúp bạn. Chúng tôi lắng nghe PendingRefundReviewNotification, khớp đơn hàng với dữ liệu sử dụng mà chúng tôi đã theo dõi cho tài khoản đó, và trả lời orders.reviewrefund bên trong cửa sổ với một tùy chọn hoàn tiền và bằng chứng tiêu thụ thực. Token là sợi chỉ, và bằng chứng là hồ sơ. Hãy có sẵn cả hai và cuộc trò chuyện hoàn tiền duy nhất bạn được tham gia là cuộc trò chuyện bạn có thể thắng.
Câu hỏi thường gặp
- Đánh giá chargeback của Google Play là gì?
- Đánh giá chargeback của Google Play là quy trình mà Google Play dùng để yêu cầu nhà phát triển cung cấp bằng chứng trước khi quyết định một khoản phí bị tranh chấp. Khi ngân hàng của một khách hàng đảo ngược một khoản phí, Google Play có thể gửi đến máy chủ của bạn một PendingRefundReviewNotification và cho bạn 24 giờ để phản hồi bằng ReviewRefund API, cung cấp một tùy chọn hoàn tiền và bằng chứng về việc khách hàng đã tiêu thụ bao nhiêu. Đây là con đường hoàn tiền Android duy nhất nơi đầu vào của bạn ảnh hưởng đến kết quả.
- Tôi có bao lâu để phản hồi một thông báo chargeback Google Play?
- 24 giờ. Google Play gửi một PendingRefundReviewNotification dưới dạng một Real Time Developer Notification, và bạn phải gọi ReviewRefund API trong vòng 24 giờ kể từ thông báo đó. Đồng hồ bắt đầu khi thông báo được phát hành đến topic Cloud Pub/Sub của bạn, vì vậy consumer của bạn cần lắng nghe theo thời gian thực thay vì thăm dò theo lịch.
- orders.reviewrefund API cho phép tôi gửi gì?
- Bạn gửi pendingRefundToken từ thông báo, một refundPreference là APPROVE, DECLINE, hoặc NEUTRAL, và bằng chứng tiêu thụ. Các trường bằng chứng là consumptionPercentageMilliunits, một số nguyên tính bằng milliunit trong đó 100000 nghĩa là tiêu thụ 100 percent, một mảng consumptionUsageEvents tùy chọn với timestamp, id tài khoản, IP address, mô tả, và location cho mỗi sự kiện, và một boolean sampleContentProvided. Một lệnh gọi thành công trả về một body rỗng với HTTP 200.
- Tôi có thể cập nhật phản hồi ReviewRefund sau khi gửi không?
- Không. Google Play ghi nhận lệnh gọi ReviewRefund đầu tiên của bạn cho một thông báo nhất định và bỏ qua mọi lệnh gọi sau đó, trong khi vẫn trả về trạng thái OK. Không có bản nháp hay bản sửa, vì vậy phản hồi đầu tiên của bạn phải hoàn chỉnh. Hãy tập hợp tùy chọn hoàn tiền và tất cả bằng chứng tiêu thụ trước khi bạn thực hiện lệnh gọi duy nhất đó.
- Một khoản chargeback Google Play thua tốn bao nhiêu sau August 3, 2026?
- Đối với các đơn hàng đặt sau August 3, 2026, nhà phát triển gánh chịu giá mua trừ đi phí dịch vụ của Play, cộng với phí chargeback do tổ chức tài chính tính. Google Play tiếp tục gánh phần phí dịch vụ. Đó là bên trên phần tính toán, các lệnh gọi API, dung lượng lưu trữ, và các khoản chi trả mà bạn đã bỏ ra để giao đơn hàng, không đồng nào trong số đó được khoản hoàn tiền trả lại.
- Những lý do hoàn tiền nào kích hoạt một thông báo đánh giá đang chờ?
- Chỉ CHARGEBACK, đến trong thông báo dưới dạng refundReason code 7. Các khoản hoàn tiền Google Play khác, như cửa sổ tự phục vụ 48 giờ, hoàn tiền qua hỗ trợ, và các giao dịch mua bị hủy, được quyết định mà không có nhà phát triển và không mở một đánh giá đang chờ. Nếu bạn nhận được một PendingRefundReviewNotification, một ngân hàng đã đảo ngược một khoản phí và Google Play đang quyết định có phản đối hay không.
Nguồn và tài liệu đọc thêm
- Android Developers: Help Google dispute chargebacks
- Google Play Developer API: orders.reviewrefund
- Android Developers: Real-time developer notifications reference
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- Google Play Help: Refund policies for apps, games, and in-app purchases
RefundHalt
Chế độ tự động xử lý hoàn tiền cho App Store và Google Play
Đọc tiếp
Đính kèm một appAccountToken vào mọi giao dịch mua trên App Store, nếu không bạn không thể bảo vệ khoản hoàn tiền
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.
Không xác nhận một giao dịch mua trên Google Play trong ba ngày và Google sẽ hoàn tiền, đây là cái giá bạn phải trả
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.