Using addendum with airline tickets data
Overview
To support and further develop various economic industries, global card networks implement specialised incentive programs that offer an additional layer of protection and preferential treatment to merchants in these industries. For example, merchants in the tourist industry with an eligible MCC (Merchant Category Code, MCC can receive certain benefits if they ensure passing information about their specific services in the financial details addendum included in payment requests.
The ecommpay payment platform supports working with addendum parameters that allow passing information about travel industry services purchased with the use of Mastercard and Visa cards. It includes purchases of airline tickets and additional services within these booked trips. Such travel itinerary information is passed in the corresponding payment request in the addendum object and includes data organised according to the specification.
In some cases, merchants may need to specify extended information about travel itineraries and booked trips differently (for example, when the MCC of the merchant does not fall within the eligible range determined by the card networks, but their business processes require receiving itinerary information together with the information about payments). For such instances, the platform offers the capability of working with the booking_info object (details).
Using addendum with airline tickets data is available by default to merchants with the eligible MCCs. The extended set of parameters that can be used for such purpose is described further in this article. If a merchant with an ineligible MCC attempts to use these parameters, the payment will be declined. If you have questions regarding the relevant programs offered by card networks and about the preferences that are available in each specific case due to regional specifics or other reasons as well as questions about using specialised processing scenarios and specific types of addendum objects, contact your ecommpay account manager.
Specifying information about airline tickets
Restrictions
You can pass information about booked airline tickets to participate in incentive programs offered by the card networks if your MCC falls within the range of 3000–3350 or equals 4511. If addendum objects are passed in the payment requests by merchants with other MCCs, payments will be declined with the 310 response code.
To pass similar data for your own needs (with other MCCs), you can use the booking_info object (details).
Data format
Airline tickets data should be specified in the initial requests for processing payments, in the airlines JSON object nested in the addendum object. For each ticket, you should send a separate payment request.
To provide general information about the passenger and the ticket, use the parameters of the airlines object. To provide information specific to an individual leg of the trip, use the trip_legs object that allows you to pass information about up to four legs of the trip using the trip_leg<legNr> object, with <legNr> being the sequence number of the leg within the trip itinerary.
{
"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": { \\ Object with information about the legs of the journey
"trip_leg1": { \\ Object with informaiton about the first leg of the journey
"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": { \\ Object with informaiton about the second leg of the journey
"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"
}
}
}
}
}
The airlines object can be passed in the requests sent to various endpoints, with its schema specified in the API and its location in the request payload structure as defined by the endpoint specification.
- for one-time one-step purchases:
- /v2/payment/card/sale—with payment details provided as is or via the network tokens
- /v2/payment/card/sale/saved—with payment details provided via the saved card identifiers
- /v2/payment/card/sale/token—with payment details provided via the internal tokens generated in the platform
- for one-time two-step purchases:
- /v2/payment/card/auth—with payment details provided as is or via the network tokens
- /v2/payment/card/auth/saved—with payment details provided via the saved card identifiers
- /v2/payment/card/auth/token—with payment details provided via the internal tokens generated in the platform
Parameters
The airlines object can include the following objects and parameters.
| Parameter | Description | tree |
|---|---|---|
|
|
Number of the issued ticket. Can include basic Latin letters and numbers, cannot exceed 15 characters. Example: |
1 |
|
|
First name and last name of the passenger to whom the ticket is issued. A string of up to 20 characters long. Example: |
2 |
|
|
Identifier of the passenger record in the reservation system. As a rule, it is the PNR (Passenger Name Record) locator. Can include basic Latin letters and numbers, cannot exceed 25 characters. Example: |
3 |
|
|
Two-character code of the airline that issued the ticket (according to the IATA classification). Example: |
4 |
|
|
Date when the ticket was issued in the Example: |
5 |
|
|
Code of the travel agency that issued the ticket. This code is received as a result of accreditation from one of the professional associations (IATA, ARC, or other). Can include basic Latin letters and numbers, cannot exceed 8 characters. Example: |
6 |
|
|
Name of the travel agency that issued the ticket. Can include basic Latin letters and numbers, cannot exceed 25 characters. Example: |
7 |
|
|
Indicator that specifies refund restrictions applied to the ticket. Possible values:
Example: |
8 |
|
|
Code of the computerised reservation system, may be needed for payments in Germany. Possible values:
Example: |
9 |
|
|
Amount charged by the airline for transporting the passenger and their luggage (i.e. free luggage allowance), in the smallest currency unit. Example: |
10 |
|
|
Amount of the tax included in the payment amount, in the smallest currency unit. Can be the sales tax, the VAT, or any other similar tax. Example: |
11 |
|
|
Total amount of fees charged, in the smallest currency unit. Example: |
12 |
|
|
Object with information about the legs of the journey. Must contain information about at least one flight in the nested |
13 |
|
|
Object that contains information about the leg of the journey (the segment of the flight itinerary between the two consecutively planned stops) | 13-1 13 |
|
|
The flight number assigned by the carrier that operates the flight, without the airline code. Can include basic Latin letters and numbers, cannot exceed 5 characters Example: |
13-1-1 13-1 |
|
|
Two-character code of the carrier that operates the flight (according to the IATA classification). Example: |
13-1-2 13-1 |
|
|
Three-letter code of the departure airport (according to the IATA classification). Example: |
13-1-3 13-1 |
|
|
Date and time of the planned departure in the Example: |
13-1-4 13-1 |
|
|
Three-letter code of the destination airport (according to the IATA classification). Example: |
13-1-5 13-1 |
|
|
Date and time of the planned arrival in the Example: |
13-1-6 13-1 |
|
|
The indicator specifying whether it is a connecting flight. Possible values:
Example: |
13-1-7 13-1 |
|
|
One-letter code indicating the service class (according to the IATA classification).
Example: |
13-1-8 13-1 |
|
|
Code indicating the fare assigned by the carrier. Can include basic Latin letters and numbers, cannot exceed 6 characters. Example: |
13-1-9 13-1 |
|
|
Number of the ticket that was replaced by the current ticket Can include basic Latin letters and numbers, cannot exceed 15 characters Example: |
13-1-10 13-1 |
|
|
Number of the conjunction ticket. Issued when the flight includes more than four trip legs and the tickets for this flight are linked together. Can include basic Latin letters and numbers, cannot exceed 15 characters. Example: |
13-1-11 13-1 |
|
|
Number of the flight coupon, corresponds to the number of the trip leg. Example: |
13-1-12 13-1 |
|
|
Added notation to specify any relevant information about various restrictions, additional data, and endorsement information (indicating whether the flight coupon can be accepted by another carrier). A string of up to 20 characters. Example: |
13-1-13 13-1S |