Использование „длинных записей“
Общая информация
Для поддержки и развития отдельных индустрий со стороны международных платёжных систем принято использовать специализированные программы, с различными льготами и преференциями для мерчантов. В частности, мерчантам, которые ведут деятельность в сфере туризма и соответствуют одной из заданных категорий (согласно коду MCC; Merchant Category Code, MCC), могут предоставляться определённые льготы, если при проведении оплат эти мерчанты обеспечивают передачу так называемых „длинных записей“ с детальными сведениями об оказываемых услугах.
В платёжной платформе ecommpay поддерживается возможность работы с „длинными записями“ об услугах туристической отрасли, оплачиваемых с использованием карт платёжных систем Mastercard и Visa. Это относится к оплатам перелётов и дополнительных услуг в рамках забронированных путешествий. При этом каждая длинная запись должна передаваться в запросе на проведение соответствующего платежа в отдельном объекте addendum и может включать в себя сведения, соответствующие заданным структурам.
Вместе с тем, в некоторых случаях со стороны мерчантов может быть актуальным передавать расширенные сведения об оказываемых туристических услугах не через регламентированные длинные записи, а иным способом (например, когда код категории мерчанта не подходит для получения льгот и преференций от платёжных систем, но развёрнутая информация о заказах в связке с информацией платежах по ним необходима в рабочих процессах). Для таких ситуаций в платформе предусмотрены возможности гибко настраиваемой работы с объектом booking_info (подробнее).
Применение длинных записей доступно по умолчанию в рамках любого проекта для мерчантов с допустимыми кодами категорий. Для этого предусмотрены соответствующие параметры API, описанные далее в рамках этой статьи. При использовании длинных записей вне допустимых категорий платежи отклоняются. С вопросами об актуальных программах платёжных систем и о характере и размерах льгот, доступных в конкретных случаях с учётом региональных и иных особенностей, как и с вопросами о поддержке специфических сценариев работы и отдельных видов длинных записей, можно обращаться к курирующему менеджеру ecommpay.
Передача сведений о бронировании авиабилетов
Ограничения
Передавать сведения о бронировании авиабилетов и рассчитывать при этом на соответствующие льготы и преференции со стороны платёжных систем могут мерчанты с кодами категорий 3000–3350 и 4511. При использовании длинных записей со стороны мерчантов с другими кодами категорий платежи отклоняются с кодом состояния 310.
Для учёта подобной информации в собственных целях (со стороны мерчантов с любыми кодами категорий) можно использовать объект booking_info (подробнее).
Формат данных
Сведения о бронировании авиабилетов в составе длинных записей должны передаваться в исходных запросах на проведение соответствующих платежей — в JSON-объекте airlines, вложенном в объект addendum. При этом для оформления каждого билета должен использоваться отдельный платёж.
Для указания общих сведений о пассажире и авиабилете в объекте airlines предусмотрены соответствующие параметры, а для указания сведений о полётных сегментах билета — вложенный объект trip_legs, в котором можно указывать от одного до четырёх полётных сегментов, используя объекты trip_leg<legNr>, где <legNr> — порядковый номер сегмента в рамках маршрута.
{
"addendum": {
"airlines": {
"ticket_number": "1055526005625",
"passenger_name": "William Herschel",
"customer_ref": "K7XT2A",
"ticket_issuer_code": "KL"
"ticket_issue_date": "2025-12-24",
"travel_agency_code": "12345678",
"travel_agency_name": "Deep Sky Tours",
"restricted_ticket_indicator": true,
"computerized_reservation_system": "SABR",
"total_fare_amount": 15000,
"total_tax_amount": 2000,
"total_fees_amount": 1000,
"trip_legs": { \\ Объект с информацией о полётных сегментах
"trip_leg1": { \\ Объект с информацией о первом сегменте маршрута
"flight_number": "3142",
"carrier_code": "KL",
"departure_airport": "AMS",
"departure_at": "2026-12-25T15:30:25+01:00",
"destination_airport": "JFK",
"arrival_at": "2026-12-25T17:45:25-05:00",
"stop_over_code": true,
"service_class": "Y",
"fare_bassis": "Y0SVR7",
"exchange_ticket": "3141592653589",
"conjunct_ticket": "6626070151034",
"coupon_number": "1",
"endorsements_restr": "No changes allowed"
},
"trip_leg2": { \\ Объект с информацией о втором сегменте маршрута
"flight_number": "1054",
"carrier_code": "DL",
"departure_airport": "JFK",
"departure_at": "2026-12-25T22:45:25-05:00",
"destination_airport": "LHR",
"arrival_at": "2026-12-26T10:55:25+00:00",
"stop_over_code": false,
"service_class": "K",
"fare_bassis": "KHCLS7",
"coupon_number": "2",
"endorsements_restr": "Changes allowed"
}
}
}
}
}
Объект airlines может включаться в запросы к различным конечным точкам, при этом его структура определяется моделью, а его расположение в структуре запросов — спецификацией этих конечных точек:
- для разовых одностадийных оплат:
- /v2/payment/card/sale — с указанием платёжных данных в прямом виде или через „сетевые токены“;
- /v2/payment/card/sale/saved — с указанием платёжных данных через идентификаторы;
- /v2/payment/card/sale/token — с указанием платёжных данных через внутренние токены платёжной платформы;
- для разовых двухстадийных оплат:
- /v2/payment/card/auth — с указанием платёжных данных в прямом виде или через „сетевые токены“;
- /v2/payment/card/auth/saved — с указанием платёжных данных через идентификаторы;
- /v2/payment/card/auth/token — указанием платёжных данных через внутренние токены платёжной платформы.
Используемые параметры
В объекте airlines могут передаваться следующие объекты и параметры.
| Параметр | Описание | tree |
|---|---|---|
|
|
Номер забронированного билета. Может содержать буквы базовой латиницы и цифры, при этом не должен превышать 15 символов. Пример: |
1 |
|
|
Имя и фамилия пассажира, на которого забронирован билет. Представляет собой строку длиной не более 20 символов. Пример: |
2 |
|
|
Идентификатор записи о пассажире в используемой системе бронирования Как правило, представляет собой идентификатор именной записи о пассажире (Passenger Name Record, PNR). Может содержать буквы базовой латиницы и цифры. Пример: |
3 |
|
|
Двухсимвольный код авиакомпании, оформившей билет (согласно классификации IATA). Пример: |
4 |
|
|
Дата бронирования авиабилета в формате Пример: |
5 |
|
|
Код туристического агентства, оформившего билет. Этот код присваивается в результате аккредитации в одной из профильных ассоциаций (IATA, ARC или другой). Может содержать буквы базовой латиницы и цифры, при этом не должен превышать 8 символов. Пример: |
6 |
|
|
Название туристического агентства, оформившего билет. Может содержать буквы базовой латиницы и цифры, при этом не должно превышать 25 символов. Пример: |
7 |
|
|
Индикатор ограничений по тарифу на возврат авиабилета. Может принимать следующие значения:
Пример: |
8 |
|
|
Код компьютерной системы бронирования, который может быть актуален при оплате перелёта в Германии. Может принимать следующие значения:
Пример: |
9 |
|
|
Сумма, взимаемая авиакомпанией за перевозку пассажира и допустимой бесплатной нормы багажа, в дробных единицах валюты. Пример: |
10 |
|
|
Налог, включённый в сумму платежа, в дробных единицах валюты. Может представлять собой налог с продаж, налог на добавленную стоимость или другой вид соответствующего налога. Пример: |
11 |
|
|
Сумма взимаемых комиссий и сборов, в дробных единицах валюты. Пример: |
12 |
|
|
Объект, содержащий сведения о полётных сегментах. Должен содержать информацию как минимум об одном перелёте во вложенном объекте |
13 |
|
|
Объект, содержащий информацию о полётном сегменте (или так называемом операционном плече — отрезке пути между двумя последовательно запланированными остановками) | 13-1 13 |
|
|
Номер рейса, присвоенный авиакомпанией, выполняющей перелёт, без указания кода авиакомпании. Может содержать буквы базовой латиницы и цифры, при этом не должен превышать 5 символов. Пример: |
13-1-1 13-1 |
|
|
Двухсимвольный код авиакомпании, выполняющей перелёт (согласно классификации IATA). Пример: |
13-1-2 13-1 |
|
|
Трёхбуквенный код пункта отправления (согласно классификации IATA). Пример: |
13-1-3 13-1 |
|
|
Дата и время планового отправления в формате Пример: |
13-1-4 13-1 |
|
|
Трёхбуквенный код пункта назначения (согласно классификации IATA). Пример: |
13-1-5 13-1 |
|
|
Дата и время планового прибытия в пункт назначения в формате Пример: |
13-1-6 13-1 |
|
|
Индикатор стыковки. Может принимать следующие значения:
Пример: |
13-1-7 13-1 |
|
|
Однобуквенный код класса обслуживания (согласно классификации IATA).
Пример: |
13-1-8 13-1 |
|
|
Код тарифа авиакомпании, оформившей билет. Может содержать буквы базовой латиницы и цифры, при этом не должен превышать 6 символов. Пример: |
13-1-9 13-1 |
|
|
Номер билета, взамен которого был забронирован описываемый билет. Может содержать буквы базовой латиницы и цифры, при этом не должен превышать 15 символов. Пример: |
13-1-10 13-1 |
|
|
Номер связанного билета. Оформляется, когда забронированный перелёт включает в себя более четырёх полётных сегментов и билеты для этого перелёта объединяются в связанный ряд. Может содержать буквы базовой латиницы и цифры, при этом не должен превышать 15 символов. Пример: |
13-1-11 13-1 |
|
|
Номер полётного купона, соответствующий номеру полётного сегмента. Пример: |
13-1-12 13-1 |
|
|
Служебная запись, в которой могут указываться различные ограничения, дополнительная информация, а также указание возможности «передачи» (endorsement) пассажира другому перевозчику. Представляет собой строку длиной не более 20 символов. Пример: |
13-1-13 13-1S |