Продажа продлений для динамических продуктов
Обзор возможностей
Вы можете использовать подписки на автоматическое продление при продаже динамических продуктов.
При этом:
- Сценарий работы подписок в целом не отличается от обычного
- Настройка продуктов для работы подписки имеет особенности
Как это работает
- В базовом продукте должны быть сделаны предварительные настройки
- В запросе к API вы должны передать дополнительные параметры (products.subscription), которые определяют, что это продукт с автопродлением, и задают настройки подписки. Если параметр не передан, то автопродление не будет доступно для продукта в корзине, даже если оно настроено в базовом продукте
- Далее, как и при стандартной схеме работы, в ответ возвращается ссылка на покупку, покупатель переходит по ней в корзину и может оформить заказ
- В корзине для продукта выводится опция согласия с автопродлением. С помощью нее покупатель может подтвердить согласие на подписку
- Если покупатель соглашается и выбирает соответствующий способ оплаты заказа с поддержкой автопродления лицензии, то после оплаты заказа создается подписка:
- Заказ, который инициирует создание подписки является родительским
- Заказы, созданные автоматически, для продления подписки - являются дочерними
- Дальнейшая работа подписки осуществляется по обычным образом, за исключением некоторых особенностей.
В том числе по стандартной схеме:- Незадолго до завершения срока действия лицензии происходит автоматическое создание дочернего заказа для продления
- Созданный дочерний заказ оплачивается автоматически (деньги списываются со счета того же способа оплаты, который использовался для родительского заказа)
Особенности подписок для динамических продуктов
Срок действия продукта
Срок действия продукта по-разному определяется для родительского и дочернего заказа:
- В родительском заказе срок действия передается в запросе к API (products.subscription.period).
Это позволяет задавать разный срок действия для одного и тоже же продукта в каждом запросе - В дочернем заказе срок действия продления определяется из настроек базового продукта и является одинаковым для всех динамических продуктов, созданных на его основе
Вы можете изменить дату окончания срока действия для определенной подписки покупателя с помощью Subscriptions API.
Стоимость продления
Цена продления за 1 шт. продукта передается в запросе к API (products.subscription.price) и далее используется на протяжении всей жизни подписки. То есть в каждом дочернем заказе будет одинаковая стоимость продления.
При расчете стоимости продления:
- Цена будет умножена на кол-во единиц продукта, такое же как у родительского продукта
- К цене может быть добавлена сумма VAT, по тем же правилам, что и к цене в корзине
- Если в запросе была передана скидка для родительского продукта, то она не применится для продления
Вы можете изменить цену продления для определенной подписки покупателя с помощью Subscriptions API.
Например, если вы передали в запросе:
- Цену продукта (products.price) = 1200
- Количество продукта (products.quantity) = 2
- Размер скидки (products.discount_percent) = 10
- Цену продления (products.subscription.price) = 900
То, конечная стоимость продукта в корзине составит: 1200 х 2 х 0.9 = 2 160.
Стоимость продления будет рассчитана как: [цена продления] х [количество продукта] = 900 х 2 = 1 800.
Название продления
Название продукта продления передается в запросе к API (products.subscription.name) и далее используется на протяжении всей жизни подписки. То есть в каждом дочернем заказе будет одинаковое название продукта продления.
Вы можете изменить название продления для определенной подписки покупателя с помощью Subscriptions API.
Если вы не передадите в запросе данные о продлении (название, цена), то они могут быть взяты из настроек базового продукта, как показано в примере ниже.
Как убрать автопродление у продукта
Если вы хотите, чтобы у динамического продукта в корзине не было доступно автопродление, то не передавайте в запросе на генерацию ссылки на покупку параметр products.subscription.
Тестирование подписок
Если вы хотите протестировать продление подписки (создание дочернего заказа):
- Вы можете провести тестирование на реальном продукте:
- Оформите и оплатите заказ с подпиской на динамический продукт также, как это делает покупатель
- Обратитесь в службу поддержки, чтобы инициировать создание дочернего заказа, не дожидаясь реального окончания срока действия продукта. При обработке произойдет перерасчет срока действия родительского продукта и дочерний заказ будет создан сразу
- Также можно провести самостоятельное тестирование, например, указав для родительского продукта минимальный срок действия продукта (по умолчанию 6 дней). В этом случае дочерний заказ будет автоматически создан на следующий день после оплаты родительского заказа. Если установить срок меньше, то дочерний заказ не будет создан (не успеет создаться)
Обратите внимание:
- Создание подписки происходит только по факту согласия покупателя на подписку при оформлении родительского заказа и после оплаты родительского заказа
- Если вы проводите операции в тестовой среде, то вы можете оплатить заказ тестовыми платежными средствами
- Если вы проводите операции в боевой среде, то вы можете оплатить заказ реальными платежными средствами. После завершения тестирования обратитесь в службу поддержи, чтобы оформить возврат на тестовый заказ