/api/v2/server-side-api/purchase/paddle/token/validate/ Xác thực giao dịch mua Paddle
Xác thực giao dịch mua bằng token Paddle được cung cấp, sử dụng thông tin xác thực Paddle trong Cài đặt ứng dụng của bạn trên Adapty Dashboard. Nếu giao dịch mua hợp lệ, lịch sử giao dịch sẽ được nhập từ Paddle vào hồ sơ người dùng trong Adapty với customer_user_id được chỉ định. Nếu trước đó chưa có hồ sơ người dùng nào với customer_user_id này — hồ sơ người dùng đó sẽ được tạo mới.
Request body
ID của người dùng trong hệ thống của bạn
Token của một đối tượng Paddle đại diện cho một giao dịch mua hàng duy nhất. Có thể là transaction id (txn_...) hoặc subscription id (sub_...)
Responses
Giao dịch mua đã được xác thực thành công
Schema
ID nội bộ của ứng dụng của bạn
ID hồ sơ người dùng Adapty
ID của người dùng trong hệ thống của bạn
Giá trị số thực đại diện cho tổng doanh thu tính bằng USD thu được trong hồ sơ người dùng
Tham số nội bộ
Thời gian phản hồi tính bằng mili giây, dùng để giải quyết race condition
Tối đa 30 thuộc tính tùy chỉnh được phép thiết lập cho hồ sơ người dùng
Khóa phải là một chuỗi không quá 30 ký tự. Chỉ cho phép các chữ cái, số, dấu gạch ngang, dấu chấm và dấu gạch dưới
Giá trị thuộc tính không được vượt quá 50 ký tự. Chỉ cho phép chuỗi và số thực (float) làm giá trị
Mảng các đối tượng mức độ truy cập. Mảng rỗng nếu khách hàng không có mức độ truy cập nào
Mã định danh mức độ truy cập
Cửa hàng nơi mức độ truy cập được mua
ID sản phẩm trong cửa hàng
ID gói cơ bản trong cửa hàng
ID giao dịch trong cửa hàng
ID giao dịch gốc trong cửa hàng
Chi tiết ưu đãi, nếu có ưu đãi hoặc ưu đãi giới thiệu được áp dụng
Danh mục ưu đãi
One of: "introductory", "promotional", "offer_code", "win_back"
Loại ưu đãi
One of: "free_trial", "pay_as_you_go", "pay_up_front"
ID ưu đãi
Thời điểm mức độ truy cập bắt đầu
Thời điểm mức độ truy cập được mua
Thời điểm mức độ truy cập được mua lần đầu
Thời điểm mức độ truy cập hết hạn
Thời điểm gia hạn bị hủy
Thời điểm phát hiện sự cố thanh toán
Mức độ truy cập có đang trong thời gian ân hạn hay không
Lý do hủy
Mảng các đối tượng gói đăng ký. Mảng rỗng nếu khách hàng không có gói đăng ký nào
Cửa hàng nơi gói đăng ký được mua
ID sản phẩm trong cửa hàng
ID gói cơ bản trong cửa hàng
ID giao dịch trong cửa hàng
ID giao dịch gốc trong cửa hàng
Chi tiết ưu đãi, nếu có ưu đãi hoặc ưu đãi giới thiệu được áp dụng
Danh mục ưu đãi
One of: "introductory", "promotional", "offer_code", "win_back"
Loại ưu đãi
One of: "free_trial", "pay_as_you_go", "pay_up_front"
ID ưu đãi
Môi trường (Sandbox, Production)
Thời điểm gói đăng ký được mua
Thời điểm gói đăng ký được mua lần đầu
Thời điểm gói đăng ký hết hạn
Thời điểm hủy gia hạn
Thời điểm phát hiện sự cố thanh toán
Gói đăng ký có đang trong thời gian ân hạn hay không
Lý do hủy
Mảng các đối tượng sản phẩm mua một lần. Mảng rỗng nếu khách hàng chưa thực hiện giao dịch mua nào
Mã định danh mua hàng duy nhất
Cửa hàng nơi thực hiện giao dịch mua
ID sản phẩm trong cửa hàng
ID gói cơ bản trong cửa hàng
ID giao dịch trong cửa hàng
ID giao dịch gốc trong cửa hàng
Thời điểm thực hiện giao dịch mua
Môi trường (Sandbox, Production)
Liệu đây có phải là giao dịch hoàn tiền hay không
Liệu đây có phải là giao dịch mua consumable hay không
Example
{
"data": {
"app_id": "14c3d623-2f3a-455a-aa86-ef83dff6913b",
"profile_id": "3286abd3-48b0-4e9c-a5f6-ac0a006804a6",
"customer_user_id": "Jane.doe@example.com",
"total_revenue_usd": 0,
"segment_hash": "8f45947bad31ab0c",
"timestamp": 1736436751469,
"custom_attributes": [
{
"key": "favourite_sport",
"value": "yoga"
}
],
"access_levels": [],
"subscriptions": [
{
"purchase_id": "5a7ab471-2299-45f7-ad69-1d395c1256e3",
"store": "app_store",
"store_product_id": "1year.premium",
"store_base_plan_id": null,
"store_transaction_id": "30002109551456",
"store_original_transaction_id": "30002109551456",
"purchased_at": "2022-10-12T09:42:50+00:00",
"environment": "Production",
"is_refund": false,
"is_consumable": false
}
],
"non_subscriptions": []
}
} Yêu cầu không hợp lệ
Schema
Nguồn gốc của lỗi
Mảng các thông báo lỗi
Tên lỗi rút gọn
Mã trạng thái HTTP
Example
{
"errors": [
"No products found"
],
"error_code": "no_products_found",
"status_code": 400
} Không được phép
Schema
Nguồn gốc của lỗi
Mảng các thông báo lỗi
Tên lỗi rút gọn
Mã trạng thái HTTP
Example
{
"errors": [
"Invalid API key"
],
"error_code": "unauthorized",
"status_code": 401
} Lỗi máy chủ nội bộ
Schema
Nguồn gốc của lỗi
Mảng các thông báo lỗi
Tên lỗi rút gọn
Mã trạng thái HTTP