.. meta:: :description: Сервис рекуррентных платежей в API SBC: создание, обновление и обработка регулярных платежей по карте с гибкими правилами интервалов и сумм. .. _recurring_payments_service: Сервис регулярных платежей #################################################### .. role:: ex .. role:: code Введение ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | Повторяющаяся (также Рекуррентная) транзакция — это тип банковского платежа, при котором с держателя карты взимаются сборы в заранее определенные интервалы за услуги или товары постоянного характера (членство, подписки, платежи по кредитам). Перед взиманием сборов карта должна быть зарегистрирована в платежном шлюзе. Служба повторяющихся платежей обеспечивает автоматическую обработку платежей по регулярному графику, например, ежедневно, еженедельно, ежемесячно или ежегодно. С помощью этой службы плательщики могут настроить свои платежные реквизиты один раз, и система будет автоматически списывать средства с их кредитной карты или банковского счета с указанными интервалами. Присоединяющейся стороне не требуется указывать повторяющийся график на стороне платежного шлюза: запросы на повторяющиеся платежи также можно инициировать вручную в соответствии с внутренним графиком Присоединяющейся стороны, бизнес-моделью или запросом плательщика. Чтобы просмотреть и управлять услугой повторяющихся платежей из пользовательского интерфейса, свяжитесь со службой поддержки. Процесс прямых повторяющихся платежей ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | Данный процесс подразумевает, что у Присоединяющейся стороны есть сертификат PCI DSS, позволяющий работать с данными держателей карт. .. uml:: :align: center @startuml skinparam roundcorner 20 skinparam sequenceArrowThickness 1 skinparam maxmessagesize 1200 skinparam sequenceParticipant underline actor Плательщик participant "Присоединяющаяся Сторона" as A participant "SBC" as B autonumber Плательщик -> A: Подписка на\nрегулярные платежи == Создание регулярного платежа == activate A A -> B: /api/v4/create-recurring-payment/ activate B B -> B: Создание профиля\nрегулярного платежа B --> A: ID регулярного платежа deactivate B Плательщик <-- A: Регулярный платеж\nзарегистрирован deactivate A group Если установлено расписание платежей ... Согласно расписанию... B -> B: Обработка запланированной\nрегулярной транзакции activate B A <- B: Колбэк с финальным статусом activate A A --> B: HTTP 200 deactivate B Плательщик <-- A: Уведомление плательщика deactivate A end group Опционально == Обработка регулярного платежа == A -> B: v4/process-recurring-payment/\nwith ID регулярного платежа activate B activate A A <-- B: Создание регулярной транзакции B -> B: Обработка регулярной\nтранзакции A <- B: Колбэк с финальным статусом A --> B: HTTP 200 deactivate B Плательщик <-- A: Уведомление плательщика deactivate A end group Опционально == Обновление регулярного платежа == A -> B: v4/update-recurring-payment/\nwith ID регулярного платежа activate B activate A A <-- B: Обновление регулярного платежа deactivate A B -> B: Обновление профиля\nрегулярного платежа group Если установлено расписание платежей deactivate B ... Согласно расписанию... B -> B: Обработка запланированной\nрегулярной транзакции activate B A <- B: Колбэк с финальным статусом activate A A --> B: HTTP 200 deactivate B A --> Плательщик: Уведомление плательщика deactivate A end end @enduml | (2) Чтобы создать повторяющийся платеж, см. :ref:`/api/v4/create-recurring-payment/`. Чтобы создать повторяющиеся платежи для нескольких Плательщиков в одном запросе с данными CSV, см. :ref:`/api/v4/create-recurring-payments/`. | (7, 8, 13, 14, 20, 21) Чтобы реализовать обратный вызов с обработкой окончательного статуса, см. :ref:`Обратный вызов Присоединяющейся стороны`. | (10) Для обработки повторяющихся платежей см. :ref:`/api/v4/process-recurring-payment/`. Для обработки повторяющихся платежей для нескольких Плательщиков в одном запросе с данными CSV см. :ref:`/api/v4/process-recurring-payments/`. | (16)Для обновления повторяющихся платежей см. :ref:`/api/v4/update-recurring-payment/`. Для обновления повторяющихся платежей для нескольких Плательщиков в одном запросе с данными CSV см. :ref:`/api/v4/update-recurring-payments/`. | (6, 19) Согласно расписанию означает, что если расписание установлено, система будет автоматически обрабатывать транзакции с указанными интервалами, обновлять профиль и уведомлять Присоединяющуюся сторону о каждой завершенной транзакции. Если расписание не установлено, средства могут быть списаны с клиента только вручную через пользовательский интерфейс или вызов API. Расписание можно изменить позже (см. шаг 16). | (9, 15, 22) Результаты платежа могут быть отправлены Присоединяющейся стороной на основе внутренней бизнес-модели или запроса Плательщика. Процесс регулярных платежей с начальной транзакцией ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | В отличие от процесса прямых регулярных платежей , в процессе регулярных платежей с начальной транзакцией требуется выполнение первичного платежа для проверки и авторизации карты плательщика. Для этой цели подойдет любой тип транзакции, содержащий платежные данные: продажа, предварительная аутентификация, перевод и т. д. Эта транзакция должна быть предварительно обработана в платежном шлюзе и иметь окончательный статус. | Данный процесс не содержит данных о держателях карт при обмене данными между Плательщиком и Присоединяющейся стороной, а также между Присоединяющейся стороной и Платежным шлюзом, поэтому сертификация PCI DSS для Присоединяющейся стороны не требуется. .. uml:: :align: center @startuml skinparam roundcorner 20 skinparam sequenceArrowThickness 1 skinparam maxmessagesize 1200 skinparam sequenceParticipant underline actor Плательщик participant "Подключающая сторона" as A participant "SBC" as B autonumber hnote over Плательщик,B : Начальный платеж Плательщик -> A: Подписка на\nрегулярные платежи activate Плательщик activate A == Регистрация карты == A -> B: Инициировать регистрацию карты\nчерез v4/create-card-ref activate B B -> B: Создать профиль\nрегулярного платежа B --> A: Вернуть ID регулярного платежа deactivate B Плательщик <-- A: Регулярный платеж\nзарегистрирован deactivate A deactivate Плательщик group Опционально == Обработка регулярного платежа == A -> B: v4/process-recurring-payment/\nс ID регулярного платежа activate B activate A A <-- B: Создание регулярной транзакции B -> B: Обработать регулярную\nтранзакцию A <- B: Колбэк с финальным статусом A --> B: HTTP 200 deactivate B Плательщик <-- A: Уведомить Плательщика deactivate A end group Опционально == Обновление регулярного платежа == A -> B: v4/update-recurring-payment/\nс ID регулярного платежа activate B activate A A <-- B: Обновление регулярного платежа deactivate A B -> B: Обновить профиль\nрегулярного платежа group Если установлено расписание deactivate B ... Согласно расписанию... B -> B: Обработать запланированную\nрегулярную транзакцию activate B A <- B: Колбэк с финальным статусом activate A A --> B: HTTP 200 deactivate B A --> Плательщик: Уведомить Плательщика deactivate A end end @enduml | Обсудите с менеджером службы поддержки, какой вариант использования API будет наиболее подходящим для первоначального платежа. | (2) Чтобы инициировать запрос на регистрацию карты и получить идентификатор регулярного платежа, см. :ref:`api/v4/create-card-ref`. | (9, 10, 16, 17) Чтобы реализовать обратный вызов с обработкой окончательного статуса, см. :ref:`Обратный вызов Присоединяющейся стороны`. | (6) Для обработки повторяющихся платежей см. :ref:`/api/v4/process-recurring-payment/`. Для обработки повторяющихся платежей для нескольких Плательщиков в одном запросе с данными CSV см. :ref:`/api/v4/process-recurring-payments/`. | (12) Для обновления повторяющихся платежей см. :ref:`/api/v4/update-recurring-payment/`. Для обновления повторяющихся платежей для нескольких Плательщиков в одном запросе с данными CSV см. :ref:`/api/v4/update-recurring-payments/`. | (15) Согласно расписанию означает, что если расписание установлено, система будет автоматически обрабатывать транзакции с указанными интервалами, обновлять профиль и уведомлять Присоединяющуюся сторону о каждой завершенной транзакции. Если расписание не установлено, средства могут быть списаны с клиента только вручную через пользовательский интерфейс или вызов API. Расписание можно изменить позже (см. шаг 12). | (11, 18) Результаты платежа могут быть отправлены Присоединяющейсястороной на основе внутренней бизнес-модели или запроса Плательщика. .. ifconfig:: "doc.payneteasy.com" in site_link ---- .. admonition:: See also :class: related-cross-link `Subscription and recurring billing for retail businesses → `_ .. ifconfig:: "doc.payneteasy.ru" in site_link ---- .. admonition:: См. также :class: related-cross-link `Подписочные и рекуррентные платежи для ритейла → `_