# Управление списаниями в рамках оплаты {#ru_gate_payment_recurring_manage} статья о возможностях управления списаниями в рамках повторяемых оплат при работе через Gate, включая возможности получения сведений о сериях списаний, изменения условий для списаний и отмены дальнейшего выполнения списаний ## Общая информация {#section_lbz_nv5_5jb .section} В платёжной платформе поддерживаются возможности управления списаниями для повторяемых оплат любой категории. К таким возможностям относятся: - получение сведений о серии списаний; - изменение условий: суммы и срока действия, а для регулярных оплат — параметров, задающих график списаний; - отмена дальнейшего выполнения списаний со стороны мерчанта. Необходимо отметить, что отмена дальнейшего выполнения списаний может быть осуществлена и со стороны пользователя при его обращении к эмитенту. В этом случае последующее списание отклоняется, а платёжные данные удаляются из списка сохранённых на стороне платёжной платформы. Помимо этого, управлять списаниями для регулярных оплат можно через интерфейс [Dashboard](ru_dbl_payments.md#). ## Получение сведений о серии списаний {#section_vkt_cf2_5jb .section} При формировании запроса на получение сведений о серии списаний необходимо учитывать следующее: 1. Должен использоваться POST-запрос к конечной точке [/v2/payment/recurring/info](https://api-developers.ecommpay.com/api-specification/direct-debit/post-v2-payment-recurring-info). 2. В запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `signature` — подпись запроса, составленная после указания целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\). - Объект `recurring` с идентификатором записи о серии списаний `id`, полученным в оповещении с данными о регистрации. Таким образом, корректный запрос должен содержать идентификатор проекта, подпись и идентификатор записи о серии списаний. ```language-json { "general":{ "project_id":42, "signature":"v7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...==" }, "recurring":{ "id":1079 } } ``` Сведения о серии списаний передаются от платёжной платформы к веб-сервису в ответе стандартного формата, описание которого представлено в разделе [Формат ответа](ru_gate_interaction_organisation.md#). В данном случае ответ свидетельствует о том, что в рамках проекта `42` для пользователя `customer_12` было выполнено списание в размере `4,00 USD` с платёжной карты `№ 424242******4243` и ожидаются последующие списания. ```language-json { "project_id": 42, "recurring":{ "id": 1079, // Идентификатор записи о серии списаний "type": "R", "period": "W", "period_interval": 3, "start_date": "2020-10-10", "start_time": "10:00:00", "amount": 400, "last_payment_at": "0000-00-00 00:00:00", "valid_thru": "2025-05-25 00:00:00", "status": "active", "currency": "USD", "payment\_method": "card" } } ``` ## Изменение условий серии списаний {#section_lpp_df2_5jb .section} При формировании запроса на изменение условий проведения повторяемой оплаты необходимо учитывать следующее: 1. Должен использоваться POST-запрос к конечной точке [/v2/payment/card/recurring/update](https://api-developers.ecommpay.com/api-specification/card-payments/post-v2-payment-card-recurring-update). 2. В запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\). - Объект `recurring` с идентификатором записи о серии списаний `id`, полученным в оповещении с данными о регистрации. 3. Дополнительно следует использовать параметры, задающие условия повторяемой оплаты. К таким параметрам относятся: - `period` — указатель базового периода списаний \(`D` — ежедневно, `W` — еженедельно, `M` — ежемесячно, `Q` — ежеквартально, `Y` — ежегодно\); - `time` — время выполнения последующих списаний \(для регулярной оплаты\), актуальное при указании параметра `period` и указываемое в формате `чч:мм:сс`; - `interval` — множитель для кратного увеличения периода списаний \(для регулярной оплаты\), актуальный при указании параметра `period` и указываемый в виде числа от `1` до `100`, например чтобы списания выполнялись раз в три недели, в параметре `period` надо задать значение `W`, а в параметре `interval` значение `3`; - `amount` — фиксированная сумма последующих списаний \(для регулярной оплаты\) в дробных единицах валюты; - `start_date` — дата первого списания \(для регулярной оплаты\), актуальная при указании параметра `scheduled_payment_id` и указываемая в формате `ДД-ММ-ГГГГ`; - `expiry_day` — номер календарного дня, в который должна быть завершена повторяемая оплата \(в виде числа от `1` до `31`, без ведущего нуля, по григорианскому календарю\); - `expiry_month` — порядковый номер месяца, в котором должна быть завершена повторяемая оплата \(в виде числа от `1` до `12`, без ведущего нуля, по григорианскому календарю\); - `expiry_year` — порядковый номер года, в котором должна быть завершена повторяемая оплата \(в четырёхзначном формате `ГГГГ`, по григорианскому календарю\); - `scheduled_payment_id` — идентификатор платежа, в рамках которого следует выполнять списания, должен отличаться от идентификатора платежа, в рамках которого выполнялась регистрация повторяемой оплаты, и быть уникальным в рамках проекта. Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись, идентификатор записи о серии списаний и параметры, значения которых необходимо изменить. ```language-json { "general":{ "project_id":42, "payment_id":"456789", "signature":"v7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...==" }, "recurring":{ "id":1079, "interval":3, "period":"M", "time":"12:00:00" } } ``` Информация об обновлённых условиях проведения оплаты передаётся от платёжной платформы к веб-сервису в оповещении стандартного формата, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В данном случае оповещение свидетельствует о том, что условия повторяемой оплаты изменены на следующие: периодичность списаний — каждые три месяца, время выполнения последующих списаний — 12:00:00. ```language-json { "project_id":123, "recurring":{ "id":1079, // Идентификатор записи о серии списаний "currency":"USD", "status":"active", // Статус записи о серии списаний "type":"R", "expiry_month":"5", // Месяц окончания действия повторяемой оплаты "expiry_year":"2025", // Год окончания действия повторяемой оплаты "period":"M", // Периодичность списаний "period_interval":3, "time":"12:00:00" // Время выполнения последующих списаний }, "signature":"IL9tVftZ1ZZ5D/b0VMdeR+YyilUwSm...==" } ``` ## Отмена дальнейшего выполнения списаний {#section_wkc_2f2_5jb .section} При формировании запроса на отмену проведения повторяемой оплаты необходимо учитывать следующее: 1. Должен использоваться POST-запрос к конечной точке [/v2/payment/card/recurring/cancel](https://api-developers.ecommpay.com/api-specification/card-payments/post-v2-payment-card-recurring-cancel). 2. В запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\). - Объект `recurring` с идентификатором записи о серии списаний `id`, полученным в оповещении с данными о регистрации. Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись и идентификатор серии списаний. ```language-json { "general":{ "project_id":42, "payment_id":"456789", "signature":"VftZ1ZZ5D/aMdeR+CqilUwSm...==" }, "recurring":{ "id":1079 } } ``` Результат отмены проведения оплаты передаётся от платёжной платформы к веб-сервису в оповещении стандартного формата, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В данном случае оповещение свидетельствует о том, что повторяемая оплата с идентификатором `1079` отменена. ```language-json { "project_id":42, "recurring":{ "id":1079, // Идентификатор серии списаний "currency":"USD", "status":"canceled", // Статус, свидетельствующий об отмене повторяемой оплаты "type":"R", "expiry_month":"5", "expiry_year":"2025", "period":"M", "period_interval":3, "time":"12:00:00" }, "signature":"MpfogAxwRItZ1Z/AeMde+GrNYyUwSm...==" } ``` **На уровень выше:**[Повторяемые оплаты](ru_Gate__payments_on_saved_data.md)