Подписки (рекуррентные платежи)
Для работы с подписками должны быть выданы разрешения MakeAcquiringOperation
, ReadAcquiringData
и ReadCustomerData
.
Подписки (рекуррентные платежи) — это удобный сервис автооплаты, который позволяет вашим клиентам подписаться на регулярные платежи за товары или услуги.
Благодаря возможностям openAPI ваш бизнес может настроить создание ссылок, автоматизирующих процесс оплаты подписок. Клиенты совершают первую транзакцию, а потом в течение заданного периода деньги будут списываться с их карты без дополнительных действий.
Без фискализации чеков
метод по работе подписок без фискализации чеков
Подключение подписок
Перед работой с API платёжных ссылок нужно оставить заявку на подключение интернет-эквайринга внутри интернет-банка. Сделать это может руководитель или распорядитель с правом подписи в разделе «Сервисы» → «Интернет-эквайринг».
В течение рабочего дня с момента заявки с вами свяжутся специалисты для подтверждения заявки.
Проверить статус подключения интернет-эквайринга можно с помощью метода Get Retailers.
Статус REG и значение isActive: «true» будут означать, что настройка завершена — можно приступать к работе с платёжными ссылками.
Создание подписки (рекуррентного платежа) без фискализации чеков
Для создания платёжной ссылки нужно вызвать метод Create Subscription и передать:
- amount — сумма платежа в рублях.
- customerCode — уникальный код клиента.
- purpose — назначение платежа, которое увидит перешедший по ссылке покупатель.
Дополнительно можно указать
- redirectUrl — URI-адрес, на который нужно переправить покупателя после оплаты.
- failRedirectUrl — URI-адрес, на который нужно переправить покупателя, если оплата не прошла.
- saveCard — параметр, указывающий, будет ли покупателю предложено сохранить карту для следующих платежей.
- consumerId — идентификатор покупателя. Если ранее был указан параметр saveCard и клиент согласился с сохранением карты, то из ответа можно взять consumerId и подставить в запрос, чтобы покупатель мог выбрать карту, по которой уже происходила оплата.
- merchantId — идентификатор торговой точки в интернет-эквайринге. Параметр является обязательным, если у вас подключено несколько торговых точек для работы с интернет-эквайрингом.
Options — объект, содержащий опции подпски.
- trancheCount — количество списаний по подписке. По умолчанию установлено 12 списаний.
- period — периодичность списания. По умолчанию устанавливается месяц (Month).
- daysInPeriod — длина периодичности списания в днях. Работает только с периодом в днях (Day).
Чтобы сразу узнать о поступлении оплаты, вы можете настроить вебхук с событием acquiringInternetPayment на свой URL.
С фискализацией чеков от партнёров Точки
метод по работе подписок с фискализацией чеков от партнёров Точки
Подключение подписок
Перед работой с API платёжных ссылок нужно отправить заявку на подключение интернет-эквайринга и выбрать партнёра, который будет фискализировать ваши чеки по 54-ФЗ.
Сделать это может руководитель или распорядитель с правом подписи в разделе «Сервисы» → «Интернет-эквайринг».
В течение рабочего дня с момента заявки с вами свяжутся специалисты для подтверждения заявки.
Проверить статус подключения интернет-эквайринга можно с помощью метода Get Retailers.
Статус REG и значение isActive: «true» будут означать, что настройка завершена — можно приступать к работе с платёжными ссылками.
Создание подписки (рекуррентного платежа) с фискализацией чеков
Для создания ссылки нужно вызвать метод Create Subscription With Receipt и передать:
- amount — сумма платежа в рублях;
- customerCode — уникальный код клиента;
- purpose — назначение платежа, которое увидит перешедший по платёжной ссылке покупатель.
Client — объект, содержащий данные покупателя.
- Email — электронная почта покупателя, на которую будет отправлен чек.
Items — объект, содержащий список товаров в заказе.
- name — название товара или услуги.
- amount — цена за единицу товара или услуги.
- quantity — количество товаров или оказанных услуг.
Дополнительно можно указать
- redirectUrl — URI-адрес, на который нужно переправить покупателя после оплаты;
- failRedirectUrl — URI-адрес, на который нужно переправить покупателя если оплата не прошла;
- saveCard — параметр, указывающий, будет ли покупателю предложено сохранить карту для следующих платежей;
- consumerId — идентификатор покупателя. Если ранее был указан параметр saveCard и клиент согласился с сохранением карты, то из ответа можно взять consumerId и подставить в запрос, чтобы покупатель мог выбрать карту, по которой уже происходила оплата;
- merchantId — идентификатор торговой точки в интернет-эквайринге. Параметр является обязательным, если у вас подключено несколько торговых точек для работы с интернет-эквайрингом;
- taxSystemCode — система налогообложения, которая используется в вашей организации;
Options — объект, содержащий опции подпски.
- trancheCount — количество списаний по подписке. По умолчанию установлено 12 списаний.
- period —периодичность списания. По умолчанию устанавливается месяц (Month).
- daysInPeriod — длина периодичности списания в днях. Работает только с периодом Day.
Client — объект, содержащий данные покупателя.
- name — наименование плательщика. Для юрлица — название организации, для ИП и физического лица — ФИО.
- phone — телефон покупателя для отправки чека.
Items — объект, содержащий список товаров в заказе.
- vatType — ставка НДС в позициях.
- paymentMethod — тип оплаты. full_payment — полная оплата, full_prepayment — полная предоплата.
- paymentObject — признак предмета расчёта. goods — товары, service — услуги, work — работа.
- measure - единица измерения. По умолчанию ставится штуки.
Supplier — объект, содержащий информацию о поставщике. Если вы работаете как агент и продаёте не свой товар, 54-ФЗ требует указывать в чеке данные поставщика.
- phone — номер телефона поставщика.
- name — наименование поставщика.
- taxCode — ИНН поставщика.
Чтобы сразу узнать о поступлении оплаты, вы можете настроить вебхук с событием acquiringInternetPayment на свой URL.
Работа с подписками без графика списания
Если вы хотите самостоятельно управлять периодичностью и суммами списаний, можно передать boolean параметр recurring
со значением true
. Так вы создадите подписку без графика и сможете получать оплату подписки в нужные вам даты.
Чтобы провести списание, нужно вызвать метод Charge Subscription и передать:
operationId — идентификатор подписки, полученный при создании подписки.
amount — сумма платежа.
Обратите внимание: создать подписку с параметром recurring и объектом Options нельзя.
Дополнительные методы для работы с подписками (рекуррентными платежами)
Метод Get Subscription List позволяет получать все созданные подписки. В ответе будут показаны как активные, так и неактивные подписки. Для удобства можно использовать параметры page
— номер страницы и perPage
— количество записей на странице.
Метод Get Subscription Status покажет актуальный статус подписки. Для вызова этого метода необходимо передать operationId
— идентификатор подписки.
Метод Set Subscription Status позволяет отключить подписку, переведя её в статус Cancelled
.
Обратите внимание, что при отключении подписки вернуть её назад не получится, и придётся создавать новую.
Несколько особенностей в работе с подписками (рекуррентными платежами)
- возврат платежа за подписку можно провести только в интернет-банке;
- продлить подписку пока нельзя. Если она закончится, нужно создать новую;
- если у вас подключено несколько торговых точек для работы с интернет-эквайрингом, то указывать
merchantId
нужно обязательно. Этот параметр можно получить, вызвав метод Get Retailers. merchantId для работы с подписками (рекуррентными платежами) состоит из 15 цифр. - для вызова большинства методов по работе с подписками нужен параметр
customerCode
— это ваш уникальный код в системе банка.
Узнать его можно, вызвав метод Get Customers List. Параметр customerCode необходимо брать из поля customerType: "Business". - ссылка для подключения подписки (рекуррентных платежей) действует 168 часов. С момента перехода по ссылке у покупателя есть 1 час на оплату. По истечении этого срока он увидит ошибку, но при повторном переходе по ссылке сформируется новая рабочая страничка для оплаты.
- сейчас можно создать подписку (рекуррентный платёж) только для приёма платежей с банковских карт.