Đồng bộ giao dịch từ cửa hàng tùy chỉnh
Nếu bạn đang bán gói đăng ký hoặc in-app purchase qua cửa hàng tùy chỉnh như Amazon Appstore, Microsoft Store, hoặc nền tảng thanh toán của riêng bạn, bạn có thể đồng bộ các giao dịch đó với Adapty để tự động quản lý mức độ truy cập và theo dõi doanh thu trong phần analytics.
Hướng dẫn này sẽ chỉ cho bạn cách kết nối giao dịch từ cửa hàng tùy chỉnh với Adapty thông qua SDK và API.
Ví dụ thực tế
Giả sử bạn đang phân phối ứng dụng trên Amazon Appstore, hoặc bạn đã xây dựng web store riêng cho các giao dịch trực tiếp. Khi người dùng hoàn tất một giao dịch mua trên các nền tảng này, bạn muốn:
- Tự động cấp quyền truy cập vào các tính năng premium trong ứng dụng di động
- Theo dõi giao dịch trong Adapty analytics cùng với doanh thu từ App Store và Google Play
- Kích hoạt các tích hợp và webhook giống như bất kỳ gói đăng ký nào khác
Đây chính là điều mà tích hợp này giúp bạn thực hiện.
Bước 1. Xác định người dùng
Adapty sử dụng customer_user_id để xác định người dùng trên các nền tảng.
Bạn cần tạo ID này một lần và truyền nó cho cả SDK di động và web backend. Khi người dùng đăng ký lần đầu từ ứng dụng, bạn có thể truyền customer user ID trong quá trình kích hoạt SDK. Hoặc nếu bạn đã kích hoạt Adapty SDK trước bước đăng ký, hãy dùng phương thức identify để tạo hồ sơ người dùng mới và gán customer user ID cho nó.
Nếu bạn xác định người dùng mới sau khi kích hoạt SDK, SDK sẽ tạo một hồ sơ người dùng ẩn danh trước (nó không thể hoạt động nếu không có hồ sơ). Khi bạn gọi identify với customer user ID, một hồ sơ người dùng mới sẽ được tạo.
Đây là hành vi bình thường và không ảnh hưởng đến độ chính xác của analytics. Đọc thêm tại đây.
Bước 2. Tạo sản phẩm trong cửa hàng tùy chỉnh trên Adapty Dashboard
Để Adapty khớp các giao dịch từ cửa hàng tùy chỉnh với sản phẩm của bạn, bạn cần thêm sản phẩm và thiết lập thông tin cửa hàng tùy chỉnh cho chúng.
- Vào Products từ menu bên trái trong Adapty Dashboard và nhấp Create product. Hoặc nhấp vào sản phẩm đã có để chỉnh sửa.
- Đảm bảo bạn đã chọn mức độ truy cập mà bạn muốn cấp cho người dùng mua sản phẩm.
- Nhấp + và chọn Add a custom store.
- Nhấp Create new custom store.
- Đặt tên và ID cho cửa hàng của bạn (ví dụ: “Amazon Appstore”, “Microsoft Store”, hoặc “Web Store”). Nhấp Create custom store.
- Sau đó, nhấp Save changes để liên kết sản phẩm với cửa hàng tùy chỉnh.
- Nhập Store product ID cho sản phẩm để ánh xạ nó với một sản phẩm trong cửa hàng đó. Sau đó, nhấp Save.
Bước 3. Đồng bộ giao dịch qua API
Khi một giao dịch mua hoàn tất trong cửa hàng tùy chỉnh của bạn, bạn cần đồng bộ nó với Adapty thông qua server-side API.
Lệnh gọi API này sẽ:
- Ghi lại giao dịch trong Adapty
- Cấp mức độ truy cập tương ứng cho người dùng
- Kích hoạt các tích hợp và webhook bạn đã cấu hình
- Hiển thị giao dịch trong analytics của bạn
Xem tài liệu tham khảo đầy đủ về phương thức tại đây.
curl --request POST \
--url https://api.adapty.io/api/v2/server-side-api/purchase/set/transaction/ \
--header 'Accept: application/json' \
--header 'Authorization: Api-Key YOUR_SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--header 'adapty-customer-user-id: YOUR_CUSTOMER_USER_ID' \
--data '{
"purchase_type": "PRODUCT_PERIOD",
"store": "YOUR_CUSTOM_STORE",
"environment": "production",
"store_product_id": "YOUR_STORE_PRODUCT_ID",
"store_transaction_id": "STORE_TRANSACTION_ID",
"store_original_transaction_id": "ORIGINAL_TRANSACTION_ID",
"price": {
"country": "COUNTRY_CODE",
"currency": "CURRENCY_CODE",
"value": "YOUR_PRICE"
},
"purchased_at": "2024-01-15T10:30:00Z"
}'
Các tham số quan trọng:
- store: ID cửa hàng tùy chỉnh của bạn từ Bước 2
- store_product_id: Store product ID từ Bước 2
- store_transaction_id: Mã định danh duy nhất cho giao dịch này
- purchased_at: Timestamp theo định dạng ISO 8601 khi giao dịch mua xảy ra
- price: Số tiền người dùng đã thanh toán
Bước 4. Xác minh quyền truy cập trong ứng dụng
Sau khi giao dịch được đồng bộ, hồ sơ người dùng sẽ tự động được cập nhật với mức độ truy cập mới.
Khi người dùng mở ứng dụng di động, hãy lấy hồ sơ của họ để kiểm tra trạng thái gói đăng ký và mở khóa các tính năng premium.