POST /api/v2/server-side-api/purchase/set/transaction/

Создать транзакцию

Создаёт новую транзакцию для конечного пользователя вашего приложения в Adapty и предоставляет уровень доступа. Транзакция, созданная этим методом, отобразится в аналитике и ленте событий и будет отправлена во все интеграции.

Header parameters

adapty-customer-user-idstring

Уникальный ID клиента в вашей системе. Требуется либо adapty-customer-user-id, либо adapty-profile-id.

adapty-profile-idstring

Уникальный ID профиля в вашей системе. Лучший вариант при работе с анонимными профилями. Требуется либо adapty-customer-user-id, либо adapty-profile-id.

Request body

Option 1 — object

Данные транзакции для разовой покупки

purchase_typestringrequired

Тип покупки

One of: "one_time_purchase"

storestringrequired

Стор, в котором была совершена покупка. Распространённые значения включают app_store, play_store, stripe, paddle или любой пользовательский идентификатор стора

environmentstring

Среда, в которой была совершена покупка

One of: "Production", "Sandbox"

store_product_idstringrequired

ID продукта в сторе

store_transaction_idstringrequired

ID транзакции в сторе

store_original_transaction_idstringrequired

ID исходной транзакции в сторе

is_family_sharedboolean

Является ли покупка семейной

priceobjectrequired
countrystringrequired

Код страны

currencystringrequired

Код валюты

valuenumberrequired

Значение цены

purchased_atstringrequired

Когда была совершена покупка

variation_idstring

ID варианта для A/B-тестирования

offerobject
categorystringrequired

Категория офера

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

typestringrequired

Тип офера

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

idstring

ID офера

refunded_atstring

Когда был совершён возврат средств за покупку

cancellation_reasonstring

Причина отмены

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

Данные транзакции для покупки подписки

purchase_typestringrequired

Тип покупки

One of: "subscription"

storestringrequired

Стор, в котором была совершена покупка. Распространённые значения включают app_store, play_store, stripe, paddle или любой пользовательский идентификатор стора

environmentstring

Среда, в которой была совершена покупка

One of: "Production", "Sandbox"

store_product_idstringrequired

ID продукта в сторе

store_transaction_idstringrequired

ID транзакции в сторе

store_original_transaction_idstringrequired

ID исходной транзакции в сторе

is_family_sharedboolean

Является ли покупка семейной

priceobjectrequired
countrystringrequired

Код страны

currencystringrequired

Код валюты

valuenumberrequired

Значение цены

purchased_atstringrequired

Когда была совершена покупка

variation_idstring

ID варианта для A/B-тестирования

offerobject
categorystringrequired

Категория офера

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

typestringrequired

Тип офера

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

idstring

ID офера

refunded_atstring

Когда был совершён возврат средств за покупку

cancellation_reasonstring

Причина отмены

One of: "billing_error", "cancelled_by_developer", "new_subscription_replace", "price_increase", "product_was_not_available", "refund", "unknown", "upgraded", "voluntarily_cancelled", "adapty_revoked"

originally_purchased_atstringrequired

Когда подписка была приобретена впервые

expires_atstringrequired

Когда истекает подписка

renew_statusbooleanrequired

Будет ли подписка продлена

renew_status_changed_atstring

Когда был изменён статус продления

billing_issue_detected_atstring

Когда была обнаружена проблема с оплатой

grace_period_expires_atstring

Когда истекает льготный период

Responses

Транзакция успешно записана

Schema
dataobjectrequired
app_idstringrequired

Внутренний ID вашего приложения

profile_idstringrequired

ID профиля в Adapty

customer_user_idstringrequired

ID вашего пользователя в вашей системе

total_revenue_usdnumberrequired

Число с плавающей точкой, представляющее суммарный доход в USD, полученный в рамках профиля

segment_hashstringrequired

Внутренний параметр

timestampintegerrequired

Время ответа в миллисекундах, используется для разрешения гонки состояний

