/api/v2/server-side-api/purchase/paddle/token/validate/ Валидировать покупку в Paddle
Валидирует покупку по предоставленному токену Paddle, используя учётные данные Paddle из настроек приложения в дашборде Adapty. Если покупка действительна, история транзакций импортируется из Paddle в профиль Adapty с указанным customer_user_id. Если профиля с таким customer_user_id ранее не существовало — он будет создан.
Request body
ID вашего пользователя в вашей системе
Токен объекта Paddle, представляющего уникальную покупку. Может быть идентификатором транзакции (txn_...) или идентификатором подписки (sub_...)
Responses
Покупка успешно валидирована
Schema
Внутренний ID вашего приложения
ID профиля в Adapty
ID вашего пользователя в вашей системе
Число с плавающей точкой, представляющее суммарный доход в USD, полученный в рамках профиля
Внутренний параметр
Время ответа в миллисекундах, используется для разрешения гонки состояний
Для профиля допускается задать не более 30 пользовательских атрибутов
Ключ должен быть строкой длиной не более 30 символов. Допускаются только буквы, цифры, дефисы, точки и подчёркивания
Значение атрибута должно содержать не более 50 символов. В качестве значений допускаются только строки и числа с плавающей точкой
Массив объектов уровней доступа. Пустой массив, если у клиента нет уровней доступа
Идентификатор уровня доступа
Стор, в котором был приобретён уровень доступа
ID продукта в сторе
ID базового плана в сторе
ID транзакции в сторе
ID исходной транзакции в сторе
Данные офера, если был применён promotional offer или introductory offer
Категория офера
One of: "introductory", "promotional", "offer_code", "win_back"
Тип офера
One of: "free_trial", "pay_as_you_go", "pay_up_front"
ID офера
Когда начинается уровень доступа
Когда был приобретён уровень доступа
Когда уровень доступа был приобретён впервые
Когда истекает уровень доступа
Когда было отменено продление
Когда была обнаружена проблема с оплатой
Находится ли уровень доступа в льготном периоде
Причина отмены
Массив объектов подписок. Пустой массив, если у клиента нет подписок
Стор, в котором была приобретена подписка
ID продукта в сторе
ID базового плана в сторе
ID транзакции в сторе
ID исходной транзакции в сторе
Данные офера, если был применён promotional offer или introductory offer
Категория офера
One of: "introductory", "promotional", "offer_code", "win_back"
Тип офера
One of: "free_trial", "pay_as_you_go", "pay_up_front"
ID офера
Среда (Sandbox, Production)
Когда была приобретена подписка
Когда подписка была приобретена впервые
Когда истекает подписка
Когда было отменено продление
Когда была обнаружена проблема с оплатой
Находится ли подписка в льготном периоде
Причина отмены
Массив объектов разовых покупок. Пустой массив, если у клиента нет покупок
Уникальный идентификатор покупки
Стор, в котором была совершена покупка
ID продукта в сторе
ID базового плана в сторе
ID транзакции в сторе
ID исходной транзакции в сторе
Когда была совершена покупка
Среда (Sandbox, Production)
Является ли это возвратом средств
Является ли это расходуемой покупкой
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": []
}
} Некорректный запрос
Schema
Источник ошибки
Массив сообщений об ошибках
Краткое название ошибки
HTTP-код статуса
Example
{
"errors": [
"No products found"
],
"error_code": "no_products_found",
"status_code": 400
} Не авторизован
Schema
Источник ошибки
Массив сообщений об ошибках
Краткое название ошибки
HTTP-код статуса
Example
{
"errors": [
"Invalid API key"
],
"error_code": "unauthorized",
"status_code": 401
} Внутренняя ошибка сервера
Schema
Источник ошибки
Массив сообщений об ошибках
Краткое название ошибки
HTTP-код статуса