OmniPay Direct
Airline Processing

This section describes the airline payment services you can use when processing with
OmniPay Direct
.

Supported Acquirers and Card Types

This table describes the acquirers supported by
OmniPay Direct
and the card types supported by each acquirer.
Supported Acquirers and Card Types
Supported Acquirers
Supported Card Types
Bank of America
Mastercard
Visa
Cardnet International
Maestro (International)
Maestro (UK Domestic)
Mastercard
Visa
First Data Merchant Solutions (Europe)
Diners Club
Discover
Mastercard
Visa
Global Payments International Acquiring
Mastercard
Visa

Captures for Ticket Purchases

This section describes how to capture an airline payment for ticket purchases.
Capture requests for ticket purchases must be separate from ancillary purchases. When you include ancillary data in a request with airline data,
OmniPay Direct
ignores the ancillary data. For more information about captures for ancillary purchases, see Captures for Ancillary Purchases.

Leg Limitations

OmniPay Direct
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.
OmniPay Direct
Leg Limitations
Supported Card Types
Maxiumum Number of Trip Legs
Diners Club
999
Discover
999
Maestro (International)
999
Maestro (UK Domestic)
999
Mastercard
999
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.
airlineData_ticketNumber
Set to
airline
.
Set to the
merchant_ref_number
value used in corresponding authorization request.

Card-Specific Fields for Capturing an Airline Payment

Use this information to find additional information a card type requires.

Visa

Use this field in addition to the required fields when capturing an authorization with a Visa card.

Reduced Interchange Fields for Capturing an Airline Payment

This section includes card-specific fields for reduced interchange.

Maestro (International)

For reduced interchange, use these fields when capturing an airline payment with a Maestro (International) card.

Maestro (UK Domestic)

For reduced interchange, use these fields when capturing an airline payment with a Maestro (UK Domestic) card.

Mastercard

For reduced interchange, use these fields when capturing an airline payment with a Mastercard.

Visa

For reduced interchange, use these fields when capturing an airline payment with a Visa card.

Optional Fields for Capturing an Airline Payment

This topic includes both general optional fields and card-specific optional fields.

Diners Club

Choose from these optional fields to add additional information when using a Diners Club card.

Discover

Choose from these optional fields to add additional information when using a Discover card.

Maestro (International)

Choose from these optional fields to add additional information when using a Maestro (International) card.
Optional only for US domestic airline transactions.

Maestro (UK Domestic)

Choose from these optional fields to add additional information when using a Maestro (UK Domestic) card.
Optional only for US domestic airline transactions.

Mastercard

Choose from these optional fields to add additional information when using a Mastercard card.
Optional only for US domestic airline transactions.

Visa

Choose from these optional fields to add additional information when using a Visa card.

Simple Order API
Example: Capturing an Airline Payment

Captures for Ancillary Purchases

This section describes how to capture an airline payment for ancillary purchases.
Capture requests for ancillary purchases must be separate from captures for ticket purchases. When you include ancillary data in a request with airline data,
OmniPay Direct
ignores the ancillary data. For more information on captures for ticket purchases, see Captures for Ticket Purchases.

Ancillary Service Category Codes

When making an ancillary purchase, you must use the
ancillaryData_service_#_categoryCode
field to indicate the service provided. For all possible field values, see Ancillary Service Category 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 for ancillary purchases.
airlineData_ticketNumber
Set to
airline
.
Set to the
merchant_ref_number
value used in corresponding authorization request.

Card-Specific Fields for Capturing an Airline Payment

For reduced interchange, use these fields when capturing an airline payment.

Visa

ancillaryData_connected_TicketNumber
Required only when the purpose of the ancillary transaction is to obtain airline rates.

Reduced Interchange Fields for Capturing an Airline Payment

This section includes card-specific fields for reduced interchange.

Maestro (International)

For reduced interchange, use these fields when capturing an airline payment with a Maestro (International) card.
airlineData_carrierName
Format: 2 letter IATA airline code

Maestro (UK Domestic)

For reduced interchange, use these fields when capturing an airline payment with a Maestro (UK Domestic) card.

Mastercard

For reduced interchange, use these fields when capturing an airline payment with a Mastercard card.

Visa

For reduced interchange, use these fields when capturing an airline payment with a Visa card.

