Продажа продлений для динамических продуктов

Вы можете использовать подписки на автоматическое продление при продаже динамических продуктов.

При этом:

  • Сценарий работы подписок в целом не отличается от обычного
  • Настройка продуктов для работы подписки имеет особенности
  • В базовом продукте должны быть сделаны предварительные настройки
  • В запросе к API вы должны передать дополнительные параметры (products.subscription), которые определяют, что это продукт с автопродлением, и задают настройки подписки. Если параметр не передан, то автопродление не будет доступно для продукта в корзине, даже если оно настроено в базовом продукте
  • Далее, как и при стандартной схеме работы, в ответ возвращается ссылка на покупку, покупатель переходит по ней в корзину и может оформить заказ
  • В корзине для продукта выводится опция согласия с автопродлением. С помощью нее покупатель может подтвердить согласие на подписку
  • Если покупатель соглашается и выбирает соответствующий способ оплаты заказа с поддержкой автопродления лицензии, то после оплаты заказа создается подписка:
    • Заказ, который инициирует создание подписки является родительским
    • Заказы, созданные автоматически, для продления подписки - являются дочерними
  • Дальнейшая работа подписки осуществляется по обычным образом, за исключением некоторых особенностей.
    В том числе по стандартной схеме:
    • Незадолго до завершения срока действия лицензии происходит автоматическое создание дочернего заказа для продления
    • Созданный дочерний заказ оплачивается автоматически (деньги списываются со счета того же способа оплаты, который использовался для родительского заказа)

Срок действия продукта

Срок действия продукта по-разному определяется для родительского и дочернего заказа:

  • В родительском заказе срок действия передается в запросе к API (products.subscription.period).
    Это позволяет задавать разный срок действия для одного и тоже же продукта в каждом запросе
  • В дочернем заказе срок действия продления определяется из настроек базового продукта и является одинаковым для всех динамических продуктов, созданных на его основе

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

Стоимость продления

Цена продления за 1 шт. продукта передается в запросе к API (products.subscription.price) и далее используется на протяжении всей жизни подписки. То есть в каждом дочернем заказе будет одинаковая стоимость продления.

При расчете стоимости продления:

  • Цена будет умножена на кол-во единиц продукта, такое же как у родительского продукта
  • К цене может быть добавлена сумма VAT, по тем же правилам, что и к цене в корзине
  • Если в запросе была передана скидка для родительского продукта, то она не применится для продления

Вы можете изменить цену продления для определенной подписки покупателя с помощью Subscriptions API.

Например, если вы передали в запросе:

То, конечная стоимость продукта в корзине составит: 1200 х 2 х 0.9 = 2 160.

Стоимость продления будет рассчитана как: [цена продления] х [количество продукта] = 900 х 2 = 1 800.

Название продления

Название продукта продления передается в запросе к API (products.subscription.name) и далее используется на протяжении всей жизни подписки. То есть в каждом дочернем заказе будет одинаковое название продукта продления.

Вы можете изменить название продления для определенной подписки покупателя с помощью Subscriptions API.

Пример источников данных при работе подписки (данные о продлении переданы в запросе)

Если вы не передадите в запросе данные о продлении (название, цена), то они могут быть взяты из настроек базового продукта, как показано в примере ниже. 

Пример источников данных при работе подписки (не все данные о продлении переданы в запросе)

Если вы хотите, чтобы у динамического продукта в корзине не было доступно автопродление, то не передавайте в запросе на генерацию ссылки на покупку параметр products.subscription.

Если вы хотите протестировать продление подписки (создание дочернего заказа):

  • Вы можете провести тестирование на реальном продукте:
    • Оформите и оплатите заказ с подпиской на динамический продукт также, как это делает покупатель
    • Обратитесь в службу поддержки, чтобы инициировать создание дочернего заказа, не дожидаясь реального окончания срока действия продукта. При обработке произойдет перерасчет срока действия родительского продукта и дочерний заказ будет создан сразу
  • Также можно провести самостоятельное тестирование, например, указав для родительского продукта минимальный срок действия продукта (по умолчанию 6 дней). В этом случае дочерний заказ будет автоматически создан на следующий день после оплаты родительского заказа. Если установить срок меньше, то дочерний заказ не будет создан (не успеет создаться)

Обратите внимание:

  • Создание подписки происходит только по факту согласия покупателя на подписку при оформлении родительского заказа и после оплаты родительского заказа
  • Если вы проводите операции в тестовой среде, то вы можете оплатить заказ тестовыми платежными средствами
  • Если вы проводите операции в боевой среде, то вы можете оплатить заказ реальными платежными средствами. После завершения тестирования обратитесь в службу поддержи, чтобы оформить возврат на тестовый заказ