Открыть главное меню

Изменения

Nemo web services payment integration for mobile apps

2200 байт добавлено, 13:36, 21 января 2015
Новая страница: «== Available web-services == Before sending payment transactions you have to create a successfull booking. Status of the order should be "booked". After that you …»
== Available web-services ==
Before sending payment transactions you have to create a successfull booking. Status of the order should be "booked". After that you can go to the payment.
There are three web services used in payment process:
* '''Payment initialization'''
WSDL address: http://CLIENT_DOMAIN/wsdev/wsdl.php?version=1.0&for=PaymentInitialization

Documentation: [[Agency_API._Payments#Getting_list_of_allowed_payment_gateways|Getting list of allowed payment gateways]]
* '''Selecting a payment method'''
WSDL address: http://CLIENT_DOMAIN/wsdev/wsdl.php?version=1.0&for=SelectPayment

Documentation: [[Agency_API._Payments#Selecting_a_payment_method|Selecting a payment method]]
* '''Order updating'''
WSDL address: http://CLIENT_DOMAIN/nemoflights/wsdl.php?version=1.0&for=UpdateBook

Documentation: [[Дополнительные_запросы_АПИ_авиабилетов#Запрос на обновление заказа|Order updating]]

== Payment workflow ==
Below there is the scheme of payment workflow.

[[Файл:Payment_workflow.png|760px|999px]]

== Description of the background order synchronization ==

There are two situations when this process should be run:

*Due to some reasons (lost internet connection, etc.) user was not redirected to UrlToCatch.
*Payment status of the order was not delivered yet from payment gateway to Nemo system and it is required additional in a few seconds or minutes.

Order synchronization is periodically sending UpdateBook request to get actual common and payment statuses.

<span style="background-color: rgb(255, 240, 245)"><span style="font-size: large"><span style="color: rgb(255, 0, 0)">!</span></span> '''Warning!''' Do not send this request very often. No more than one request per 3 minutes. Also do not send it infinitely while you do not get PaymentStatus=”fully_paid” and Status=”ticket”. Limit the total number of synchronization requests to some value.
There is a recommendation for periods of synchronization. Firstly send synchronization request 5 times for every 3 minutes. Then send request 6 times for every 10 minutes. If successfull statuses were not retrieved, you should terminate synchronization.
'