Optional Fields for Capturing an Airline Payment

This topic includes both general optional fields and card-specific optional fields.

General Optional Fields for Capturing an Airline Payment

Choose from these optional fields to include additional information when capturing an airline payment for any card type.

Diners Club

Choose from these optional fields to add additional information when using a Diners Club card.
airlineData_carrierName
airlineData_checkDigit

Discover

Choose from these optional fields to add additional information when using a Discover card.
airlineData_carrierName
airlineData_checkDigit

Maestro (International)

Choose from these optional fields to add additional information when using a Maestro (International) card.
airlineData_carrierName
Optional only for US domestic airline transactions.

Maestro (UK Domestic)

Choose from these optional fields to add additional information when using a Maestro (UK Domestic) card.
airlineData_carrierName
Set to two letter IATA airline code.
Optional only for US domestic airline transactions.

Mastercard

Choose from these optional fields to add additional information when using a Mastercard.
airlineData_carrierName
Optional only for US domestic airline transactions.

Simple Order API
Example: Capturing an Airline Payment

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

Simple Order API
Example: Processing Airline
Stand-Alone Credits

Light Dark
Request
1234567891011121314151617181920212223
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.124">    <merchantID>World Wide Travel</merchantID>    <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode>    <ccCaptureService run="true">       <industryDatatype>airline</industryDatatype>       <authRequestID>0839543530000172034078</authRequestID>    </ccCaptureService>    <purchaseTotals>       <currency>EUR</currency>       <grandTotalAmount>204.78</grandTotalAmount>    </purchaseTotals>    <airlineData>       <agentCode>98222147</agentCode>       <agentName>Cyber Vacations</agentName>       <passengerName>Jane Smith</passengerName>       <restrictedTicketIndicator>0</restrictedTicketIndicator>       <ticketNumber>02721187251</ticketNumber>       <leg id="0">          <class>H</class>
         <departureDate>121516</departureDate>
         <departureTime>0931</departureTime>
         <departureTimeSegment>A</departureTimeSegment>
         <carrierCode>AA</carrierCode>
         <destination>CDG</destination>
         <fareBasis>HL7WNR</fareBasis>
      </leg>       <leg id="1">          <class>H</class>
         <departureDate>122016</departureDate>
         <departureTime>1625</departureTime>
         <departureTimeSegment>P</departureTimeSegment>
         <carrierCode>AA</carrierCode>
         <destination>LHR</destination>
         <fareBasis>HL7WNR</fareBasis>
      </leg>    </airlineData> </requestMessage>
Response
12345678910111213
<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>
Light Dark
Request
123456789101112131415161718192021
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.124">    <merchantID>World Wide Travel</merchantID>    <merchantReferenceCode>ABCDEFG0123456</merchantReferenceCode>    <ccCaptureService run="true">       <industryDatatype>airline</industryDatatype>       <authRequestID>4685801292856003701540</authRequestID>    </ccCaptureService>    <purchaseTotals>       <currency>GBP</currency>       <grandTotalAmount>234.00</grandTotalAmount>    </purchaseTotals>    <ancillaryData>       <ticketNumber>BA123456</ticketNumber>       <service id="0">          <categoryCode>BF</categoryCode>       </service>       <passengerName>Jane Smith</passengerName>       <creditReasonIndicator>A</creditReasonIndicator>       <connectedTicketNumber>BA1234567</connectedTicketNumber>    </ancillaryData> </requestMessage>
Response
12345678910111213
<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.124">    <c:requestID>4685801292856003701540</c:requestID>    <c:decision>ACCEPT</c:decision>    <c:reasonCode>100</c:reasonCode>    <c:merchantReferenceCode>ABCDEFG0123456</c:merchantReferenceCode>    <c:purchaseTotals><c:currency>GBP</c:currency></c:purchaseTotals>    <c:ccCaptureReply>       <c:reasonCode>100</c:reasonCode>       <c:amount>234.00</c:amount>       <c:reconciliationID>5406772989</c:reconciliationID>       <c:enhancedDataEnabled>y</c:enhancedDataEnabled>    </c:ccCaptureReply> </c:replyMessage>
Light Dark
Request
1234567891011
<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
123456789101112131415161718
<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>