Работа с подписками подразумевает несколько сценариев использования:
Обычный | По подписке с триальным периодом | По подписке с промо-периодом | С отложенной активацией подписки |
|---|---|---|---|
|
|
|
|
Аналогично разделу создание платежной сессии, но с добавлением блока информации по подписке - subscription (Основные параметры - см. Разовая покупка.). В ответ вы получите не только id сессии, но и id подписки.
При инициализации виджета - нужно обязательно передать tokenId.
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
subscription | object subscription | нет | Набор параметров для формирования регулярного платежа (подписки) |
| merchantParams | object | нет | Набор пар "параметр":"значение" - дополнительная информация от партнёра к сессии |
Описание структуры merchantParams
Поле | Тип | Обяз. | Описание | ||
|---|---|---|---|---|---|
| subscriptionDetails | object | нет | Если передан данный объект, то отображение графика подписок на экране оплаты будет кастомным. Если не заполнены condition/descriptions текст под суммой не будет отображаться вовсе. | ||
| condition | string | нет | Условия отображаемые под суммой списания. | ||
| descriptions | array of strings | нет | Детальные условия по подписке (не более 2 строк). | ||
| resultDetails | object | нет | Если передан данный объект, то отображение информации на финальном экране будет кастомным. | ||
| descriptions | array of strings | нет | Дополнительное описание для вывода на экран (не более 2 строк). Если не заполнено поле descriptions текст не будет отображаться вовсе. | ||
Описание структуры subscription
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
merchantMnemonic | string[512] | нет | Наименование подписки на стороне Мерчанта, можно по данному наименованию осуществлять поиск всех оформленных подписок |
userMnemonic | string[512] | да | Наименование подписки на стороне Пользователя |
description | string[512] | нет | Краткое описание подписки. Для экосистемных продуктов оно будет выведено как описание подписки на витрине Мой МТС в разделе подписок. |
amount | amount | да | Сумма платежа по подписке |
startDate | dateTime | да | Дата и время начала подписки. Если требуется отложенное списание – используется параметр trialPeriod |
endDate | dateTime | нет | Дата и время окончания подписки. С этой даты перестают происходить списания. Например, дата списания 01.10.2021, endDate=20.10.2021, period=1 и periodQuant=month. |
period | int32 | да | Периодичность списания |
periodQuant | periodQuantEnum | да | Единицы периода списания, может принимать значения "day", "week", "month" |
trialPeriod | int32 | нет | Количество дней триального периода. Значение определяет сколько дней Плательщик пользуется триальным периодом услуги без оплаты, и через сколько дней провести первую оплату и запустить регулярное списание |
isDelayed | boolean | нет | Признак отложенной активации подписки, по умолчанию false |
promo | object promo | нет | Набор параметров отвечающих за промо период подписки |
Описание структуры promo
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
amount | amount | да | Сумма при списании в течение промо периода (или сумма для оплаты первого периода подписки, при наличии блока subscription) |
durationType | durationTypeEnum | да | Тип учета промо, quant или date |
period | int34 | условно | Кол-во периодов, в течении которого списывается промо сумма. Обязательность - условно, если передано durationType=quant, то обязательно поле period |
endDate | dateTime | условно | Дата окончания промо периода. Обязательность - условно, если передано durationType=date, то обязательно поле endDate |
Использование триального периода "trialPeriod" и promo, при платеже с блоком подписка (subscription):
Разница между amount=0 и trialPeriod>0 в том, что:
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
subscriptionId | guid | да | Идентификатор подписки |
{
"serviceId": "5560",
"serviceParams": {
"NUMBER": "79160026188",
"payerEmail": "tests12345@mts.ru",
"id1": "108882256562"
},
"amount": 13.4,
"currency": "643",
"extClientId": "89150123456",
"subscription": {
"productId": 0,
"merchantMnemonic": "MonthlyPayment",
"userMnemonic": "Моя подписка",
"amount": 13.4,
"startDate": "2020-11-18T19:06:16.778Z",
"endDate": "2021-11-18T00:00:00.778Z",
"period": 1,
"periodQuant": "day",
"trialPeriod": 30,
"promo": {
"amount": 10.02,
"durationType": "quant",
"period": 4
}
}
}
{
"sessionId": "0b722ef4eb6b4cbe999e1c5bbcb4e456",
"subscriptionId": "0af1362b-cad2-42dc-a9eb-1f159757c397"
}
Основные коды ошибок - см. Разовая покупка.
code | message | userMessage |
|---|---|---|
| 00200022 | Subscription not available for service | Подписки не доступны для сервиса |
| 00200030 | Subscription could not be created, because there are two promotions trial and promo | Подписка не может быть создана, т.к. указаны две акции триал и промо |