|
|
| (не показана 61 промежуточная версия 1 участника) |
| Строка 1: |
Строка 1: |
| − | [[Category:Подключение платежных провайдеров]] | + | [[Category:Подключение_туроператоров]] |
| − | == Описание сервиса == | + | == SletatRu Provider API == |
| − | | + | Актуальная версия документации доступна по ссылке: https://static.sletat.ru/Files/api/SletatRu_Provider_API.pdf |
| − | Для интеграции со Слетать.ру нужно создать веб-сервис, который будет выполнять следующие задачи:
| + | |
| − | * Выгружать справочники: города вылета, страны, курорты, отели и т.д.
| + | |
| − | * Осуществлять параметризованный поиск цен
| + | |
| − | * Актуализировать выбранный тур по его идентификатору
| + | |
| − | | + | |
| − | '''Для упрощения, сервис можно представить веб-страничкой, которая принимает GET или POST параметры и выдаёт ответ в формате XML (не SOAP).'''
| + | |
| − | | + | |
| − | Для всех методов сервиса должен использоваться один адрес. Например, если вы реализуете сервис по адресу: http://mysite.com/services/sletatru.xml , то этот адрес должен быть общим для всех запросов.
| + | |
| − | | + | |
| − | Примеры:
| + | |
| − | * http://mysite.com/services/sletatru.xml?action=GetCountries – запрос списка стран
| + | |
| − | * http://mysite.com/services/sletatru.xml?action=GetDepartCities – запрос списка городов вылета
| + | |
| − | | + | |
| − | Выдача результатов должна быть в формате XML, для каждого метода описан формат.
| + | |
| − | | + | |
| − | Для корневого элемента в результате должен быть указан атрибут version с указанием версии протокола. Атрибут нужен для определения версии провайдера туров сервисом Слетать.ру.
| + | |
| − | | + | |
| − | Пример:
| + | |
| − | <getCountriesResult version="1.0">
| + | |
| − | ...
| + | |
| − | </getCountriesResult>
| + | |
| − | Данный документ описывает версию прокола 1.0.
| + | |
| − | | + | |
| − | Все методы должны возвращать XML в кодировке UTF-8.
| + | |
| − | | + | |
| − | Все параметры запросов, не помеченные как обязательные, являются необязательными только для стороны, формирующей запрос. '''Для серверной стороны обработка всех полученных параметров запроса обязательна.'''
| + | |
| − | | + | |
| − | Результат выполнения запросов (поискового в частности) должен строго соответствовать указанным параметрам. Если параметр не обязателен и не указан, запрос его не учитывает и возвращает все варианты.
| + | |
| − | | + | |
| − | Пул IP адресов, с которых сервис Слетать.ру будет обращаться к реализуемому провайдеру туров уточняется отдельно. Для его уточнения необходимо написать на support@sletat.ru
| + | |
| − | | + | |
| − | == Дополнительные требования к сервису ==
| + | |
| − | | + | |
| − | Максимально допустимое время при работе с любым методом сервиса не должно превышать 30 секунд. Рекомендуемая скорость ответов (в том числе для метода выдачи туров) до 5 секунд. Если какой-либо метод вернёт результат за период более 30 секунд, то сервис Слетать.ру не обработает эти данные.
| + | |
| − | | + | |
| − | Любой метод реализуемого сервиса может быть вызван одновременно различными потоками. Поэтому в реализации методов не должно быть блокировок, синхронизирующих доступ к методам. Метод выдачи туров должен поддерживать параллельное выполнение нескольких поисковых запросов.
| + | |
| − | | + | |
| − | Количество запросов в сутки к реализуемому сервису уточняется отдельно и зависит от следующих параметров:
| + | |
| − | | + | |
| − | * количества и популярности направлений туроператора
| + | |
| − | * количества городов вылета
| + | |
| − | * количества поисковых запросов в сервисе Слетать.ру
| + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | Банк Русский Стандарт потребует от вас подготовить запрос на SSL сертификат, где CN="Merchant ID" (CN – Common Name). Merchant ID присваивается после регистрации договора.
| + | |
| − | | + | |
| − | Данный сертификат применяется для установки подключения к серверу ECOMM (банк Русский Стандарт) и идентификации вашего турагентства как торговца (ТСП) в системе ECOMM при обработке платежных операций (переход к платежной странице банка, авторизация денежных средств, отмена авторизации денежных средств, возврат денежных средств, запрос статуса о транзакции и прочее).
| + | |
| − | | + | |
| − | Формирование такого запроса и последующее его использование в личном кабинете Слетать.Ру — довольно сложная процедура, и ниже мы приводит инструкцию, как подготовить такой запрос на получение сертификата и что делать дальше после его получения от банка.
| + | |
| − | | + | |
| − | === Установка пакета open SSL ===
| + | |
| − | Скачайте утилиту для работы с SSL с сайта
| + | |
| − | | + | |
| − | http://gnuwin32.sourceforge.net/packages/openssl.htm
| + | |
| − | | + | |
| − | и установить ее на вашем компьютере.
| + | |
| − | | + | |
| − | === Генерация приватного ключа ===
| + | |
| − | [[File:tieto-1.png|thumb]]
| + | |
| − | Для создания приватного ключа для доступа к SSL-сертификату (файл с расширением .KEY) выполните команду:
| + | |
| − | openssl genrsa -out privateKey.key 2048
| + | |
| − | | + | |
| − | где:
| + | |
| − | * privateKey.key – ваш уникальный приватный ключ, который вы должны хранить в секрете;
| + | |
| − | | + | |
| − | === Запрос на получение SSL-сертификата от банка ===
| + | |
| − | Вы должны получить сгенерированный банком SSL-сертификат (keystore, файл с расширением .CRT или .PEM).
| + | |
| − | | + | |
| − | Для этого необходимо подготовить запрос на SSL сертификат в формате *.CSR, где CN="Merchant ID".
| + | |
| − | | + | |
| − | Merchant ID, как правило, присваивается после регистрации договора.
| + | |
| − | | + | |
| − | Для формирования запроса в формате *.CSR вам нужно выполнить следующую команду:
| + | |
| − | [[File:tieto-2.png|thumb]]
| + | |
| − | openssl req -new -key privateKey.key -out request.csr
| + | |
| − | | + | |
| − | где:
| + | |
| − | * privateKey.key – Ваш уникальный приватный ключ, который вы должны хранить в секрете;
| + | |
| − | * request.csr – файл запроса, который должен быть отправлен в банк Русский Стандарт;
| + | |
| − | | + | |
| − | Обратите внимание, что ваш MerchantID вводится в поле Common Name:
| + | |
| − | [[File:tieto-3.png|thumb]]
| + | |
| − | | + | |
| − | Если при выполнении команды вы получаете ошибку: Unable to load config info from /usr/local/ssl/openssl.cnf (в случае, если вы работаете под Windows), то команду следует вызвать с параметром:
| + | |
| − | | + | |
| − | -config "путь к файлу конфигурации openssl.cnf"
| + | |
| − | | + | |
| − | например, этот файл может быть расположен в подкаталоге /share/ каталога, где был установлен пакет openssl при установке:
| + | |
| − | | + | |
| − | openssl req -new -key privateKey.key -out request.csr -config "C:\.OpenSSL\share\openssl.cnf"
| + | |
| − | | + | |
| − | Обратите внимание на кавычки для указания пути к файлу openss.cnf. Если вы установили OpenSSL в каталог C:\Program Files, то такой путь будет содержать пробел, и в случае указания пути к файлу конфигурации без кавычек, такая команда приведет к ошибке.
| + | |
| − | | + | |
| − | === Реализуемые методы ===
| + | |
| − | | + | |
| − | После отправки файла request.csr в банк вы получите от него SSL-сертификат — файл с расширением .CRT или .PEM, например, certificate.CRT, или файл в формате <MerchantID>.PEM
| + | |
| − | | + | |
| − | Этот сертификат будет в дальнейшем использоваться для установки подключения к серверу ECOMM и идентификации торговца в системе ECOMM при запросе TRANSACTION_ID.
| + | |
| − | | + | |
| − | Дополнительно запросите от банка адрес сервиса платёжного центра банка (в случае, если вам его не предоставили).
| + | |
| − | | + | |
| − | В тестовом режиме обычно используется следующий адрес:
| + | |
| − | | + | |
| − | https://testsecurepay.rsb.ru:9443/ecomm2/MerchantHandler
| + | |
| − | | + | |
| − | В рабочем режиме этот адрес будет другой (скорее всего, просто без указания «test»).
| + | |
| − | | + | |
| − | То же самое относится и к адресу платёжной страницы банка, на которой клиенты будут производить оплату.
| + | |
| − | | + | |
| − | В тестовом режиме используется адрес:
| + | |
| − | | + | |
| − | https://testsecurepay.rsb.ru/ecomm2/ClientHandler?trans_id=
| + | |
| − | | + | |
| − | но он может отличаться от того адреса, который вы должны получить из ваших настроек интеграции как для тестового режима, так и для рабочего. (Скорее всего, в рабочем или «боевом» режиме, этот адрес будет без указания «test»)
| + | |
| − | | + | |
| − | На данном этапе от банка Русский Стандарт вы уже все получили. Все последующие операции требуются для настройки платежного провайдера в личном кабинете Слетать.Ру в разделе «Настройки» по указанному адресу:
| + | |
| − | | + | |
| − | https://sletat.ru/workspace/billingsettings.aspx.
| + | |
| − | | + | |
| − | === Раздел «Настройки платежного провайдера» ===
| + | |
| − | [[File:tieto-4.png|thumb]]
| + | |
| − | Укажите описанные в предыдущем разделе адреса в разделе настроек платежного провайдера. Для этого перейдите к странице настроек платежного провайдера в личном кабинете Слетать.Ру по адресу:
| + | |
| − | | + | |
| − | https://sletat.ru/workspace/billingsettings.aspx.
| + | |
| − | | + | |
| − | Выберите платежного провайдера:
| + | |
| − | [[File:tieto-5.png|thumb]]
| + | |
| − | Список настроек должен обновиться, и вам будут доступны поля для указания адресов сервиса платежного центра банка и платежной страницы банка.
| + | |
| − | | + | |
| − | === Генерация публичного сертификата ===
| + | |
| − | | + | |
| − | После отправки файла request.csr в банк вы получите от него SSL сертификат – файл с расширением .CRT или .PEM, например, certificate.CRT, или файл в формате <MerchantID>.PEM
| + | |
| − | | + | |
| − | Сгенерируйте публичный сертификат (файл с расширением .PFX), который можно предоставить в компанию Слетать.Ру без риска потери вашего приватного ключа, который используется для его генерации.
| + | |
| − | | + | |
| − | Для этого необходимо выполнить следующую команду (также используя ранее установленный пакет OpenSSL):
| + | |
| − | | + | |
| − | openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt
| + | |
| − | | + | |
| − | [[File:tieto-6.png|thumb]]
| + | |
| − | где:
| + | |
| − | * certificate.crt – SSL-сертификат, выданный банком (в качестве ответа на ваш файл запроса request.csr на сертификат);
| + | |
| − | * privateKey.key – файл, содержащий приватный ключ компании ТСП;
| + | |
| − | * certificate.pfx – публичный сертификат, который нужно использовать для подключения к банку Русский Стандарт, используя шлюз компании Слетать.Ру;
| + | |
| − | | + | |
| − | Файл certificate.PFX вы получите в процессе выполнения этой команды.
| + | |
| − | | + | |
| − | Важно: в процессе генерации публичного сертификата НЕ указывайте какой-либо пароль;
| + | |
| − | | + | |
| − | Важно: при генерации публичного сертификата вы можете получить такое сообщение:
| + | |
| − | | + | |
| − | No certificate matches private key
| + | |
| − | [[File:tieto-7.png|thumb]]
| + | |
| − | Это сообщение означает, что полученный от банка Русский Стандарт SSL сертификат не соответствует вашего приватному ключу. Проверить это предположение можно воспользовавшись следующим сервисом:
| + | |
| − | https://www.sslshopper.com/certificate-key-matcher.html
| + | |
| − | | + | |
| − | Введите содержимое присланного SSL-сертификата (файл с раширением .pem или .crt) в первое поле.
| + | |
| − | | + | |
| − | Введите содержимое вашего приватного ключа (файл с раширением .key) во второе поле.
| + | |
| − | [[File:tieto-8.png|thumb]]
| + | |
| − | [[File:tieto-9.png|thumb]]
| + | |
| − | | + | |
| − | Если файлы действительно соответствуют друг другу, то увидим следующее сообщение:
| + | |
| − | | + | |
| − | В противном случае вы увидите следующее:
| + | |
| − | | + | |
| − | Если файл приватного ключа и присланный SSL сертификат не соответствуют друг другу, вам необходимо убедиться в том, что для генерации файла запроса вы использовали именно текущий приватный ключ.
| + | |
| − | После этого вам необходимо обратиться в банк Русский Стандарт с сообщением о том, что сгенерированный их специлистами SSL сертификат не соответствует вашему приватному ключу.
| + | |
| − | | + | |
| − | === Получение строки Base64 ===
| + | |
| − | Для получения строки Base64, которая будет использоваться в настройках провайдера, можно использовать следующий адрес:
| + | |
| − | http://www.motobit.com/util/base64-decoder-encoder.asp
| + | |
| − | | + | |
| − | На данном ресурсе нужно загрузить полученный файл certificate.pfx (из предыдущего шага) и получить строку в формате Base64, будет получена строка приблизительно следующего содержания:
| + | |
| − | | + | |
| − | MIIJuQIBAzCCCX8GCSqGSIb3DQEHAaCCCXAEgglsMIIJaDCCBB8GCSqGSIb3DQEHBqCCBBAwggQMAgEAMIIEBQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQINg0RFOnnLEACAggAgIID2E3oeIA0...
| + | |
| − | ....
| + | |
| − | ....
| + | |
| − | AggA
| + | |
| − | | + | |
| − | Полученная строка вводится в поле «Сертификат» на странице настроек платежного провайдера в личном кабинете Слетать.Ру по адресу:
| + | |
| − | https://sletat.ru/workspace/billingsettings.aspx.:
| + | |
| − | [[File:tieto-10.png|thumb]]
| + | |
| − | | + | |
| − | === Время закрытия бизнес-дня ===
| + | |
| − | | + | |
| − | Бизнес-день завершается при проведении сверки итогов, затем формируется электронный журнал для указанного ТСП в рамках системы платежного центра банка Русский Стандарт. Данная операция должна выполняться на регулярной основе (обычно раз в день). Платежные операции попадают в обработку и предоставляются к расчету согласно внутреннему регламенту обработки Банка только после закрытия бизнес-дня торговцем.
| + | |
| − | | + | |
| − | Вы можете указать конкретное время закрытия бизнес-дня в настройках провайдера, например так, как показано на скриншоте.
| + | |
| − | [[File:tieto-11.png|thumb]]
| + | |
| − | | + | |
| − | == Реализуемые методы ==
| + | |
| − | | + | |
| − | Обратите внимание, что для полной настройки процесса онлайн-продаж вам также необходимо настроить SMS и Email оповещения в разделе https://sletat.ru/workspace/billingsettings.aspx?tab=notifications, а также указать настройки своей почты в разделе «Настройки SMTP» - https://sletat.ru/workspace/billingsettings.aspx?tab=smtp
| + | |
| − | | + | |
| − | Это необходимо для своевременного оповещения менеджеров вашей компании о новом online-заказе, а также о последующих оповещениях вашего клиента от имени вашей компании по email и SMS.
| + | |
| − | | + | |
| − | == Настройка платежной страницы ==
| + | |
| − | === Структура шаблона ===
| + | |
| − | После скачивания архива payment_page.zip (на текущий момент шаблон можно скачать по адресу http://static.sletat.ru/Files/templates/payment_page.zip ) его необходимо распаковать. После этого вам будут доступны для редактирования следующие подкаталоги и файлы:
| + | |
| − | | + | |
| − | [[File:tieto2-1.png|center|frame]]
| + | |
| − | | + | |
| − | Внимание: Структура подкаталогов должна быть строго определенная и не может быть изменена.
| + | |
| − | | + | |
| − | === Изменение шаблона ===
| + | |
| − | 1. Подкаталог 9290000000 необходимо переименовать, указав в качестве имени ваш MERCHANT ID, выданный банком. Таким образом, если ваш MERCHANT ID - 9290101010, то после переименования структура подкаталогов должна выглядеть так:
| + | |
| − | | + | |
| − | [[File:tieto2-2.png|center|frame]]
| + | |
| − | | + | |
| − | 2. Открыть файл cardinfo.html в notepad.exe (или в любом другом текстовом редакторе). После открытия файла вы должны увидеть следующее:
| + | |
| − | | + | |
| − | [[File:tieto2-3.png|center|frame]]
| + | |
| − | | + | |
| − | Обратите внимание, что в тексте присутствует прежнее название переименованного каталога: 9290000000.
| + | |
| − | | + | |
| − | Необходимо все такие строки переименовать в наше новое значение – полученный от банка MERCHANT ID. В notepad.exe это можно выполнить, вызвав команду меню
| + | |
| − | Правка – Заменить:
| + | |
| − | | + | |
| − | [[File:tieto2-4.png|center|frame]]
| + | |
| − | | + | |
| − | Укажите в качестве нового значения ваш (присвоенный банком «Русский Стандарт») MERCHANT ID. В нашем примере это будет выглядеть так:
| + | |
| − | | + | |
| − | [[File:tieto2-5.png|center|frame]]
| + | |
| − | | + | |
| − | После выполнения команды «Заменить все» наш текст будет выглядеть примерно так:
| + | |
| − | | + | |
| − | [[File:tieto2-6.png|center|frame]]
| + | |
| − | | + | |
| − | 3. После выполнения предыдущих операций, если вы откроете файл cardinfo.html в браузере (Internet Explorer, Firefox, Opera или любой другой), то ваш шаблон платежной страницы будет выглядеть следующим образом:
| + | |
| − | | + | |
| − | [[File:tieto2-7.png|center|frame]]
| + | |
| − | | + | |
| − | 4. Все, что осталось нам сделать – это применить по центру изображение логотипа вашей компании.
| + | |
| − | Для этого необходимо заменить файл your_logo_here.jpg (находится по пути \template\<ваш MERCHANT ID>\img) на файл с логотипом вашей компании:
| + | |
| − | | + | |
| − | [[File:tieto2-8.png|center|frame]]
| + | |
| − | | + | |
| − | Также вы можете указать любой другой файл изображения, поместив его в подкаталог \img и изменив в тексте файла cardinfo.html ссылку на этой изображение, например, так:
| + | |
| − | | + | |
| − | [[File:tieto2-9.png|center|frame]]
| + | |
| − | | + | |
| − | После сохранения шаблон с указанным изображением будет выглядеть, в случае нашего примера, вот так:
| + | |
| − | | + | |
| − | [[File:tieto2-10.png|center|frame]]
| + | |
| − | | + | |
| − | 5. После всех вышеперечисленных действий создаем архивный файл, содержащий наши файлы и подкаталоги, и отправляем этот архивный файл в банк «Русский Стандарт» с просьбой применить данный шаблон в качестве шаблона платежной страницы для вашего MERCHANT.
| + | |