custom_attributesarray of objectrequired

Для профиля допускается задать не более 30 пользовательских атрибутов

keystringrequired

Ключ должен быть строкой длиной не более 30 символов. Допускаются только буквы, цифры, дефисы, точки и подчёркивания

valuestring | numberrequired

Значение атрибута должно содержать не более 50 символов. В качестве значений допускаются только строки и числа с плавающей точкой

access_levelsarray of objectrequired

Массив объектов уровней доступа. Пустой массив, если у клиента нет уровней доступа

access_level_idstring

Идентификатор уровня доступа

storestring

Стор, в котором был приобретён уровень доступа

store_product_idstring

ID продукта в сторе

store_base_plan_idstring

ID базового плана в сторе

store_transaction_idstring

ID транзакции в сторе

store_original_transaction_idstring

ID исходной транзакции в сторе

offerallOf

Данные офера, если был применён promotional offer или introductory offer

categorystring

Категория офера

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

typestring

Тип офера

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

idstring

ID офера

starts_atstring

Когда начинается уровень доступа

purchased_atstring

Когда был приобретён уровень доступа

originally_purchased_atstring

Когда уровень доступа был приобретён впервые

expires_atstring

Когда истекает уровень доступа

renewal_cancelled_atstring

Когда было отменено продление

billing_issue_detected_atstring

Когда была обнаружена проблема с оплатой

is_in_grace_periodboolean

Находится ли уровень доступа в льготном периоде

cancellation_reasonstring

Причина отмены

subscriptionsarray of objectrequired

Массив объектов подписок. Пустой массив, если у клиента нет подписок

storestring

Стор, в котором была приобретена подписка

store_product_idstring

ID продукта в сторе

store_base_plan_idstring

ID базового плана в сторе

store_transaction_idstring

ID транзакции в сторе

store_original_transaction_idstring

ID исходной транзакции в сторе

offerallOf

Данные офера, если был применён promotional offer или introductory offer

categorystring

Категория офера

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

typestring

Тип офера

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

idstring

ID офера

environmentstring

Среда (Sandbox, Production)

purchased_atstring

Когда была приобретена подписка

originally_purchased_atstring

Когда подписка была приобретена впервые

expires_atstring

Когда истекает подписка

renewal_cancelled_atstring

Когда было отменено продление

billing_issue_detected_atstring

Когда была обнаружена проблема с оплатой

is_in_grace_periodboolean

Находится ли подписка в льготном периоде

cancellation_reasonstring

Причина отмены

non_subscriptionsarray of objectrequired

Массив объектов разовых покупок. Пустой массив, если у клиента нет покупок

purchase_idstring

Уникальный идентификатор покупки

storestring

Стор, в котором была совершена покупка

store_product_idstring

ID продукта в сторе

store_base_plan_idstring

ID базового плана в сторе

store_transaction_idstring

ID транзакции в сторе

store_original_transaction_idstring

ID исходной транзакции в сторе

purchased_atstring

Когда была совершена покупка

environmentstring

Среда (Sandbox, Production)

is_refundboolean

Является ли это возвратом средств

is_consumableboolean

Является ли это расходуемой покупкой

Некорректный запрос

Schema
errorsarray of objectrequired
sourcestring

Источник ошибки

errorsarray of string

Массив сообщений об ошибках

error_codestringrequired

Краткое название ошибки

status_codeintegerrequired

HTTP-код статуса

Не авторизован

Schema
errorsarray of objectrequired
sourcestring

Источник ошибки

errorsarray of string

Массив сообщений об ошибках

error_codestringrequired

Краткое название ошибки

status_codeintegerrequired

HTTP-код статуса

Профиль не найден

Schema
errorsarray of objectrequired
sourcestring

Источник ошибки

errorsarray of string

Массив сообщений об ошибках

error_codestringrequired

Краткое название ошибки

status_codeintegerrequired

HTTP-код статуса

Внутренняя ошибка сервера