Агентский API Оплата: различия между версиями
(→См. также) |
|||
Строка 45: | Строка 45: | ||
WSDL находится по адресу: http://CLIENT_DOMAIN/wsdev/wsdl.php?version=1.0&for=PaymentInitialization | WSDL находится по адресу: http://CLIENT_DOMAIN/wsdev/wsdl.php?version=1.0&for=PaymentInitialization | ||
+ | На данный момент метод доступен для платежных шлюзов Юнителлер и Рапида. | ||
Для получения результата необходим параметр — «OrderId» — Id забронированного заказа, который необходимо оплатить. | Для получения результата необходим параметр — «OrderId» — Id забронированного заказа, который необходимо оплатить. | ||
Строка 50: | Строка 51: | ||
Данный запрос позволяет получить список платёжных шлюзов, через которые есть возможность оплатить указанный заказ. | Данный запрос позволяет получить список платёжных шлюзов, через которые есть возможность оплатить указанный заказ. | ||
По каждому платёжному шлюзу возвращается следующая информация: | По каждому платёжному шлюзу возвращается следующая информация: | ||
+ | * id способа оплаты | ||
* имя платежного шлюза | * имя платежного шлюза | ||
* дополнительную наценку, которая добавляется к заказу при проведении оплаты через данный шлюз | * дополнительную наценку, которая добавляется к заказу при проведении оплаты через данный шлюз | ||
Строка 104: | Строка 106: | ||
<Gateways> | <Gateways> | ||
<Gateway> | <Gateway> | ||
+ | <PaymentMethodId>?</PaymentMethodId> | ||
+ | <!--PaymentMethodId - ID способа оплаты. Необходим при использовании запроса SelectPayment (см. ниже)--> | ||
<GatewayName>?</GatewayName> | <GatewayName>?</GatewayName> | ||
<!--GatewayName — имя платежного шлюза. Например: Uniteller --> | <!--GatewayName — имя платежного шлюза. Например: Uniteller --> | ||
Строка 164: | Строка 168: | ||
<Gateways> | <Gateways> | ||
<Gateway> | <Gateway> | ||
+ | <PaymentMethodId>1075</PaymentMethodId> | ||
<GatewayName>Uniteller</GatewayName> | <GatewayName>Uniteller</GatewayName> | ||
<PaymentCharge Currency="RUB">81.54</PaymentCharge> | <PaymentCharge Currency="RUB">81.54</PaymentCharge> | ||
Строка 170: | Строка 175: | ||
<UrlToCatch>http://CLIENT_DOMAIN/poffice__bookinfo?&booking_id=276965</UrlToCatch> | <UrlToCatch>http://CLIENT_DOMAIN/poffice__bookinfo?&booking_id=276965</UrlToCatch> | ||
<!--Пример ссылки--> | <!--Пример ссылки--> | ||
+ | </Gateway> | ||
+ | <Gateway> | ||
+ | <PaymentMethodId>1079</PaymentMethodId> | ||
+ | <GatewayName>Rapida</GatewayName> | ||
+ | <PaymentCharge Currency="RUB">123</PaymentCharge> | ||
+ | <RedirectUrl/> | ||
+ | <UrlToCatch xsi:nil="true"/> | ||
</Gateway> | </Gateway> | ||
</Gateways> | </Gateways> | ||
Строка 180: | Строка 192: | ||
</div> | </div> | ||
</div> | </div> | ||
+ | |||
+ | '''Примечание:''' если параметр RedirectUrl в ответе отсутствует, для инициализации оплаты необходимо использовать метод SelectPayment. | ||
== См. также == | == См. также == |
Версия 17:50, 20 января 2015
Содержание
Подключение
Это сервис внутри 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 забронированного заказа, который необходимо оплатить.
Данный запрос позволяет получить список платёжных шлюзов, через которые есть возможность оплатить указанный заказ. По каждому платёжному шлюзу возвращается следующая информация:
- 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 <PaymentMethodId>?</PaymentMethodId>
9 <!--PaymentMethodId - ID способа оплаты. Необходим при использовании запроса SelectPayment (см. ниже)-->
10 <GatewayName>?</GatewayName>
11 <!--GatewayName — имя платежного шлюза. Например: Uniteller -->
12 <PaymentCharge Currency="?">?</PaymentCharge>
13 <!--PaymentCharge — наценка, которая добавляется к заказу при оплате через данный шлюз, Currency — код валюты (из запроса)-->
14 <RedirectUrl>?</RedirectUrl>
15 <!--RedirectUrl — URL, по которому происходит перенаправление пользователя непосредственно на страницу оплаты через данный платежный шлюз-->
16 <UrlToCatch>?</UrlToCatch>
17 <!--UrlToCatch — URL для перехвата и дальнейшей обработки в случае отправки запроса с мобильной платформы, ведущий на страницу заказа-->
18 </Gateway>
19 </Gateways>
20 </Response>
21 </ResponseBin>
22 </ns1:InitPaymentResponse>
23 </SOAP-ENV:Body>
24 </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 <PaymentMethodId>1075</PaymentMethodId>
9 <GatewayName>Uniteller</GatewayName>
10 <PaymentCharge Currency="RUB">81.54</PaymentCharge>
11 <RedirectUrl>http://CLIENT_DOMAIN/payment__select_outside?booking_id=276965&one_time_booking_code=PZ7981&method=27</RedirectUrl>
12 <!--Пример ссылки-->
13 <UrlToCatch>http://CLIENT_DOMAIN/poffice__bookinfo?&booking_id=276965</UrlToCatch>
14 <!--Пример ссылки-->
15 </Gateway>
16 <Gateway>
17 <PaymentMethodId>1079</PaymentMethodId>
18 <GatewayName>Rapida</GatewayName>
19 <PaymentCharge Currency="RUB">123</PaymentCharge>
20 <RedirectUrl/>
21 <UrlToCatch xsi:nil="true"/>
22 </Gateway>
23 </Gateways>
24 </Response>
25 </ResponseBin>
26 </ns1:InitPaymentResponse>
27 </SOAP-ENV:Body>
28 </SOAP-ENV:Envelope>
Примечание: если параметр RedirectUrl в ответе отсутствует, для инициализации оплаты необходимо использовать метод SelectPayment.