Агентский API Оплата

Материал из Центр поддержки системы бронировании
Версия от 17:07, 1 декабря 2014; Елена Аристотелева (обсуждение | вклад) (Получение списка доступных способов оплаты)
Перейти к навигации Перейти к поиску

Подключение

Это сервис внутри Nemo, который предназначен для выполнения различных операций, относящихся к оплате заказов.

Для подключения к данной веб-службе необходимо открыть доступ нужному пользователю. Это можно сделать в разделе «Администрирование»«Веб-служба. Авторизация».

После добавления пользователя, ему будут присвоены Номер (ClientId) и API ключ клиента, которые нужно использовать для подключения.


Фиксация оплаты внешним запросом

Сервис предназначен для приема информации о получении оплаты и простановки статуса «Оплачено» для определенного заказа.

Сервис вызывается следующим образом: http://CLIENT_DOMAIN/index.php?go=payment/bill

Подпись запроса

Подпись sig сверяется c md5($booking_id.$secret)

$booking_id - Id заказа в системе Nemo,

$secret - значение настройки в разделе «Администрирование»«Настройки агентства»«Ключ безопасности для сервиса выставления оплаты и получения XML выгрузки»

Пример:

Если

booking_id: 263330
ключ безопасности: 12345

То

sig=md5(26333012345) = a439a4492131f4b866ed1a17d018d3a6

Для фиксации оплаты получается такая ссылка: http://CLIENT_DOMAIN/index.php?go=payment/bill&booking_id=263330&sig=a439a4492131f4b866ed1a17d018d3a6

Дополнительная информация в статье Интеграция


Получение списка доступных способов оплаты

WSDL находится по адресу: http://CLIENT_DOMAIN/wsdev/wsdl.php?version=1.0&for=PaymentInitialization

Для получения результата необходим параметр — «OrderId» — Id забронированного заказа, который необходимо оплатить.

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

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

Общий формат запроса / ответа поиска

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:InitPayment>
 5          <RequestBin>
 6             <Request>
 7                <OrderId>?</OrderId>
 8              <!--OrderId — Id забронированного заказа в системе Nemo--> 
 9                <!--Optional:--> 
10                <ReturnUrlToCatch>?</ReturnUrlToCatch> <!--необязательный--> 
11                <!--ReturnUrlToCatch - параметр, указывающий, что запрос идёт с мобильной платформы, значения: true / false-->
12                <!--Optional:--> 
13             </Request>
14             <Source>
15                <ClientId>?</ClientId>
16         <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".--> 
17                <APIKey>?</APIKey>
18          <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".--> 
19                <Language>?</Language>
20         <!--Language — язык, например: RU--> 
21                <Currency>?</Currency>
22         <!-- Currency — валюта, например: RUB, EUR--> 
23             </Source>
24          </RequestBin>
25       </ver:InitPayment>
26    </soapenv:Body>
27 </soapenv:Envelope>

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 2    <SOAP-ENV:Body>
 3       <ns1:InitPaymentResponse>
 4          <ResponseBin>
 5             <Response>
 6                <Gateways>
 7                   <Gateway>
 8                      <GatewayName>?</GatewayName>
 9                      <!--GatewayName — имя платежного шлюза. Например: Uniteller -->
10                      <PaymentCharge Currency="?">?</PaymentCharge>
11 	          <!--PaymentCharge — наценка, которая добавляется к заказу при оплате через данный шлюз, Currency — код валюты (из запроса)-->
12                      <RedirectUrl>?</RedirectUrl>
13                      <!--RedirectUrl — URL, перенаправляющий пользователя непосредственно на страницу оплаты через данный платежный шлюз-->
14                      <UrlToCatch>?</UrlToCatch>
15 	          <!--UrlToCatch — URL для перехвата и дальнейшей обработки в случае отправки запроса с мобильной платформы, ведущий на страницу заказа-->
16                   </Gateway>
17                </Gateways>
18             </Response>
19          </ResponseBin>
20       </ns1:InitPaymentResponse>
21    </SOAP-ENV:Body>
22 </SOAP-ENV:Envelope>


Примеры использования

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:InitPayment>
 5          <RequestBin>
 6             <Request>
 7                <OrderId>276965</OrderId>
 8                <ReturnUrlToCatch>true</ReturnUrlToCatch>
 9             </Request>
10             <Source>
11                <ClientId>---</ClientId>
12                <APIKey>---</APIKey>
13                <Language>RU</Language>
14                <Currency>RUB</Currency>
15             </Source>
16          </RequestBin>
17       </ver:InitPayment>
18    </soapenv:Body>
19 </soapenv:Envelope>

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 2    <SOAP-ENV:Body>
 3       <ns1:InitPaymentResponse>
 4          <ResponseBin>
 5             <Response>
 6                <Gateways>
 7                   <Gateway>
 8                      <GatewayName>Uniteller</GatewayName>
 9                      <PaymentCharge Currency="RUB">81.54</PaymentCharge>
10                      <RedirectUrl>http://CLIENT_DOMAIN/payment__select_outside?booking_id=276965&amp;one_time_booking_code=PZ7981&amp;method=27</RedirectUrl>
11                      <!--Пример ссылки-->
12                      <UrlToCatch>http://CLIENT_DOMAIN/poffice__bookinfo?&amp;booking_id=276965</UrlToCatch>
13                      <!--Пример ссылки-->
14                   </Gateway>
15                </Gateways>
16             </Response>
17          </ResponseBin>
18       </ns1:InitPaymentResponse>
19    </SOAP-ENV:Body>
20 </SOAP-ENV:Envelope>

См. также