8. Привязка карты

Привязкой карты называется созданная в банковской процессинговой сети ассоциация с определённой картой, позволяющая списывать в любое время с привязанной карты любую сумму и зачислять её определённому абоненту. Данная возможность оказывается особенно полезной, кода нельзя точно или заранее определить, какую сумму и когда нужно будет списать с карты плательщика. Примером могут быть службы такси и сервисы аренды оборудования.

Первый платеж по карте, которую нужно привязать, будет проходить в обычном режиме с вводом реквизитов карты. Поэтому для создания привязки можно провести транзакцию на любую сумму (в том числе на 1 рубль). Последующие платежи по этой карте можно будет выполнять без явного участия плательщика, безакцептно. Тем не менее, если нужно выполнить платёж с привязанной карты по расписанию, без явного действия со стороны абонента, мы настоятельно рекомендуем уведомлять абонента заранее перед очередным списанием. 

Для создания привязки необходимо при инициализации платежа методом HTML-формы передать следующие параметры:

  Параметр Назначение Обязательный
1 sum Сумма списания в рублях. Да
2 msgtype Тип операции, для создания привязки карты принимает значение createbinding. Да
3 clientid Идентификатор клиента. Да

Остальные параметры принимаются и обрабатываются так же, как и при обычной инициализации платежа методом HTML-формы.

Пример формы для создания привязки карты.

Пример, как будет отображаться данная форма:

Идентификатор абонента:
Сумма:

 
Более подробно о создании HTML-Формы можно прочитать в разделе методы интеграции.

В параметрах проведенного платежа будет содержаться полe bank_id, это уникальный идентификатор привязки в системе банка. В POST-оповещение по такому платежу будет добавлено полe bank_id. Оно позволит в дальнейшем проводить безакцептные списания с использованной в данном платеже карты.

В настоящее время JSON API поддерживает следующие методы для работы с привязками карт:

  URI Назначение
8.1 RESERVED  
8.2 RESERVED  
8.3 RESERVED  
8.4 RESERVED  
8.5 RESERVED  
8.6 /change/binding/execute/ Безакцептное выполнение платежа по имени привязки bank_id.
8.7 RESERVED  

8.6. Безакцептное списание по имени связки /change/binding/execute/

При помощи этого запроса можно выполнить списание по привязанной ранее карте. Формат запроса:

Таблица 8.6.1. Параметры запроса

Тип Формат запроса
POST /change/binding/execute/
  Параметр Назначение
1. bank_id Банковский уникальный идентификатор привязки, по которому необходимо произвести списание.
2. orderid Номер заказа в системе магазина.
3. token Токен безопасности.
  Остальные параметры инициализации платежа, которые поддерживает метод HTML-формы.

Обратите внимание, что выполняемому платежу будет присвоен bank_id такой же, как и у первого платежа, по которому выполнялась привязка карты. Если списание произведено успешно, то возвращается объект вида:

В поле payment_id этого объекта будет содержаться номер совершённого платежа. Информацию о нём можно получить с помощью запроса 2.3 или дождавшись POST-уведомления.

В случае ошибки поле result ответа будет содержать описание ошибки:

POST-оповещение по безакцептному платежу, выполненному с помощью привязки карты с идентификатором bank_id , будет содержать такое же значение в поле bank_id .