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