Описание способов взаимодействия
Оплата банковской картой товаров и услуг через интернет может осуществляться с
передачей полных карточных реквизитов в платёжный шлюз, с помощью связок, а
также с использованием внешних платёжных систем.
Механизм оплаты (одностадийный и двухстадийный)
Магазин может использовать одностадийный или двухстадийный механизм принятия платежа.
- Одностадийный платёж – операция по оплате товаров/услуг, совершённая через интернет с использованием банковских карт, не требующая дополнительного подтверждения (один запрос инициирует сразу блокирование и списание денежных средств с карты).
- Двухстадийный платёж – операция по оплате товаров/услуг, совершённая через интернет с использованием банковских карт, требующая дополнительного подтверждения. Двухстадийный механизм работы позволяет разделить процесс на проверку платёжеспособности банковской карты(авторизация) и списание денежных средств (финансовое подтверждение). Первый запрос инициирует проверку платёжеспособности банковской карты и блокирование денежных средств на счёте клиента, второй запрос инициирует списание.
Схемы взаимодействия с платёжным шлюзом
Магазину для интеграции с платёжным шлюзом доступны различные схемы подключения в зависимости от механизма (одностадийный или двухстадийный) и инструмента оплаты. В текущем документе представлено описание следующих схем подключения.
- Раздел Одностадийная оплата с указанием карточных данных на платёжной странице описывает схему, при которой клиент для оплаты заказа вводит реквизиты своей карты на платёжной странице, откуда карточные данные передаются в шлюз для проведения одностадийной оплаты.
- Раздел Двухстадийная оплата с указанием карточных данных на платёжной странице описывает схему, при которой клиент для оплаты заказа вводит реквизиты своей карты на платёжной странице, откуда карточные данные передаются в шлюз для проведения двухстадийной оплаты.
- Раздел Оплата с помощью связки на платёжной странице описывает схему, при которой карта клиента привязывается к идентификатору клиента в системе магазина, что позволяет предлагать для авторизованных пользователей автозаполнение полей карточных данных на платёжной странице.
- Схема, описанная в разделе Одностадийные автоплатежи предполагает совершение клиентом первоначальной оплаты на платёжной странице с согласием на подключение услуги Автоплатежа. После этого магазин самостоятельно отслеживает дату, когда необходимо провести очередной платёж, и инициирует оплату без дополнительного ввода карточных данных (без участия клиента).
- Схема, описанная в разделе Двухстадийные автоплатежи предполагает совершение клиентом первоначальной оплаты на платёжной странице с согласием на подключение услуги "Автоплатежа". После этого магазин самостоятельно отслеживает дату, когда необходимо провести очередной платёж, и инициирует оплату без дополнительного ввода карточных данных (без участия клиента).
- Раздел Использование Альфа-клик" для оплаты заказа описывает схему оплаты, которая доступна только для клиентов интернет-банка "Альфа-Клик". При этой схеме ввода платёжных реквизитов происходит на стороне внешней системы PayByClick.
- Раздел Использование UPOP для оплаты заказа описывает схему оплаты, которая доступна только для держателей карт China UnionPay. При этой схеме ввод платёжных реквизитов происходит на стороне внешней системы China UnionPay.
- Раздел Оплата с использованием Apple Pay описывает схему оплаты, доступную владельцам мобильных устройств Apple через систему Apple Pay.
- Раздел Оплата с использованием Samsung Pay описывает схему оплаты, доступную владельцам мобильных устройств Samsung через систему Samsung Pay.
- Раздел Оплата с использованием Google Pay описывает схему оплаты, доступную владельцам мобильных устройств на ОС Android через систему Google Pay.
Раздел Платёж на свободную сумму описывает сценарий оплаты с использованием страницы платежа на свободную сумму, размещённой в платёжном шлюзе.
В зависимости от схемы взаимодействия, по которой работает магазин, требуется использовать определённый набор запросов. В описаниях перечисленных выше сценариев указано на каком шаге сценария какой запрос должен использоваться, а также дана ссылка на раздел со спецификацией запроса.
Возможные интерфейсы взаимодействия с платёжным шлюзом представлены в следующем разделе.
Интерфейсы взаимодействия с платёжным шлюзом
Магазин для взаимодействия с платёжным шлюзом может использовать один из интерфейсов – интерфейс на WebService-ах или REST.
Для авторизации обращения магазина к системе платёжного шлюза в любом запросе со стороны магазина должны быть приведены имя и пароль магазина, полученные при регистрации магазина в системе. Подробная информация об авторизации обращений представлена ниже.
Реализация взаимодействия через интерфейс REST
Взаимодействие реализуются как HTTP обращения методом POST на определенные URL.
Результат обработки запроса возвращается в виде JSON объекта. Например: {"errorCode":"12","errorMessage":"Empty amount"}
Значения имени и пароля передаются в следующих параметрах (см. таблицу ниже).
Название |
Тип |
Обязательность |
Описание |
password |
AN..30 |
да |
Пароль магазина, полученный при подключении |
userName |
AN..30 |
да |
Логин магазина, полученный при подключении |
Все текстовые поля должны иметь кодировку Юникод (UTF-8).
Спец-символы в REST запросе должны быть экранированы в соответствии с URL-кодом. Таблица символов расположена по следующему адресу: https://wm-school.ru/html/html_url_acsii.html. Например, пароль qwe?rt%y
должен передаваться в виде qwe%0Frt%25y
.
Если в ответе на запрос errorCode
(Код ошибки) = 0, это означает, что запрос был обработан платежным шлюзом без системных ошибок. При этом errorCode
не отображает статус заказа.
Для получения статуса заказа следует использовать запрос getOrderStatus.do
или getOrderStatusExtende.do
(один из этих методов обязательно должен быть реализован при интеграции ТСП с платёжным шлюзом).
Координаты подключения
URL для доступа к методам REST: