POST /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 trong 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 đó không có hồ sơ nào với customer_user_id này — hồ sơ sẽ được tạo mới.

Request body

customer_user_idstringrequired

ID người dùng của bạn trong hệ thống của bạn

paddle_tokenstringrequired

Token của đối tượng Paddle đại diện cho một giao dịch mua duy nhất. Có thể là ID giao dịch (txn_...) hoặc ID gói đăng ký (sub_...)

Responses

Giao dịch mua được xác thực thành công

Schema
dataobjectrequired
app_idstringrequired

ID nội bộ của ứng dụng của bạn

profile_idstringrequired

ID hồ sơ người dùng Adapty

customer_user_idstringrequired

ID người dùng của bạn trong hệ thống của bạn

total_revenue_usdnumberrequired

Giá trị float biểu thị tổng doanh thu tính bằng USD kiếm được trong hồ sơ người dùng

segment_hashstringrequired

Tham số nội bộ

timestampintegerrequired

Thời gian phản hồi tính bằng mili giây, cần để giải quyết điều kiện tranh chấp

custom_attributesarray of objectrequired

Tối đa 30 thuộc tính tùy chỉnh được phép đặt cho hồ sơ người dùng

keystringrequired

Khóa phải là chuỗi không quá 30 ký tự. Chỉ cho phép chữ cái, số, dấu gạch ngang, dấu chấm và dấu gạch dưới

valuestring | numberrequired

Giá trị thuộc tính không được quá 50 ký tự. Chỉ cho phép chuỗi và số thực làm giá trị

access_levelsarray of objectrequired

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

access_level_idstring

Định danh mức độ truy cập

storestring

Cửa hàng nơi mức độ truy cập được mua

store_product_idstring

ID sản phẩm trong cửa hàng

store_base_plan_idstring

ID gói cơ bản trong cửa hàng

store_transaction_idstring

ID giao dịch trong cửa hàng

store_original_transaction_idstring

ID giao dịch gốc trong cửa hàng

offerallOf

Thông tin ưu đãi, nếu có áp dụng ưu đãi hoặc ưu đãi giới thiệu

categorystring

Danh mục ưu đãi

One of: "introductory", "promotional", "offer_code", "win_back"

typestring

Loại ưu đãi

One of: "free_trial", "pay_as_you_go", "pay_up_front"

idstring

ID ưu đãi

starts_atstring

Thời điểm mức độ truy cập bắt đầu

purchased_atstring

Thời điểm mức độ truy cập được mua

originally_purchased_atstring

Thời điểm mức độ truy cập được mua lần đầu

expires_atstring

Thời điểm mức độ truy cập hết hạn

renewal_cancelled_atstring

Thời điểm gia hạn bị hủy

billing_issue_detected_atstring

Thời điểm phát hiện vấn đề thanh toán

is_in_grace_periodboolean

Liệu mức độ truy cập có đang trong thời gian ân hạn hay không

cancellation_reasonstring

Lý do hủy

subscriptionsarray of objectrequired

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

storestring

Cửa hàng nơi gói đăng ký được mua

store_product_idstring

ID sản phẩm trong cửa hàng

store_base_plan_idstring

ID gói cơ bản trong cửa hàng

store_transaction_idstring

ID giao dịch trong cửa hàng

store_original_transaction_idstring

ID giao dịch gốc trong cửa hàng

offerallOf

Thông tin ưu đãi, nếu có áp dụng ưu đãi hoặc ưu đãi giới thiệu

categorystring

Danh mục ưu đãi

One of: "introductory", "promotional", "offer_code", "win_back"

typestring

Loại ưu đãi

One of: "free_trial", "pay_as_you_go", "pay_up_front"

idstring

ID ưu đãi

environmentstring

Môi trường (Sandbox, Production)

purchased_atstring

Thời điểm gói đăng ký được mua

originally_purchased_atstring

Thời điểm gói đăng ký được mua lần đầu

expires_atstring

Thời điểm gói đăng ký hết hạn

renewal_cancelled_atstring

Thời điểm gia hạn bị hủy

billing_issue_detected_atstring

Thời điểm phát hiện vấn đề thanh toán

is_in_grace_periodboolean

Liệu gói đăng ký có đang trong thời gian ân hạn hay không

cancellation_reasonstring

Lý do hủy

non_subscriptionsarray of objectrequired

Mảng các đối tượng sản phẩm không phải gói đăng ký. Mảng rỗng nếu khách hàng không có giao dịch mua nào

purchase_idstring

Định danh giao dịch mua duy nhất

storestring

Cửa hàng nơi thực hiện giao dịch mua

store_product_idstring

ID sản phẩm trong cửa hàng

store_base_plan_idstring

ID gói cơ bản trong cửa hàng

store_transaction_idstring

ID giao dịch trong cửa hàng

store_original_transaction_idstring

ID giao dịch gốc trong cửa hàng

purchased_atstring

Thời điểm thực hiện giao dịch mua

environmentstring

Môi trường (Sandbox, Production)

is_refundboolean

Liệu đây có phải là hoàn tiền hay không

is_consumableboolean

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": "[email protected]",
    "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
errorsarray of objectrequired
sourcestring

Nguồn gốc lỗi

errorsarray of string

Mảng thông báo lỗi

error_codestringrequired

Tên lỗi rút gọn

status_codeintegerrequired

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
errorsarray of objectrequired
sourcestring

Nguồn gốc lỗi

errorsarray of string

Mảng thông báo lỗi

error_codestringrequired

Tên lỗi rút gọn

status_codeintegerrequired

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
errorsarray of objectrequired
sourcestring

Nguồn gốc lỗi

errorsarray of string

Mảng thông báo lỗi

error_codestringrequired

Tên lỗi rút gọn

status_codeintegerrequired

Mã trạng thái HTTP