8. Привязка карты
Привязкой карты называется созданная в банковской процессинговой сети ассоциация с определённой картой, позволяющая списывать в любое время с привязанной карты любую сумму и зачислять её определённому абоненту. Данная возможность оказывается особенно полезной, кода нельзя точно или заранее определить, какую сумму и когда нужно будет списать с карты плательщика. Примером могут быть службы такси и сервисы аренды оборудования.
Первый платеж по карте, которую нужно привязать, будет проходить в обычном режиме с вводом реквизитов карты. Поэтому для создания привязки можно провести транзакцию на любую сумму (в том числе на 1 рубль). Последующие платежи по этой карте можно будет выполнять без явного участия плательщика, безакцептно. Тем не менее, если нужно выполнить платёж с привязанной карты по расписанию, без явного действия со стороны абонента, мы настоятельно рекомендуем уведомлять абонента заранее перед очередным списанием.
Для создания привязки необходимо при инициализации платежа методом HTML-формы передать следующие параметры:
Параметр | Назначение | Обязательный | |
1 | sum | Сумма списания в рублях. | Да |
2 | msgtype | Тип операции, для создания привязки карты принимает значение createbinding. | Да |
3 | clientid | Идентификатор клиента. | Да |
Остальные параметры принимаются и обрабатываются так же, как и при обычной инициализации платежа методом HTML-формы.
Пример формы для создания привязки карты.
1 2 3 4 5 6 |
<form method='POST' action='http://demo.rsb-processing.ru/create/' > Идентификатор абонента: <input type='text' name='clientid' value='123456'/> <br /> Сумма: <input type='text' name='sum' value='1'/> <br /> <input type='submit' value='Создать привязку' /> <input type='hidden' name='msgtype' value='createbinding'/> </form> |
Пример, как будет отображаться данная форма:
Более подробно о создании HTML-Формы можно прочитать в разделе методы интеграции.
В параметрах проведенного платежа будет содержаться полe bank_id, это уникальный идентификатор привязки в системе банка. В POST-оповещение по такому платежу будет добавлено полe bank_id. Оно позволит в дальнейшем проводить безакцептные списания с использованной в данном платеже карты.
В настоящее время JSON API поддерживает следующие методы для работы с привязками карт:
URI | Назначение | |
---|---|---|
9.1 | RESERVED | |
9.2 | RESERVED | |
9.3 | RESERVED | |
9.4 | RESERVED | |
9.5 | RESERVED | |
9.6 | /change/binding/execute/ | Безакцептное выполнение платежа по имени привязки bank_id. |
9.7 | RESERVED |
9.6. Безакцептное списание по имени связки /change/binding/execute/
При помощи этого запроса можно выполнить списание по привязанной ранее карте. Формат запроса:
Таблица 8.6.1. Параметры запроса
Тип | Формат запроса | |
POST | /change/binding/execute/ | |
Параметр | Назначение | |
1. | bank_id | Банковский уникальный идентификатор привязки, по которому необходимо произвести списание. |
2. | orderid | Номер заказа в системе магазина. |
3. | token | Токен безопасности. |
… | Остальные параметры инициализации платежа, которые поддерживает метод HTML-формы. |
Обратите внимание, что выполняемому платежу будет присвоен bank_id такой же, как и у первого платежа, по которому выполнялась привязка карты. Если списание произведено успешно, то возвращается объект вида:
1 2 3 4 5 6 |
[ { "result":"success", "payment_id":"1582" } ] |
В поле payment_id этого объекта будет содержаться номер совершённого платежа. Информацию о нём можно получить с помощью запроса 2.3 или дождавшись POST-уведомления.
В случае ошибки поле result ответа будет содержать описание ошибки:
1 2 3 4 5 6 |
[ { "result":"fail", "msg":"runtime error during template execution" } ] |
POST-оповещение по безакцептному платежу, выполненному с помощью привязки карты с идентификатором bank_id , будет содержать такое же значение в поле bank_id .