Транзакция
Транзакция - в компьтерной терминологии совокупность операций для передачи авторизованного сообщения в виде кода. Главный закон транзакции заключается в том, что процесс обработки всегда приводит к одному из двух возможных результатов: успеху или провалу операции (промежуточное состояние исключено). Обработкой транзакций занимаются специализированные системы, имеющие условия для хранения информации о совершенных транзакциях.
Транзакция в Nemo
В терминологии Nemo транзакцией называется любое действие пользователя в производственной версии системы для следующих целей:
1. получение данных о расписании, наличии мест и цене на услуги;
2. создание новых ПНР;
3. аннуляция или модификация существующих ПНР.
Транзакции в платежном шлюзе Сирена
Взаимодействие с платежным шлюзом происходит в 3 этапа:
- создание транзакции;
- запрос о состоянии транзакции;
- подтверждение оплаты или возврат денег.
БСП- и ТКП-варианты оплаты
В данном платежном шлюзе возможны БСП- и ТКП-варианты оплаты. Техническое отличие в том, что при ТКП-варианте оплаты выписка билета происходит автоматически в Сирене и Nemo не инициирует выписку, а только получает информацию о выписанных билетах. Это происходит при попытке выписки со стороны Nemo.
Создание транзакции
При создании транзакции определяется компонент бронирования и составляется соответствующее описание заказа. Описание заказа существенно только для авиаперевозок. Также, если компонент бронирования - авиаперевозки, определяется, возможен ли ТКП-сеанс оплаты (через e-commerce ТКП) для данного авиаперелета и используются соответствующие реквизиты. Если ТКП-оплата возможна, но не задан реквизит «Идентификатор магазина TKP», используется реквизит «Идентификатор магазина BSP». При отсутствии ключевых реквизитов (Идентификатор магазина BSP, Логин, Пароль ) запрос не будет отправлен и появится соответствующая ошибка.
Запрос о состоянии транзакции
Данный запрос повторяется по расписанию раз в 5 минут с момента создания транзакции в Сирене, а так же по факту перенаправления пользователя Сиреной в Nemo. При создании транзакции указывается время ее жизни. Соответственно, после истечения этого времени или по факту оплаты или отмены платежа состояние транзакции фиксируется в Nemo и запросы прекращаются.
Подтверждение платежа
Запрос на подтверждение отправляется системой Nemo в автоматическом режиме. Для авиаперелетов - после выписки билета в Nemo. Для всех остальных компонентов - либо сразу после успешного запроса о статусе транзакции (для прямой оплаты) или после бронирования (для предоплаты). Для авиаперелетов в случае ошибки при отправке запроса или получения недостаточных данных запрос ставится в очередь и повторяется раз в сутки. Для остальных компонентов запрос ставится в очередь только после получения ошибки на него со стороны Сирены.
См. также: ПНР, чрезмерные транзакции, Платежный шлюз, Настройки платежного шлюза Сирена, Монета.ру