ПОДПИСЫВАЙТЕСЬ НА НАШ ТЕЛЕГРАМ-КАНАЛ @nemo_travel_official

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

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Запрет на выписку неоплаченных заказов по АПИ для субагента)
м (Возможные ошибки в результате выполнения запроса.)
 
(не показано 17 промежуточных версий 6 участников)
Строка 1: Строка 1:
 +
[[Категория:Интеграция]]
 +
[[Категория:Агентский API]]
 
== Подключение ==
 
== Подключение ==
  
Строка 5: Строка 7:
 
Для подключения к данной веб-службе необходимо открыть доступ нужному пользователю.  Это можно сделать в разделе «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)»<!--{{Menu|Настройки системы|Интеграция|Nemo 1.0 (SOAP API)}}-->.
 
Для подключения к данной веб-службе необходимо открыть доступ нужному пользователю.  Это можно сделать в разделе «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)»<!--{{Menu|Настройки системы|Интеграция|Nemo 1.0 (SOAP API)}}-->.
  
После добавления пользователя, ему будут присвоены Номер (ClientId) и API ключ клиента, которые нужно использовать для подключения.
+
После добавления пользователя ему будут присвоены Номер (ClientId) и API ключ клиента, которые нужно использовать для подключения.
 
 
== Фиксация оплаты внешним запросом ==
 
 
 
Сервис предназначен для приема информации о получении оплаты и простановки статуса «Оплачено» для определенного заказа.
 
 
 
Сервис вызывается следующим образом: http://CLIENT_DOMAIN/index.php?go=payment/bill
 
 
 
=== Подпись запроса ===
 
 
 
Подпись <syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">sig</syntaxhighlight> сверяется c <syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">md5($booking_id.$secret)</syntaxhighlight>
 
 
 
<syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">$booking_id</syntaxhighlight> — ID заказа в системе {{NameSystem}},
 
 
 
<syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">$secret</syntaxhighlight> — значение настройки в разделе «Управление сайтом» → «Домены и протоколы» в поле {{Setting|Ключ безопасности для сервиса выставления оплаты и получения XML выгрузки}}.
 
 
 
Для отправки запроса используется метод GET. В ответ на запрос будет получена строка вида: ''«Заказ был оплачен по транзакции 117892581 на сумму 3600RUB».''
 
 
 
Возможные ошибки:
 
*Введите корректные billing_id / booking_id
 
*Доступ заблокирован
 
*Не совпала контрольная сумма
 
*Заказ не требует оплаты
 
 
 
'''Пример:'''
 
 
 
<pre>
 
Если
 
 
 
booking_id: 263330
 
ключ безопасности: 12345
 
 
 
То
 
 
 
sig=md5(26333012345) = a439a4492131f4b866ed1a17d018d3a6
 
</pre>
 
 
 
Для фиксации оплаты получается такая ссылка:
 
http://CLIENT_DOMAIN/index.php?go=payment/bill&booking_id=263330&sig=a439a4492131f4b866ed1a17d018d3a6
 
 
 
Дополнительная информация в статье [[Интеграция]]
 
  
 
==  Получение списка доступных способов оплаты ==
 
==  Получение списка доступных способов оплаты ==
Строка 52: Строка 14:
 
На данный момент метод доступен для платежных шлюзов Юнителлер и Рапида.
 
На данный момент метод доступен для платежных шлюзов Юнителлер и Рапида.
  
Для получения результата необходим параметр «OrderId» — ID забронированного заказа, который необходимо оплатить.  
+
Для получения результата необходим параметр «OrderId» — ID забронированного заказа, который необходимо оплатить.  
  
 
Данный запрос позволяет получить список платёжных шлюзов, через которые есть возможность оплатить указанный заказ.
 
Данный запрос позволяет получить список платёжных шлюзов, через которые есть возможность оплатить указанный заказ.
Строка 60: Строка 22:
 
* дополнительную наценку, которая добавляется к заказу при проведении оплаты через данный шлюз
 
* дополнительную наценку, которая добавляется к заказу при проведении оплаты через данный шлюз
 
* URL, перенаправляющий пользователя непосредственно на страницу оплаты через данный платёжный шлюз
 
* URL, перенаправляющий пользователя непосредственно на страницу оплаты через данный платёжный шлюз
* в случае отправки запроса с мобильной платформы может дополнительно возвращается URL, на который происходит перенаправление пользователя для оплаты
+
* в случае отправки запроса с мобильной платформы может дополнительно возвращаться URL, на который происходит перенаправление пользователя для оплаты
  
== Общий формат запроса / ответа ==
+
=== Общий формат запроса / ответа ===
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
Строка 136: Строка 98:
 
</div>
 
</div>
  
== Примеры использования ==
+
=== Примеры использования ===
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
Строка 230: Строка 192:
 
Запрос позволяет выбрать конкретный способ оплаты и получить платежный код для оплаты заказа, таймлимит на оплату и описание, заданное в настройках ПШ Рапида (содержимое поля "Сообщение пользователю").
 
