/api/v2/server-side-api/purchase/set/transaction/ Установить транзакцию
Создаёт новую транзакцию для конечного пользователя вашего приложения в Adapty и предоставляет уровень доступа. Транзакция, созданная этим методом, отобразится в вашей аналитике и ленте событий, а также будет отправлена во все интеграции.
Обновление существующей подписки: Чтобы обновить billing_issue_detected_at или renew_status_changed_at без генерации нового события subscription_renewed, повторно используйте существующий store_transaction_id (в рамках того же store_original_transaction_id). Передача нового store_transaction_id расценивается как новая транзакция и вызывает событие subscription_renewed.
Header parameters
Уникальный идентификатор пользователя в вашей системе. Требуется указать либо adapty-customer-user-id, либо adapty-profile-id.
Уникальный идентификатор профиля в вашей системе. Наилучший вариант при работе с анонимными профилями. Требуется указать либо adapty-customer-user-id, либо adapty-profile-id.
Request body
Option 1 — object
Данные транзакции для разовой покупки
Тип покупки
One of: "one_time_purchase"
Стор, в котором была совершена покупка. Распространённые значения включают app_store, play_store, stripe, paddle или любой пользовательский идентификатор стора
Среда, в которой была совершена покупка
One of: "Production", "Sandbox"
ID продукта в сторе
ID транзакции в сторе. Максимум 50 символов. Идентификаторы транзакций PayPal и некоторых пользовательских сторов могут превышать это ограничение — обрежьте или хэшируйте значение перед отправкой, иначе запрос завершится ошибкой.
Оригинальный ID транзакции в сторе
Является ли покупка семейной
Код страны в формате ISO 3166-1 alpha-2, например US
Код валюты в формате ISO 4217, например USD
Значение цены
Время совершения покупки
ID варианта для A/B-тестирования
Категория предложения
One of: "introductory", "promotional", "offer_code", "win_back"
Тип предложения
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Идентификатор предложения
Время возврата покупки
Причина отмены
One of: "billing_error", "cancelled_by_developer", "new_subscription_replace", "price_increase", "product_was_not_available", "refund", "unknown", "upgraded", "voluntarily_cancelled", "adapty_revoked"
Option 2 — object
Данные транзакции для покупки подписки
Тип покупки
One of: "subscription"
Стор, в котором была совершена покупка. Распространённые значения включают app_store, play_store, stripe, paddle или любой пользовательский идентификатор стора
Среда, в которой была совершена покупка
One of: "Production", "Sandbox"
ID продукта в сторе
ID транзакции в сторе. Максимум 50 символов. Идентификаторы транзакций PayPal и некоторых пользовательских сторов могут превышать это ограничение — обрежьте или хешируйте значение перед отправкой, иначе запрос завершится ошибкой.
Оригинальный ID транзакции в сторе
Является ли покупка семейной
Код страны в формате ISO 3166-1 alpha-2, например US
Код валюты в формате ISO 4217, например USD
Значение цены
Когда была совершена покупка
ID варианта для A/B-тестирования
Категория предложения
One of: "introductory", "promotional", "offer_code", "win_back"
Тип предложения
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Идентификатор предложения
Когда покупка была возвращена
Причина отмены
One of: "billing_error", "cancelled_by_developer", "new_subscription_replace", "price_increase", "product_was_not_available", "refund", "unknown", "upgraded", "voluntarily_cancelled", "adapty_revoked"
Когда подписка была приобретена впервые
Когда истекает подписка
Будет ли подписка продлена
Когда был изменён статус продления
Когда была обнаружена проблема с оплатой
Когда истекает льготный период
Responses
Транзакция успешно записана
Schema
Внутренний ID вашего приложения
ID профиля Adapty
ID вашего пользователя в вашей системе
Числовое значение с плавающей точкой, представляющее общий доход в USD, полученный по профилю
Внутренний параметр
Время ответа в миллисекундах, необходимо для разрешения состояния гонки
Для профиля допускается задавать не более 30 пользовательских атрибутов
Ключ должен быть строкой не более 30 символов. Допускаются только буквы, цифры, дефисы, точки и символы подчёркивания
Значение атрибута должно содержать не более 50 символов. В качестве значений допускаются только строки и числа с плавающей точкой
Массив объектов уровня доступа. Пустой массив, если у пользователя нет уровней доступа
Идентификатор уровня доступа
Стор, в котором был приобретён уровень доступа
Идентификатор продукта в сторе. Для годового тарифного плана App Store с обязательством идентификатор заканчивается на :monthly.
Идентификатор базового тарифного плана в сторе
Идентификатор транзакции в сторе
Идентификатор оригинальной транзакции в сторе
Данные об офере, если был применён promotional offer или introductory offer
Категория предложения
One of: "introductory", "promotional", "offer_code", "win_back"
Тип предложения
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Идентификатор предложения
Когда начинается уровень доступа
Когда был приобретён уровень доступа
Когда уровень доступа был приобретён впервые
Когда истекает уровень доступа
Когда было отменено продление
Когда была обнаружена проблема с оплатой
Находится ли уровень доступа в льготном периоде
Причина отмены
Массив объектов подписки. Пустой массив, если у пользователя нет подписок
Стор, в котором была оформлена подписка
ID продукта в сторе. Для 12-месячного тарифного плана с обязательством в App Store ID заканчивается на :monthly.
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)
Когда была оформлена подписка
Когда подписка была оформлена впервые
Когда истекает подписка
Когда было отменено продление. Для 12-месячного тарифного плана с обязательством остаётся null после отмены подписчиком, поскольку ежемесячные платежи продолжаются. Используйте commitment.will_renew вместо этого.
Когда была обнаружена проблема с оплатой
Находится ли подписка в льготном периоде
Причина отмены
12-месячное обязательство тарифного плана с обязательством App Store. Не задаётся для других подписок.
Начнётся ли новый 12-месячный период обязательств после окончания текущего. Принимает значение false после отмены подписки подписчиком, пока ежемесячные платежи продолжаются до expires_at.
Номер текущего ежемесячного платежа в рамках периода обязательств, начиная с 1
Количество ежемесячных платежей в рамках периода обязательств
Дата окончания периода обязательств. Собственное поле expires_at подписки соответствует концу текущего оплаченного месяца.
Массив объектов разовых покупок. Пустой массив, если у пользователя нет покупок
Уникальный идентификатор покупки
Стор, в котором была совершена покупка
ID продукта в сторе
ID базового плана в сторе
ID транзакции в сторе
Оригинальный ID транзакции в сторе
Дата и время совершения покупки
Среда (Sandbox, Production)
Является ли покупка возвратом средств
Является ли покупка расходуемой
Некорректный запрос
Schema
Источник ошибки
Массив сообщений об ошибках
Краткое название ошибки
HTTP-код статуса
Не авторизован
Schema
Источник ошибки
Массив сообщений об ошибках
Краткое название ошибки
HTTP-код статуса
Профиль не найден
Schema
Источник ошибки
Массив сообщений об ошибках
Краткое название ошибки
HTTP-код статуса
Внутренняя ошибка сервера