On This Page
Airline Processing
This section describes how to use this developer guide and where to find further
information.
Audience and Purpose
This guide is written for application developers who want to use the
Cybersource
Simple Order API
to integrate credit card processing with airline data into their
order management system.Implementing the
Cybersource
credit card services requires software development skills. You
must write code that uses the API request and reply fields to integrate the credit card
services into your existing order management system.Conventions
The following special statements are used in this document:
An
Important
statement contains information essential to
successfully completing a task or learning a concept.Customer Support
For support information about any service, visit the Support Center:
Recent Revisions to This Document
24.02
This revision contains only editorial changes and no technical updates.
24.01
This revision contains only editorial changes and no technical updates.
23.02
This revision contains only editorial changes and no technical updates.
23.01
This revision contains only editorial changes and no technical updates.
19.02
This revision contains only editorial changes and no technical updates.
19.01
This revision contains only editorial changes and no technical updates.
18.04
Streamline
: changed the name of Carte Bleue
to Cartes
Bancaires
.18.03
This revision contains only editorial changes and no technical updates.
Introduction to Airline Processing
Airline data processing exceeds basic payment processing by enabling you to process
specific travel data. To make use of this capability, you must submit additional
information, such as:
- Carrier (airline)
- Departure date
- Destination airport
- Purchase date
- Originating airport
- Ticket class
- Travel legs (segments)
Cybersource Airline Data Processing
Cybersource
Airline Data ProcessingCybersource
does not store airline data. Instead, it functions as a
pass-through service for the data. Cybersource
enforces only the minimal
level of field validation.When you request an airline service,
Cybersource
responds with certain
fields and values to indicate whether the airline data was processed. The response
fields for each service are:- Authorization:ccAuthReply_enhancedDataEnabled
- Capture:ccCaptureReply_enhancedDataEnabled
- Credit:ccCreditReply_enhancedDataEnabled
The possible values for the response fields are:
- N: the airline data was not included in the request to the processor.
- Y: the airline data was included in the request to the processor.
Cybersource
temporarily disables your account's airline
data processing capability and contacts you if your airline data transactions produce
batching errors when the information is sent to the processor. If this happens, your
request is not rejected, but you receive one of the above listed fields with the
N
value in the response indicating that airline data in the request
has been ignored and not sent to the processor. Airline Travel Legs
Some processors require travel legs in the API service request, even for direct flights.
This section describes how to successfully include travel legs in an API request.
Using Travel Legs
To include travel legs in an airline transaction, include one or more
airlineData_leg_#_
fields, starting with the
airlineData_leg_0_
fields.Direct flights only use the
airlineData_leg_0_
fields.For multiple leg trips, the
airlineData_leg_#_
fields must start at 0, and you must use consecutive numbers for the additional
legs. If you skip a number,
Cybersource
ignores the legs that follow the skipped number.For example, these three travel legs are valid:
<leg id="0"> <carrierCode>XX</carrierCode> </leg> <leg id="1"> <carrierCode>XZ</carrierCode> </leg> <leg id="2"> <carrierCode>XX</carrier<code> </leg>
Travel Leg Limitations
Some processors limit the number of travel legs for each trip based on the card type.
Streamline Airline Processing
Streamline
Airline ProcessingThis section describes the airline payment services you can use when processing with
Streamline
.Supported Card Types
This table describes the card types that
Streamline
supports.Supported Card Types |
|---|
Cartes Bancaires |
Dankort |
Maestro (International) |
Maestro (UK Domestic) |
Mastercard |
Visa |
Captures
This section describes how to capture an airline payment.
Leg Limitations
Streamline
limits the maximum number of legs for each trip based
on card type. You must include information for the first leg of the trip (leg 0), and you must use
consecutive numbers for any additional legs. To do so, replace the
#
character in the field name with a sequential number starting with
0
. For example, for a trip with two legs, set the airlineData_leg_#
field
as airlineData_leg_0
and
airlineData_leg_1
, for
the first and second legs, respectively. If you skip a number, Cybersource
ignores the legs that follow the skipped number. This table describes the maximum number of legs for each trip based on card
type.
Supported Card Types | Maxiumum Number of Trip Legs |
|---|---|
Cartes Bancaires | 4 |
Dankort | 4 |
Maestro (International) | 4 |
Maestro (UK Domestic) | 4 |
Mastercard | 4 |
Visa | 4 |
Document Type
When capturing an airline payment, you must use the
airlineData_documentType
field to specify the purpose of the transaction. For all possible values, see Airline Document Type Codes. Endpoint
Set the
ccCaptureService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Capturing an Airline Payment
Include these required fields to capture an airline payment.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- airlineData_ticketNumber
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
Optional Fields for Capturing an Airline Payment
Choose from these optional fields to include additional information when capturing an
airline payment.
Simple Order API Example: Capturing an Airline Payment
Simple Order API
Example: Capturing an Airline PaymentRequest
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.11"> <merchantID>regenttravel</merchantID> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <purchaseTotals> <currency>GBP</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCaptureService run="true"> <authRequestID>0839543530000172034078</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentCode>98222147<agentCode> <agentName>Regent Travel</agentName> <ticketNumber>1234567890123450</ticketNumber> <passengerName>John Smith</passengerName> <leg id="0"> <carrierCode>VS</carrierCode> <originatingAirportCode>GLA</originatingAirportCode> <class>C</class> <departureDate>080812</departureDate> <destination>LGW</destination> </leg> </airlineData> </requestMessage>
Response
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.124"> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <purchaseTotals><currency>EUR</currency></purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <amount>204.78</amount> <reconciliationID>1094820975023470</reconciliationID> <enhancedDataEnabled>y</enhancedDataEnabled> </ccCaptureReply> </replyMessage>
Captures for Miscellaneous Charge Orders
This section describes how to capture an Miscellaneous Charge Order (MCO)
airline authorization. capture an Miscellaneous Charge Order (MCO)
airline authorization.
An MCO is an airline transaction for a non-ticket purchase, such as an insurance payment
or an excess baggage fee. An MCO must be its own airline transaction, separate from a
capture for a ticket purchase.
Document Type
When capturing an airline payment, you must use the
airlineData_documentType
field to specify the purpose of the transaction. For all possible values, see Airline Document Type Codes. Endpoint
Set the
ccCaptureService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Capturing an Airline Payment
Include these required fields to capture an airline MCO authorization.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- airlineData_ticketNumber
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set field value toXAO.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set field value toXAA.
Stand-Alone Credits
Stand-Alone Credits
This topic describes how to process an airline
stand-alone credit
.All fields used in the original transaction must be included in your
request.
Endpoint
Set the
ccCreditService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Airline Stand
Alone Credits
Stand
Alone Credits
Include these required fields to request an airline
stand-alone credit
.- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
- airlineData_ticketNumber
- Set toairline.
Optional Fields for Airline Stand
Alone Credits
Stand
Alone Credits
Choose from these optional fields to include additional information when processing
an airline
stand-alone
credit
.Simple Order API Example: Processing Airline Stand-Alone Credits
Simple Order API
Example: Processing Airline Stand-Alone Credits
Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>0305782650000167905080</captureRequestID> </ccCreditService> </requestMessage>
Response
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantReferenceCode>Postman-1701820687</merchantReferenceCode> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <requestToken>Axj/7wSTfHUvjqCkViFEABEg2asWjlgzb0qE+c4YxmKeQXe+aFgKeQXe+bn6QHymhcMmkmXoxZaH/wJyb46l4wXgbv0b4AAAAxnW</requestToken> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2023-12-05T23:58:07Z</requestDateTime> <amount>204.78</amount> <reconciliationID>65149037RPON81F1</reconciliationID> <authorizationCode>888888</authorizationCode> <processorResponse>100</processorResponse> </ccCreditReply> </replyMessage>
Airline Data Reference Information
This section contains reference information that is useful when using Airline Data.
Airline Document Type Codes
To indicate the purpose of a purchase, set the
airlineData_documentType
field to a value listed in the Code column.Code | Description |
|---|---|
01 | Passenger ticket |
02 | Additional collection |
03 | Excess baggage |
04 | Miscellaneous charge order (MCO) or
prepaid ticket authorization |
05 | Special service ticket |
06 | Supported refund |
07 | Unsupported refund |
08 | Lost ticket application |
09 | Tour order voucher |
10 | Ticket by mail |
11 | Undercharge adjustment |
12 | Group ticket |
13 | Exchange adjustment |
14 | SPD or air freight |
15 | In-flight adjustment |
16 | Agency passenger ticket |
17 | Agency tour order or voucher |
18 | Agency miscellaneous charge order
(MCO) |
19 | Agency exchange order |
20 | Agency group ticket |
21 | Debit adjustment for duplicate
refund or use |
22 | In-flight merchandise order |
23 | Catalogue merchandise order |
24 | In-flight phone charges |
25 | Frequent flyer fee or
purchase |
26 | Kennel charge |
27 | Animal transportation charge |
28 | Firearms case |
29 | Upgrade charge |
30 | Credit for unused
transportation |
31 | Credit for class of service
adjustment |
32 | Credit for denied boarding |
33 | Credit for miscellaneous
refund |
34 | Credit for lost ticket
refund |
35 | Credit for exchange refund |
36 | Credit for overcharge
adjustment |
37 | Credit for multiple Unused
tickets |
38 | Exchange order |
39 | Self-service ticket |
41 | In-flight duty-free purchase |
42 | Senior citizen discount
booklets |
43 | Club membership fee |
44 | Coupon book |
45 | In-flight charges |
46 | Tour deposit |
47 | Frequent flyer overnight delivery
charge |
48 | Frequent flyer fulfillment |
49 | Small package delivery |
50 | Vendor sale |
51 | Miscellaneous taxes or fees |
52 | Travel agency fee |
60 | Vendor refund or credit |
64 | Duty free sale |
65 | Preferred seat upgrade |
66 | Cabin upgrade |
67 | Lounge or club access or day
pass |
68 | Agent assisted reservation or
ticketing fee |
69 | Ticket change or cancel fee |
70 | Trip insurance |
71 | Unaccompanied minor |
72 | Standby fee |
73 | Curbside baggage |
74 | In-flight medical equipment |
75 | Ticket or pass print fee |
76 | Checked sporting or special
equipment |
77 | Dry ice fee |
78 | Mail or postage fee |
79 | Club membership fee or temporary
trial |
80 | Frequent flyer activation or
reinstatement |
81 | Gift certificate |
82 | Onboard or in-flight prepaid
voucher |
83 | Optional services fee |
84 | Advance purchase for excess
baggage |
85 | Advance purchase for preferred seat
upgrade |
86 | Advance purchase for cabin
upgrade |
87 | Advance purchase for optional
services |
88 | Wi-Fi |
89 | Packages |
90 | In-flight entertainment or internet
access |
91 | Overweight bag fee |
92 | Sleep sets |
93 | Special purchase fee |
Ancillary Service Category Codes
To indicate the service provided in an ancillary purchase, set the
ancillaryData_service_#_categoryCode
and ancillaryData_service_#_subcategoryCode
fields to a value listed in the Ancillary Service Category Code column.Ancillary Service Category
Codes | Description |
|---|---|
BF | Bundled service |
BG | Baggage fee |
CF | Change fee |
CG | Cargo |
CO | Carbon offset |
FF | Frequent flyer |
GF | Gift card |
GT | Ground transport |
IE | In-flight entertainment |
LG | Lounge |
MD | Medical |
ML | Meal or beverage |
OT | Other |
PA | Passenger assist fee |
PT | Pets |
SA | Seat fees |
SB | Standby |
SF | Service fee |
ST | Store |
TS | Travel service |
UN | Unaccompanied travel |
UP | Upgrades |
WI | Wi-Fi |