Проведение оплаты со списаниями по запросам
Общая информация
Повторяемая оплата со списаниями по запросам — это тип платежа, в рамках которого на основании одного исходного запроса осуществляется один (повторяемый) перевод денежных средств от пользователя к мерчанту с использованием сохранённых платёжных данных и без подтверждения подлинности платёжного инструмента пользователя (такого, как ввод кода проверки подлинности карты).
В рамках платёжной платформы оплаты со списаниями по запросу проводятся в соответствии с моделью проведения платежей (Повторяемая оплата со списаниями по запросам).
Схема проведения
Для проведения повторяемой оплаты со списаниями по запросам необходимо:
- Зарегистрировать повторяемую оплату.
- Передать запрос на проведение повторяемой оплаты с идентификатором записи о серии списаний.
- Принять от платёжной платформы оповещение о результате списания.
Для каждого последующего списания необходимо повторно передавать запросы на проведение повторяемой оплаты и принимать оповещения о результате.
Информация о форматах запросов и оповещений приведена далее; общая информация о работе с API — в разделе Организация взаимодействия. Информацию о возможных статусах такой оплаты можно найти в соответствующей статье.
Формат запроса
Формат запросов в этом разделе представлен для инициирования повторяемых оплат со списаниями по запросу с использованием платёжных карт. При формировании запросов необходимо учитывать следующее:
- Должен использоваться POST-запрос к одной из следующих конечных точек:
- /v2/payment/card/recurring — для всех категорий повторяемых оплат, вне зависимости от места хранения платёжных данных (на стороне платёжной платформы или на стороне веб-сервиса);
- /v2/payment/card/sale — только для автооплат и регулярных оплат при хранении платёжных данных на стороне веб-сервиса;
- /v2/payment/card/account_verification/token — только для автооплат при хранении платёжных данных на стороне веб-сервиса.
- В запросе должны использоваться следующие объекты и параметры:
general
— объект, содержащий основные идентификационные сведения запроса:project_id
— идентификатор проекта, полученный от ecommpay при интеграции;payment_id
— идентификатор платежа, уникальный в рамках проекта;signature
— подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью).
customer
— объект, содержащий сведения о пользователе:ip_address
— IP-адрес пользователя, актуальный для инициируемой операции;id
— идентификатор пользователя, уникальный в рамках проекта и имеющий то же значение, которое было использовано при регистрации данной повторяемой оплаты;Внимание: Использование разных идентификаторов пользователя для операций в рамках одной повторяемой оплаты не допускается
payment
— объект, содержащий сведения о платеже:amount
— сумма платежа в дробных единицах валюты;currency
— валюта платежа в формате ISO-4217 alpha-3.
- В зависимости от конечной точки, к которой направляется запрос, в запросе также должны использоваться следующие объекты и параметры:
- В запросах к конечной точке /v2/payment/card/recurring — идентификатор записи о серии списаний, полученный в оповещении с данными о регистрации, в параметре
id
объектаrecurring
. - В запросах к конечной точке /v2/payment/card/sale — объект
card
со следующими параметрами:pan
— номер карты;year
— год окончания срока действия карты;month
— месяц окончания срока действия карты;card_holder
— имя держателя карты (в соответствии с указанным на карте);stored_card_type
— указатель категории, к которой относится повторяемая оплата (4
для автооплаты и6
для регулярной оплаты).
- В запросах к конечной точке /v2/payment/card/account_verification/token — параметр
stored_card_type
объектаcard
со значением4
(автооплата).
- В запросах к конечной точке /v2/payment/card/recurring — идентификатор записи о серии списаний, полученный в оповещении с данными о регистрации, в параметре
- Дополнительно могут использоваться любые другие параметры, указанные в спецификации.
Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись, IP-адрес пользователя, валюту и сумму проведения платежа, а также идентификатор записи о серии списаний или данные платёжной карты и указатель категории повторяемой оплаты.
В зависимости от особенностей провайдеров, участвующих в проведении платежа, набор обязательных параметров может варьироваться. Подробную информацию о требованиях провайдеров можно уточнить у курирующего менеджера ecommpay.
Формат оповещений
От платёжной платформы к веб-сервису передаётся оповещение с данными о регистрации повторяемой оплаты. Для этого оповещения используется стандартный формат, описание которого представлено в разделе Оповещения.
В данном случае оповещение свидетельствует о том, что в рамках проекта 42
было выполнено списание в размере 4,00 USD
с платёжной карты № 424242******4243
.