Khắc phục sự cố mua hàng trong Kotlin Multiplatform SDK

Hướng dẫn này giúp bạn giải quyết các vấn đề thường gặp khi triển khai mua hàng thủ công trong Kotlin Multiplatform SDK.

makePurchase được gọi thành công nhưng hồ sơ người dùng không được cập nhật

Vấn đề: Phương thức makePurchase hoàn thành thành công, nhưng hồ sơ người dùng và trạng thái gói đăng ký không được cập nhật trong Adapty.

Nguyên nhân: Điều này thường cho thấy quá trình thiết lập Google Play Store chưa hoàn chỉnh hoặc có vấn đề về cấu hình.

Giải pháp: Đảm bảo bạn đã hoàn thành tất cả các bước thiết lập Google Play.

makePurchase được gọi hai lần

Vấn đề: Phương thức makePurchase đang được gọi nhiều lần cho cùng một giao dịch mua.

Nguyên nhân: Điều này thường xảy ra khi flow mua hàng bị kích hoạt nhiều lần do các vấn đề quản lý trạng thái UI hoặc người dùng thao tác quá nhanh.

Giải pháp: Đảm bảo bạn đã hoàn thành tất cả các bước thiết lập Google Play.

AdaptyError.cantMakePayments trong chế độ observer

Vấn đề: Bạn đang nhận được lỗi AdaptyError.cantMakePayments khi sử dụng makePurchase trong chế độ observer.

Nguyên nhân: Trong chế độ observer, bạn cần tự xử lý giao dịch mua hàng phía mình, không sử dụng phương thức makePurchase của Adapty.

Giải pháp: Nếu bạn dùng makePurchase để thực hiện giao dịch, hãy tắt chế độ observer. Bạn cần chọn một trong hai: dùng makePurchase hoặc tự xử lý giao dịch mua hàng trong chế độ observer. Xem Triển khai chế độ Observer để biết thêm chi tiết.

Lỗi Adapty: (code: 103, message: Play Market request failed on purchases updated: responseCode=3, debugMessage=Billing Unavailable, detail: null)

Vấn đề: Bạn đang nhận được lỗi billing không khả dụng từ Google Play Store.

Nguyên nhân: Lỗi này không liên quan đến Adapty. Đây là lỗi của Google Play Billing Library cho biết tính năng thanh toán không khả dụng trên thiết bị.

Giải pháp: Lỗi này không liên quan đến Adapty. Bạn có thể tìm hiểu thêm trong tài liệu của Play Store: Handle BillingResult response codes | Play Billing | Android Developers.

Không tìm thấy makePurchasesCompletionHandlers

Vấn đề: Bạn đang gặp vấn đề với makePurchasesCompletionHandlers không tìm thấy.

Nguyên nhân: Vấn đề này thường liên quan đến các sự cố khi kiểm thử trong môi trường sandbox.

Giải pháp: Tạo một người dùng sandbox mới và thử lại. Cách này thường giải quyết được các vấn đề về purchase completion handler liên quan đến sandbox.