Управление списаниями в рамках оплаты
В платежной платформе поддерживаются возможности управления списаниями для повторяемых оплат любой категории. К таким возможностям относятся:
- получение сведений о серии списаний;
- изменение условий: суммы и срока действия, а для регулярных оплат — параметров, задающих график списаний;
- отмена дальнейшего выполнения списаний со стороны мерчанта.
Необходимо отметить, что отмена дальнейшего выполнения списаний может быть осуществлена и со стороны пользователя при его обращении к эмитенту. В этом случае последующее списание отклоняется, а платежные данные удаляются из списка сохраненных на стороне платежной платформы.
Получение сведений о серии списаний
При формировании запроса на получение сведений о серии списаний необходимо учитывать следующее:
- Должен использоваться POST-запрос к конечной точке /v2/payment/card/recurring/info.
- В запросе должны использоваться следующие объекты и параметры:
general— объект, содержащий основные идентификационные сведения запроса:project_id— идентификатор проекта, полученный от Rocketpay при интеграции;signature— подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Подписывание и проверка подписи).
- Объект
recurringс идентификатором записи о серии списанийid, полученным в оповещении с данными о регистрации.
Таким образом, корректный запрос должен содержать идентификатор проекта, подпись и идентификатор записи о серии списаний.
Рис.: Пример набора данных в запросе на получение сведений о серии списаний
{
"general":{
"project_id":42,
"signature":"v7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...=="
},
"recurring":{
"id":1079
}
}
Сведения о серии списаний передаются от платежной платформы к веб-сервису в ответе стандартного формата, описание которого представлено в разделе Ответ.
В данном случае ответ свидетельствует о том, что в рамках проекта 42 для пользователя customer_12 было выполнено списание в размере 4,00 USD с платежной карты № 424242******4243 и ожидаются последующие списания.
Рис.: Пример сведений о серии списаний из ответа
{
"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"
}
}
Изменение условий серии списаний
При формировании запроса на изменение условий проведения повторяемой оплаты необходимо учитывать следующее:
- Должен использоваться POST-запрос к конечной точке /v2/payment/card/recurring/update.
- В запросе должны использоваться следующие объекты и параметры:
general— объект, содержащий основные идентификационные сведения запроса:project_id— идентификатор проекта, полученный от Rocketpay при интеграции;payment_id— идентификатор платежа, уникальный в рамках проекта;signature— подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Подписывание и проверка подписи).
- Объект
recurringс идентификатором записи о серии списанийid, полученным в оповещении с данными о регистрации.
- Дополнительно следует использовать параметры, задающие условия повторяемой оплаты. К таким параметрам относятся:
expiry_year— год окончания действия повторяемой оплаты;expiry_month— месяц окончания действия повторяемой оплаты;expiry_day— день окончания действия повторяемой оплаты;interval— множитель для кратного увеличения периода списаний, например чтобы списания выполнялись раз в три недели, в параметреperiodнадо задать значениеW, а в параметреintervalзначение3; возможные значения: от1до100;amount— сумма последующих списаний;period— периодичность списаний (D— ежедневно,W— еженедельно,M— ежемесячно,Q— ежеквартально,Y— ежегодно);time— время последующих списаний;scheduled_payment_id— идентификатор, который необходимо присвоить платежу;start_date— дата первого списания.
Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись, идентификатор записи о серии списаний и параметры, значения которых необходимо изменить.
Рис.: Пример набора данных в запросе на изменение условий проведения оплаты
{
"general":{
"project_id":42,
"payment_id":"456789",
"signature":"v7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...=="
},
"recurring":{
"id":1079,
"interval":3,
"period":"M",
"time":"12:00:00"
}
}
Информация об обновленных условиях проведения оплаты передается от платежной платформы к веб-сервису в оповещении стандартного формата, описание которого представлено в разделе Оповещения (callbacks) в Gate.
В данном случае оповещение свидетельствует о том, что условия повторяемой оплаты изменены на следующие: периодичность списаний — каждые три месяца, время выполнения последующих списаний — 12:00:00.
Рис.: Пример данных из оповещения об изменении условий оплаты
{
"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...=="
}
Отмена дальнейшего выполнения списаний
При формировании запроса на отмену проведения повторяемой оплаты необходимо учитывать следующее:
- Должен использоваться POST-запрос к конечной точке /v2/payment/card/recurring/cancel.
- В запросе должны использоваться следующие объекты и параметры:
general— объект, содержащий основные идентификационные сведения запроса:project_id— идентификатор проекта, полученный от Rocketpay при интеграции;payment_id— идентификатор платежа, уникальный в рамках проекта;signature— подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Подписывание и проверка подписи).
- Объект
recurringс идентификатором записи о серии списанийid, полученным в оповещении с данными о регистрации.
Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись и идентификатор серии списаний.
Рис.: Пример набора данных в запросе на отмену проведения оплаты
{
"general":{
"project_id":42,
"payment_id":"456789",
"signature":"VftZ1ZZ5D/aMdeR+CqilUwSm...=="
},
"recurring":{
"id":1079
}
}
Результат отмены проведения оплаты передается от платежной платформы к веб-сервису в оповещении стандартного формата, описание которого представлено в разделе Оповещения (callbacks) в Gate.
В данном случае оповещение свидетельствует о том, что повторяемая оплата с идентификатором 1079 отменена.
Рис.: Пример данных из оповещения об отмене проведения оплаты
{
"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...=="
}