Способы подключения

Подключение по API

Описание способов взаимодействия

Описание способов взаимодействия


R-логин

Информация на странице может отличаться в зависимости от типа вашей учётной записи.

Выберите логин:

r-логин

i-логин

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

Механизм оплаты (одностадийный и двухстадийный)

Магазин может использовать одностадийный или двухстадийный механизм принятия платежа.

  • Одностадийный платёж — операция по оплате товаров/услуг, совершённая через интернет с использованием банковских карт, не требующая дополнительного подтверждения (один запрос инициирует сразу блокирование и списание денежных средств с карты).

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

Схемы взаимодействия с платёжным шлюзом

Магазину для интеграции с платёжным шлюзом доступны различные схемы подключения в зависимости от механизма (одностадийный или двухстадийный) и инструмента оплаты. В текущем документе представлено описание следующих схем подключения.

  • Раздел Одностадийная оплата с указанием карточных данных на платёжной странице описывает схему, при которой клиент для оплаты заказа вводит реквизиты своей карты на платёжной странице, откуда карточные данные передаются в шлюз для проведения одностадийной оплаты.

  • Раздел Двухстадийная оплата с указанием карточных данных на платёжной странице описывает схему, при которой клиент для оплаты заказа вводит реквизиты своей карты на платёжной странице, откуда карточные данные передаются в шлюз для проведения двухстадийной оплаты.

  • Раздел Оплата с помощью связки на платёжной странице описывает схему, при которой карта клиента привязывается к идентификатору клиента в системе магазина, что позволяет предлагать для авторизованных пользователей автозаполнение полей карточных данных на платёжной странице.

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

  • Схема, описанная в разделе Двухстадийные автоплатежи предполагает совершение клиентом первоначальной оплаты на платёжной странице с согласием на подключение услуги «Автоплатежа». После этого магазин самостоятельно отслеживает дату, когда необходимо провести очередной платёж, и инициирует оплату без дополнительного ввода карточных данных (без участия клиента).

  • Раздел Использование Альфа-клик» для оплаты заказа описывает схему оплаты, которая доступна только для клиентов интернет-банка «Альфа-Клик». При этой схеме ввода платёжных реквизитов происходит на стороне внешней системы PayByClick.

  • Раздел Использование UPOP для оплаты заказа описывает схему оплаты, которая доступна только для держателей карт China UnionPay. При этой схеме ввод платёжных реквизитов происходит на стороне внешней системы China UnionPay.

  • Раздел Оплата с использованием Apple Pay описывает схему оплаты, доступную владельцам мобильных устройств Apple через систему Apple Pay.

  • Раздел Оплата с использованием Google Pay описывает схему оплаты, доступную владельцам мобильных устройств на ОС Android через систему Google Pay.

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

Возможные интерфейсы взаимодействия с платёжным шлюзом представлены в следующем разделе.

Интерфейсы взаимодействия с платёжным шлюзом

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

Реализация взаимодействия через интерфейс на Web-Service Описание (WSDL) сервиса находится на тестовом сервере, который доступен без ограничений. Значения имени и пароля передаются в формате, описанном в рамках спецификации WS-Security, тип авторизации userName token. Заголовок при такой авторизации будет выглядеть примерно так (см. ниже).

<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
%20wssecurity-utility-1.0.xsd">
    <wsse:UsernameToken wsu:Id="UsernameToken-87">
         <wsse:Username>aa</wsse:Username>
         <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-
          token-profile-1.0#PasswordText">123456</wsse:Password>
    </wsse:UsernameToken>
 </wsse:Security>

Если в ответе на запрос errorCode (Код ошибки) = 0, это означает, что запрос был обработан платежным шлюзом без системных ошибок. При этом errorCode не отображает статус заказа. Для получения статуса заказа следует использовать запрос getOrderStatus или getOrderStatusExtended (один из этих методов обязательно должен быть реализован при интеграции ТСП с платёжным шлюзом).

Реализация взаимодействия через интерфейс REST
Взаимодействие реализуются как HTTP обращения методом POST на определенные URL. Результат обработки запроса возвращается в виде JSON объекта. Например: {"errorCode":"12","errorMessage":"Empty amount"} Значения имени и пароля передаются в следующих параметрах (см. таблицу ниже).

НазваниеТипОбязательностьОписание
passwordAN.30да Пароль магазина, полученный при подключении
userNameAN.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 (один из этих методов обязательно должен быть реализован при интеграции ТСП с платёжным шлюзом).

Координаты подключения

При регистрации магазина представителю предоставляется пара логин/пароль, которая должна использоваться в протоколах. Описание тестового сервиса (WSDL) находится по адресу:
https://tws.egopay.ru/api/ab/webservices/merchant-ws?wsdl

Описание тестового сервиса (WSDL) по СБП находится по адресу:
https://tws.egopay.ru/api/ab/webservices/sbpc2b-ws?wsdl

**URL для доступа к методам REST: **

Название методаURL
Регистрация заказа с предавторизациейhttps://tws.egopay.ru/api/ab/rest/registerPreAuth.do
Регистрация заказаhttps://tws.egopay.ru/api/ab/rest/register.do
Расширенный запрос состояния заказаhttps://tws.egopay.ru/api/ab/rest/getOrderStatusExtended.do
Запрос статистики по платежам за периодhttps://tws.egopay.ru/api/ab/rest/getLastOrdersForMerchants.do
Запрос списка связок определённой банковской картыhttps://tws.egopay.ru/api/ab/rest/getBindingsByCardOrId.do
Запрос списка связок клиентаhttps://tws.egopay.ru/api/ab/rest/getBindings.do
Запрос состояния заказаhttps://tws.egopay.ru/api/ab/rest/getOrderStatus.do
Запрос проверки вовлеченности карты в 3DShttps://tws.egopay.ru/api/ab/rest/verifyEnrollment.do
Запрос проведения платежа по связкеhttps://tws.egopay.ru/api/ab/rest/paymentOrderBinding.do
Запрос отмены оплаты заказаhttps://tws.egopay.ru/api/ab/rest/reverse.do
Запрос оплаты через внешнюю платёжную системуhttps://tws.egopay.ru/api/ab/rest/paymentotherway.do
Запрос на регулярный платёжhttps://tws.egopay.ru/api/ab/rest/recurrentPayment.do
Запрос на оплату через Apple Payhttps://tws.egopay.ru/api/ab/rest/applepay/payment.do
Запрос на оплату через Google Payhttps://tws.egopay.ru/api/ab/rest/google/payment.do
Запрос изменения срока действия связкиhttps://tws.egopay.ru/api/ab/rest/extendBinding.do
Запрос завершения оплаты заказаhttps://tws.egopay.ru/api/ab/rest/deposit.do
Запрос добавления дополнительных параметров к заказуhttps://tws.egopay.ru/api/ab/rest/addParams.do
Запрос деактивации связкиhttps://tws.egopay.ru/api/ab/rest/unBindCard.do
Запрос возврата средств оплаты заказаhttps://tws.egopay.ru/api/ab/rest/refund.do
Запрос активации связкиhttps://tws.egopay.ru/api/ab/rest/bindCard.do
Запрос получения QR кода по СБПhttps://tws.egopay.ru/api/ab/rest/sbp/c2b/qr/dynamic/get.do
Запрос получения статуса платежа по QR коду по СБПhttps://tws.egopay.ru/api/ab/rest/sbp/c2b/qr/status.do