Thiết lập Google Play
Kết nối Refund Sensor với Google Play Console bằng thông báo thời gian thực. Tự động hóa việc xem xét bồi hoàn và phản hồi trong vòng 24 giờ để bảo vệ doanh thu.
Trước khi bắt đầu
Refund Sensor kết nối với Google Play bằng một tài khoản dịch vụ mà bạn tạo trong dự án Google Cloud của riêng mình. Nó không bao giờ hết hạn và không cần cấp lại quyền. Bạn sẽ cần:
- Một dự án Google Cloud trên tài khoản sở hữu Play Console của bạn (loại miễn phí cũng được).
- Một tài khoản dịch vụ với một khóa JSON mà bạn có thể tải xuống.
- Quyền truy cập Play Console cùng với Pub/Sub Admin được cấp cho tài khoản đó.
- Các tên gói hoặc URL Play Store bạn muốn bảo vệ.
Tạo một tài khoản dịch vụ và khóa
- Mở Google Cloud Console bằng tài khoản sở hữu Play Console của bạn, rồi chọn hoặc tạo một dự án. Trong menu bên trái, mở IAM & Admin và nhấp Service accounts.
- Nhấp + Create service account, đặt cho nó một tên như RefundSensor Google Play API, rồi nhấp Create and continue và Done. Bạn có thể bỏ qua các vai trò tùy chọn ở đây.
- Sao chép email tài khoản dịch vụ (kết thúc bằng
.iam.gserviceaccount.com). Bạn sẽ cần nó ở các bước tiếp theo. - Mở tài khoản dịch vụ, chuyển sang tab Keys, nhấp Add key → Create new key, chọn JSON, rồi nhấp Create. Google tải xuống một tệp
.json. Hãy giữ an toàn; Google sẽ không cho bạn tải lại.
Bật các API cần thiết
Dự án của bạn cần bật hai API của Google (một bước làm một lần cho mỗi dự án). Trong Google Cloud Console, với dự án của bạn được chọn, tìm và bật từng cái:
- Google Play Android Developer API, cho phép tài khoản dịch vụ đọc dữ liệu hoàn tiền và đơn hàng của bạn.
- Cloud Pub/Sub API, hỗ trợ thông báo hoàn tiền thời gian thực. Hãy chắc chắn đó là Cloud Pub/Sub, không phải Pub/Sub Lite, một sản phẩm khác.
Thêm thông tin xác thực của bạn
Trong Refund Sensor, mở Add app, chọn Google Play, và tải lên tệp khóa .json. Chúng tôi xác minh nó với Google và lưu trữ có mã hóa khi lưu bằng AES-256-GCM.
Cấp quyền Play Console
Mời tài khoản dịch vụ vào Play Console và cấp cho nó quyền truy cập tài chính ở hai nơi, vì dữ liệu hoàn tiền (giao dịch bị hủy) được đọc ở cấp tài khoản:
- Trong Google Play Console, mở Users and permissions → Invite new users và dán email tài khoản dịch vụ. Một tài khoản dịch vụ hoạt động ngay khi bạn lưu; nó không tự chấp nhận lời mời.
- Dưới App permissions, thêm từng ứng dụng bạn muốn bảo vệ và bật View financial data cùng Manage orders and subscriptions.
- Chuyển sang tab Account permissions (dễ bỏ sót) và, dưới Financial data, bật View financial data, orders and cancellation survey responses cùng Manage orders and subscriptions, rồi lưu.
Cấp Pub/Sub Admin
Thông báo thời gian thực đến Refund Sensor qua một chủ đề Pub/Sub mà chúng tôi tạo và nối cho bạn, nên không có gì để dán vào Play Console. Nó chỉ cần quyền quản lý Pub/Sub. Trong IAM & Admin → IAM, nhấp Grant access, dán email tài khoản dịch vụ của bạn làm principal, chọn vai trò Pub/Sub Admin (roles/pubsub.admin), rồi lưu. Hãy chọn Pub/Sub Admin, không phải Pub/Sub Lite Admin; vai trò Lite không hoạt động và là nguyên nhân phổ biến nhất khiến thiết lập tự động thất bại.
Thêm ứng dụng của bạn
Ở bước Add apps, dán một URL Play Store hoặc tên gói mỗi dòng (tên gói là giá trị sau ?id= trong một liên kết Play Store, ví dụ com.yourcompany.app). Refund Sensor xác thực từng cái so với quyền truy cập Play Console của tài khoản đã kết nối trước khi nhập, và đánh dấu những cái nó không thấy được.
Thông báo thời gian thực
Với các API đã bật và Pub/Sub Admin đã cấp, nhập một ứng dụng sẽ tự động tạo chủ đề và đăng ký push và ghi nó làm điểm cuối RTDN của ứng dụng. Sau đó ứng dụng hiển thị Awaiting first refund event cho đến khi Google gửi sự kiện thật đầu tiên (phía Google không có nút thử nghiệm). Nếu thiết lập tự động thất bại, thẻ ứng dụng hiển thị Real-time notifications not set up kèm một liên kết quay lại hướng dẫn này.
Refund Sensor trả lời điều gì trên Google Play
Không phải mọi khoản hoàn tiền Google Play đều có thể tranh chấp. Một khoản hoàn tiền người dùng thông thường do Google tự quyết định, nên những cái đó được ghi lại để bạn thấy nhưng không tranh chấp.
Khoản hoàn tiền duy nhất bạn thật sự có thể phản hồi là một khoản bồi hoàn đang xem xét (pendingRefundReviewNotification của Google). Nó cho bạn khoảng 24 giờ và tôn trọng phản hồi đầu tiên. Refund Sensor tự động trả lời bằng một đề xuất từ chối, thoải mái trong khung thời gian.
Như một biện pháp phòng ngừa, Refund Sensor cũng đối chiếu với Voided Purchases API của Google, nên mọi khoản hoàn tiền và giao dịch bị hủy đều được ghi trên bảng điều khiển của bạn ngay cả khi không có gì để tranh chấp.

