Агентский API Оплата: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Новая страница: «Раздел на стадии заполнения»)
 
Строка 1: Строка 1:
Раздел на стадии заполнения
+
== Подключение ==
 +
 
 +
Это сервис внутри Nemo, который предназначен для выполнения различных операций, относящихся к оплате заказов.
 +
Для подключения к данной веб-службе необходимо открыть доступ нужному пользователю.  Это можно сделать в разделе '''«Администрирование»''' ⇨ '''«Веб-служба. Авторизация»'''.
 +
После добавления пользователя, ему будут присвоены Номер (ClientId) и API ключ клиента, которые нужно использовать для подключения.
 +
 
 +
 
 +
== Фиксация оплаты внешним запросом ==
 +
 
 +
Сервис предназначен для приема информации о получении оплаты и простановки статуса '''«Оплачено»''' для определенного заказа.
 +
 
 +
Сервис вызывается следующим образом: http://CLIENT_DOMAIN/index.php?go=payment/bill
 +
 
 +
'''Подпись запроса'''
 +
 
 +
Подпись sig сверяется c md5($booking_id.$secret)
 +
 
 +
$booking_id - Id заказа в системе Nemo,
 +
 
 +
$secret - значение настройки в разделе '''«Администрирование»''' ⇨ '''«Настройки агентства»''' ⇨ '''''«Ключ безопасности для сервиса выставления оплаты и получения XML выгрузки»'''''
 +
 
 +
'''Пример:'''
 +
 
 +
<pre>
 +
Если
 +
 
 +
booking_id: 263330
 +
ключ безопасности: 12345
 +
 
 +
То
 +
 
 +
sig=md5(26333012345) = a439a4492131f4b866ed1a17d018d3a6
 +
</pre>
 +
 
 +
Для фиксации оплаты получается такая ссылка:
 +
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, ведущий на страницу заказа, предназначенный для перехвата и дальнейшей обработки
 +
 
 +
== Общий формат запроса / ответа поиска ==
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 +
==== Запрос ====
 +
<div class="mw-collapsible-content">
 +
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 +
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
      <ver:InitPayment>
 +
        <RequestBin>
 +
            <Request>
 +
              <OrderId>?</OrderId>
 +
            <!--OrderId — Id забронированного заказа в системе Nemo-->
 +
              <!--Optional:-->
 +
              <ReturnUrlToCatch>?</ReturnUrlToCatch> <!--необязательный-->
 +
              <!--ReturnUrlToCatch - параметр, указывающий, что запрос идёт с мобильной платформы, значения: true / false-->
 +
              <!--Optional:-->
 +
            </Request>
 +
            <Source>
 +
              <ClientId>?</ClientId>
 +
        <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе              "Администрирование" ? "Веб-служба. Авторизация".-->
 +
              <APIKey>?</APIKey>
 +
        <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе  "Администрирование" ? "Веб-служба. Авторизация".-->
 +
              <Language>?</Language>
 +
        <!--Language — язык, например: RU-->
 +
              <Currency>?</Currency>
 +
        <!-- Currency — валюта, например: RUB, EUR-->
 +
            </Source>
 +
        </RequestBin>
 +
      </ver:InitPayment>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 +
 
 +
==== Ответ ====
 +
<div class="mw-collapsible-content">
 +
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 +
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 +
  <SOAP-ENV:Body>
 +
      <ns1:InitPaymentResponse>
 +
        <ResponseBin>
 +
            <Response>
 +
              <Gateways>
 +
                  <Gateway>
 +
                    <GatewayName>?</GatewayName>
 +
                    <!--GatewayName — имя платежного шлюза. Например: Uniteller -->
 +
                    <PaymentCharge Currency="?">?</PaymentCharge>
 +
          <!--PaymentCharge — наценка, которая добавляется к заказу при оплате через данный шлюз, Currency — код валюты (из запроса)-->
 +
                    <RedirectUrl>?</RedirectUrl>
 +
                    <!--RedirectUrl — URL, перенаправляющий пользователя непосредственно на страницу оплаты через данный платежный шлюз-->
 +
                    <UrlToCatch>?</UrlToCatch>
 +
          <!--UrlToCatch — URL для перехвата и дальнейшей обработки в случае отправки запроса с мобильной платформы, ведущий на страницу заказа-->
 +
                  </Gateway>
 +
              </Gateways>
 +
            </Response>
 +
        </ResponseBin>
 +
      </ns1:InitPaymentResponse>
 +
  </SOAP-ENV:Body>
 +
</SOAP-ENV:Envelope>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 
 +
 
 +
== Примеры использования ==
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 +
==== Запрос ====
 +
<div class="mw-collapsible-content">
 +
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 +
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
      <ver:InitPayment>
 +
        <RequestBin>
 +
            <Request>
 +
              <OrderId>276965</OrderId>
 +
              <ReturnUrlToCatch>true</ReturnUrlToCatch>
 +
            </Request>
 +
            <Source>
 +
              <ClientId>---</ClientId>
 +
              <APIKey>---</APIKey>
 +
              <Language>RU</Language>
 +
              <Currency>RUB</Currency>
 +
            </Source>
 +
        </RequestBin>
 +
      </ver:InitPayment>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 +
 
 +
==== Ответ ====
 +
<div class="mw-collapsible-content">
 +
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 +
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/wsdev/?version%3D1.0%26for%3DPaymentInitialization">
 +
  <SOAP-ENV:Body>
 +
      <ns1:InitPaymentResponse>
 +
        <ResponseBin>
 +
            <Response>
 +
              <Gateways>
 +
                  <Gateway>
 +
                    <GatewayName>Uniteller</GatewayName>
 +
                    <PaymentCharge Currency="RUB">81.54</PaymentCharge>
 +
                    <RedirectUrl>http://CLIENT_DOMAIN/payment__select_outside?booking_id=276965&amp;one_time_booking_code=PZ7981&amp;method=27</RedirectUrl>
 +
                    <UrlToCatch>http://CLIENT_DOMAIN/poffice__bookinfo?&amp;booking_id=276965</UrlToCatch>
 +
                  </Gateway>
 +
              </Gateways>
 +
            </Response>
 +
        </ResponseBin>
 +
      </ns1:InitPaymentResponse>
 +
  </SOAP-ENV:Body>
 +
</SOAP-ENV:Envelope>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 
 +
 
 +
== См. также ==
 +
 
 +
*[[Агентский АПИ]]

Версия 15:39, 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                      <UrlToCatch>http://CLIENT_DOMAIN/poffice__bookinfo?&amp;booking_id=276965</UrlToCatch>
12                   </Gateway>
13                </Gateways>
14             </Response>
15          </ResponseBin>
16       </ns1:InitPaymentResponse>
17    </SOAP-ENV:Body>
18 </SOAP-ENV:Envelope>


См. также