Для систем продажи авиабилетов предусмотрена возможность передать в авторизационном запросе дополнительные поля с информацией о полете. Информация о полете используется для формирования расширенной записи, отсылаемой в банк. Минимальные банковские требования к информации о полете — имя авиакомпании, код агента, дата отправления, номер билета.
Алгоритм работы системы заказа билетов должен строиться по следующей схеме:
Возможные дополнительные параметры для систем продажи авиабилетов, которые следует передавать в авторизационном запросе вместе с основными параметрами платежа, приведены в нижеследующей таблице.
Дополнительные параметры авторизационного запроса:
Название | Обязательное поле | Принимаемые значения | Описание |
PLAN_MOUNTH | Нет | 2 цифры “00”,“01”, …,“12” | Номер плана — количество месяцев, в течение которых возможна отсроченная оплата. 0 — если не используется. |
INVOICE_NUMBER | Нет | 6 цифр | Номер заказа/счета — назначается авиакомпанией для отслеживания платежей. |
CHARGE_TYPE | Да | 2 цифры | Тип оплаты — определяет, включены ли детали путешествия: “01” - ticket “02” - non-ticket |
AIRLINE_NAME | Да | 20 символов | Название авиакомпании — как оно указано в счете. |
NUMBER_ PASSENGERS | Да | Число | Число пассажиров |
PASSENGER_NAME | Да* | 26 символов | Имя пассажира – как оно указано в счете. |
TICKET_NUMBER | Да | 14 цифр | Номер билета — уникальный идентификационный номер билета от продавца билета. |
TICKET_ISSUER | Нет | 20 символов | Продавец билета – как он указан в счете. |
TICKET_ISSUER_ADDRESS | Нет | 40 символов | Адрес продавца билетов. |
DEPARTURE_AIRPORT | Да* | 20 символов | Аэропорт вылета — место отправления, первые 3 символа должны быть кодом аэропорта. |
ARRIVAL_AIRPORT_1 | Нет* | 20 символов | Аэропорт прибытия — место назначения, первые 3 символа должны быть кодом аэропорта. |
CARRIER_CODE_1 | Нет* | 2 символа | Код перевозчика - IATA код перевозчика. |
AIRLINE_CLASS_1 | Нет* | 2 символа | Класс авиалинии - IATA код класса |
STOPOVER_CODE_1 | Нет* | 1 символ | Stopover Code — транзитный код |
FLIGHTNUMBER_1 | Нет | Строка | Номер рейса |
ARRIVAL_AIRPORT_2 | Нет* | 20 символов | Аэропорт прибытия — место назначения, первые 3 символа должны быть кодом аэропорта. |
CARRIER_CODE_2 | Нет* | 2 символа | Код перевозчика - IATA код перевозчика. |
AIRLINE_CLASS_2 | Нет* | 2 символа | Класс авиалинии - IATA код класса |
STOPOVER_CODE_2 | Нет* | 1 символ | Stopover Code — транзитный код |
FLIGHTNUMBER_2 | Нет | Строка | Номер рейса |
ARRIVAL_AIRPORT_3 | Нет* | 20 символов | Аэропорт прибытия — место назначения, первые 3 символа должны быть кодом аэропорта. |
CARRIER_CODE_3 | Нет* | 2 символа | Код перевозчика - IATA код перевозчика. |
AIRLINE_CLASS_3 | Нет* | 2 символа | Класс авиалинии - IATA код класса |
STOPOVER_CODE_3 | Нет* | 1 символ | Stopover Code — транзитный код |
FLIGHTNUMBER_3 | Нет | Строка | Номер рейса |
ARRIVAL_AIRPORT_4 | Нет* | 20 символов | Аэропорт прибытия — место назначения, первые 3 символа должны быть кодом аэропорта. |
CARRIER_CODE_4 | Нет* | 2 символа | Код перевозчика - IATA код перевозчика. |
AIRLINE_CLASS_4 | Нет* | 2 символа | Класс авиалинии - IATA код класса |
STOPOVER_CODE_4 | Нет* | 1 символ | Stopover Code — транзитный код |
FLIGHTNUMBER_4 | Нет | Строка | Номер рейса |
CHARGE_DETAILS | Нет | 20 символов | Детали платежа — описание платежа (кроме билетов). Как оно указано в счете (сверхнормативный багаж) |
AGENT_CODE | Да | 20 символов | Код агентства |
RESTRICTED_TICKET_IND | Нет* | 1 или 0 | Индикатор ограниченного билета |
PNR | Да | 16 символов | PNR номер |
DEPARTURE_DATE | Да | YYYYMMDD | Дата отправления. |
Поля, помеченные знаком «*», рекомендуется передавать для создания полной расширенной записи для банка.
Вся информация о полете передается в авторизационном запросе (кроме номера билета).
Номер билета (поле TICKET_NUMBER) передается в подтверждении оплаты (сервис charge — в запросе добавляется дополнительное поле TICKET_NUMBER).
Параметр PNR может быть передан как в авторизационном запросе, так и в запросе на подтверждение оплаты.
При двустадийном механизме работы списание средств со счета покупателя происходит только после подтверждения оплаты со стороны предприятия.
Для подтверждения оплаты нужно отправить запрос на сервер АПК Ассист методом HTTP POST или SOAP (в кодировке UTF-8).
URL запроса для передачи финансового подтверждения:
https://<SERVER-NAME>/charge/charge.cfm.
Список параметров запроса для подтверждения оплаты:
Название | Обязательное поле | Принимаемые значения | Значения по умолчанию | Описание |
Billnumber | Да | 15 или 16 цифр Расширенный формат | Номер платежа, соответствующий заказу в системе АПК Ассист, допускается передача расширенного номера платежа | |
Merchant_ID | Да | Число | Идентификатор предприятия в АПК Ассист | |
Login | Да | 20 символов | Логин | |
Password | Да | 30 символов | Пароль | |
Amount | Нет* | Число, 15 цифр (разделители «.», «,») | Сумма финансового подтверждения | |
Currency | Нет* | 3 символа | Код валюты подтверждения. Может быть использован только код валюты операции оплаты | |
ClientIP | Нет | Максимум 15 цифр, 4 разделителя «.» | IP компьютера оператора, который производит подтверждение платежа | |
Language | Нет | RU – русский | RU | Язык выдачи результатов |
TICKET_NUMBER | Да | 14 цифр | Номер билета — уникальный идентификационный номер билета от продавца билета. | |
Format | Нет | 1 – CSV, 2 – WDDX, | Формат входных данных | Формат выдачи результатов |
* Параметры Amount, Currency могут присутствовать или отсутствовать в запросе только одновременно. В случае отсутствия параметров операция подтверждения оплаты будет проведена на полную сумму.