Запрос позволяет выбрать конкретный способ оплаты и получить платежный код для оплаты заказа, таймлимит на оплату и описание, заданное в настройках ПШ Рапида (содержимое поля "Сообщение пользователю").
  
== Общий формат запроса / ответа ==
+
=== Общий формат запроса / ответа ===
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
Строка 307: Строка 269:
 
</div>
 
</div>
  
== Примеры использования ==
+
=== Примеры использования ===
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
Строка 393: Строка 355:
 
==Фиксации оплаты через Агентский АПИ==
 
==Фиксации оплаты через Агентский АПИ==
  
Сервис предназначен для фиксации оплаты в заказе. Важно учесть, что фиксация оплаты станет доступна только при условии, что IP-адрес пользователя совпадает с IP-адресом, указанным в настройке Допустимые IP-адреса для выписки без оплаты или фиксации оплаты. Если IP-адрес не указан или не совпадает, произойдет блокировка оплаты.  
+
Сервис предназначен для фиксации оплаты в заказе. Фиксация оплаты доступна, если IP-адрес пользователя совпадает с IP-адресом, указанным в настройке '''Допустимые IP-адреса для выписки без оплаты или фиксации оплаты''' (раздел '''Настройки системы → Интеграция → Nemo 1.0 (SOAP API)'''). Если IP-адрес не указан или не совпадает, произойдет блокировка оплаты.  
 
Сервис вызывается следующим образом: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=PayOrder
 
Сервис вызывается следующим образом: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=PayOrder
  
Строка 402: Строка 364:
 
* название платежного шлюза - ''Deposit'' или номер ПШ в системе Nemo.  
 
* название платежного шлюза - ''Deposit'' или номер ПШ в системе Nemo.  
 
Доступ к оплате имеет только пользователь, у которого есть на это права, а именно:
 
Доступ к оплате имеет только пользователь, у которого есть на это права, а именно:
* ClientId и APIKey должны быть менеджера или эксперта субагентства
+
* Пользователь должен иметь доступ к указанной в запросе платежной системе
 
* IP адрес пользователя должен соответствовать адресу, указанному в настройке Допустимые ip-адреса для выписки без оплаты или фиксации оплаты
 
* IP адрес пользователя должен соответствовать адресу, указанному в настройке Допустимые ip-адреса для выписки без оплаты или фиксации оплаты
 +
API пользователи, относящиеся к компаниям или субагентствам, не могут выполять выписку до проведения оплаты
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
Строка 420: Строка 383:
 
         <!--BookID — Id забронированного заказа в системе Nemo-->
 
         <!--BookID — Id забронированного заказа в системе Nemo-->
 
               <PaymentGateway>?</PaymentGateway>
 
               <PaymentGateway>?</PaymentGateway>
         <!--PaymentGateway — Название платежного шлюза идентификатор ПШ в системе Nemo - Deposit/1880 -->
+
         <!--PaymentGateway — Либо название платежного шлюза, например: Deposit, либо идентификатор ПШ в системе Nemo, например: 1880 -->
 
               </PayOrder>
 
               </PayOrder>
 
         </Request>
 
         </Request>
Строка 621: Строка 584:
 
                                     fully_paid — оплачено, полностью-->
 
                                     fully_paid — оплачено, полностью-->
 
         <Travellers/>
 
         <Travellers/>
 +
                <AutoCancelDate>?</AutoCancelDate>
 +
                  <!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
 +
                  <TimeLimits>
 +
                    <TicketingTimeLimit>?</TicketingTimeLimit>
 +
                    <!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <PriceTimeLimit>?</PriceTimeLimit>
 +
                    <!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
 +
                    <!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <AgencyTimeLimit>?</AgencyTimeLimit>
 +
                    <!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                  </TimeLimits>
 
       </PayOrder>
 
       </PayOrder>
    </Response>
+
    </Response>
 
   </ResponseBin>
 
   </ResponseBin>
 
</ns1:PayOrderResponse>
 
</ns1:PayOrderResponse>
Строка 631: Строка 606:
 
</div>
 
</div>
  
====Возможные ошибки в результате выполнения запроса.====
+
===Возможные ошибки в результате выполнения запроса.===
  
 
При выполнения запроса возможны следующие ошибки:
 
При выполнения запроса возможны следующие ошибки:
  
* ''Deposit gateway is not available for this order'' -  оплата проводится под пользователем не имеющим на это прав.
+
* ''Deposit gateway is not available for this order'' -  оплата проводится под пользователем, не имеющим на это прав.
 
* ''You have not enough money to pay'' - недостаточно средств на депозитном счету для оплаты. При получении такой ошибки отправляется уведомление на почтовый адрес в профиле компании, указанный в настройке ''Адрес электронной почты''.  
 
* ''You have not enough money to pay'' - недостаточно средств на депозитном счету для оплаты. При получении такой ошибки отправляется уведомление на почтовый адрес в профиле компании, указанный в настройке ''Адрес электронной почты''.  
 
