Xử lý sự cố mua hàng trong Flutter 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 Flutter 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 tất 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 được kích hoạt nhiều lần do vấn đề quản lý trạng thái giao diện 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 ở chế độ observer

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

Nguyên nhân: Ở chế độ observer, bạn nên tự xử lý giao dịch mua ở 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 cho giao dịch mua, 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 ở phía mình 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 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 từ 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 Play Store: Handle BillingResult response codes | Play Billing | Android Developers.

Không tìm thấy makePurchasesCompletionHandlers

Vấn đề: Bạn gặp sự cố với makePurchasesCompletionHandlers không được tìm thấy.

Nguyên nhân: Vấn đề này thường liên quan đến 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ới purchase completion handler trong sandbox.

Các vấn đề khác

Vấn đề: Bạn đang gặp các sự cố liên quan đến mua hàng khác chưa được đề cập ở trên.

Giải pháp: Migrate SDK lên phiên bản mới nhất bằng cách sử dụng hướng dẫn migration nếu cần. Nhiều vấn đề đã được giải quyết trong các phiên bản SDK mới hơn.