* ''Price to pay(X) is greater than in request'' - стоимость к оплате выше чем указана в запросе.
 
* ''Price to pay(X) is greater than in request'' - стоимость к оплате выше чем указана в запросе.
Строка 647: Строка 622:
 
Субагентам выписка по АПИ доступна только в том случае, если заказ ''имеет статус оплаты''. В противном случае выписка блокируется.  
 
Субагентам выписка по АПИ доступна только в том случае, если заказ ''имеет статус оплаты''. В противном случае выписка блокируется.  
  
Выписка заказов, ''не имеющих статуса оплаты'', доступна только менеджеру корневого агентства. Для успешной операции IP-адрес менеджера должен совпадать с IP-адресом параметра ''Допустимые IP-адреса для выписки без оплаты или фиксации оплаты''.
+
Выписка заказов, ''не имеющих статуса оплаты'', доступна только менеджеру корневого агентства. Для успешной операции IP-адрес менеджера должен совпадать с IP-адресом параметра '''Допустимые IP-адреса для выписки без оплаты или фиксации оплаты''' в разделе '''Настройки системы → Интеграция → Nemo 1.0 (SOAP API)'''.
  
 
== См. также ==
 
== См. также ==
* [[Агентский АПИ]]
+
* [[Агентский API Авиабилеты]]
 
* [[Agency API. Payments]]
 
* [[Agency API. Payments]]

Текущая версия на 15:52, 5 декабря 2018

Подключение

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

Для подключения к данной веб-службе необходимо открыть доступ нужному пользователю. Это можно сделать в разделе «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».

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

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

WSDL находится по адресу: http://CLIENT_DOMAIN/wsdev/wsdl.php?version=1.0&for=PaymentInitialization На данный момент метод доступен для платежных шлюзов Юнителлер и Рапида.

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

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

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

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

развернуть

Запрос

развернуть

Ответ

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

развернуть

Запрос

развернуть

Ответ

развернуть

Ответ с ошибкой

Примечание: если параметр RedirectUrl в ответе отсутствует, для инициализации оплаты необходимо использовать метод SelectPayment.

Выбор конкретного способа оплаты

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

На данный момент этот веб-метод доступен только для платежного шлюза Рапида.

Запрос позволяет выбрать конкретный способ оплаты и получить платежный код для оплаты заказа, таймлимит на оплату и описание, заданное в настройках ПШ Рапида (содержимое поля "Сообщение пользователю").

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

развернуть

Запрос

развернуть

Ответ

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

развернуть

Запрос

развернуть

Ответ

развернуть

Ответ с ошибкой

Фиксации оплаты через Агентский АПИ

Сервис предназначен для фиксации оплаты в заказе. Фиксация оплаты доступна, если IP-адрес пользователя совпадает с IP-адресом, указанным в настройке Допустимые IP-адреса для выписки без оплаты или фиксации оплаты (раздел Настройки системы → Интеграция → Nemo 1.0 (SOAP API)). Если IP-адрес не указан или не совпадает, произойдет блокировка оплаты. Сервис вызывается следующим образом: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=PayOrder

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

В запросе необходимо указать:

  • номер заказа в системе Nemo, по которому производится оплата,
  • название платежного шлюза - Deposit или номер ПШ в системе Nemo.

Доступ к оплате имеет только пользователь, у которого есть на это права, а именно:

  • Пользователь должен иметь доступ к указанной в запросе платежной системе
  • IP адрес пользователя должен соответствовать адресу, указанному в настройке Допустимые ip-адреса для выписки без оплаты или фиксации оплаты

API пользователи, относящиеся к компаниям или субагентствам, не могут выполять выписку до проведения оплаты

развернуть

Запрос

развернуть

Ответ

Возможные ошибки в результате выполнения запроса.

При выполнения запроса возможны следующие ошибки:

  • Deposit gateway is not available for this order - оплата проводится под пользователем, не имеющим на это прав.
  • You have not enough money to pay - недостаточно средств на депозитном счету для оплаты. При получении такой ошибки отправляется уведомление на почтовый адрес в профиле компании, указанный в настройке Адрес электронной почты.
  • Price to pay(X) is greater than in request - стоимость к оплате выше чем указана в запросе.
  • Internal Error: Invalid BookID - не указан id заказа.
  • Internal Error: Object not found - не найден заказ с указанным id.
  • Internal Error: Invalid gateway name - не указан id платежного шлюза или его название.
  • Gateway XXX is not available for this order - платежный шлюз недоступен для оплаты.

Запрет на выписку неоплаченных заказов по АПИ для субагента

Субагентам выписка по АПИ доступна только в том случае, если заказ имеет статус оплаты. В противном случае выписка блокируется.

Выписка заказов, не имеющих статуса оплаты, доступна только менеджеру корневого агентства. Для успешной операции IP-адрес менеджера должен совпадать с IP-адресом параметра Допустимые IP-адреса для выписки без оплаты или фиксации оплаты в разделе Настройки системы → Интеграция → Nemo 1.0 (SOAP API).

См. также