Airline Processing Developer Guide

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

26.01.01

Added support for
Elavon
ancillary purchases. See Elavon Airline Requests.

25.09.07

This revision contains only editorial changes and no technical updates.

25.06.02

This revision contains only editorial changes and no technical updates.

25.06.01

This revision contains only editorial changes and no technical updates.

25.05.01

This revision contains only editorial changes and no technical updates.

24.04.02

This revision contains only editorial changes and no technical updates.

VISA Platform Connect: Specifications and Conditions for Resellers/Partners

The following are specifications and conditions that apply to a Reseller/Partner enabling its merchants through
Cybersource for
Visa Platform Connect
(“VPC”) processing
. Failure to meet any of the specifications and conditions below is subject to the liability provisions and indemnification obligations under Reseller/Partner’s contract with Visa/Cybersource.
  1. Before boarding merchants for payment processing on a VPC acquirer’s connection, Reseller/Partner and the VPC acquirer must have a contract or other legal agreement that permits Reseller/Partner to enable its merchants to process payments with the acquirer through the dedicated VPC connection and/or traditional connection with such VPC acquirer.
  2. Reseller/Partner is responsible for boarding and enabling its merchants in accordance with the terms of the contract or other legal agreement with the relevant VPC acquirer.
  3. Reseller/Partner acknowledges and agrees that all considerations and fees associated with chargebacks, interchange downgrades, settlement issues, funding delays, and other processing related activities are strictly between Reseller and the relevant VPC acquirer.
  4. Reseller/Partner acknowledges and agrees that the relevant VPC acquirer is responsible for payment processing issues, including but not limited to, transaction declines by network/issuer, decline rates, and interchange qualification, as may be agreed to or outlined in the contract or other legal agreement between Reseller/Partner and such VPC acquirer.
DISCLAIMER: NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR ANY ERRORS OR OMISSIONS BY THE
Visa Platform Connect
ACQUIRER IN PROCESSING TRANSACTIONS. NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR RESELLER/PARTNER BOARDING MERCHANTS OR ENABLING MERCHANT PROCESSING IN VIOLATION OF THE TERMS AND CONDITIONS IMPOSED BY THE RELEVANT
Visa Platform Connect
ACQUIRER.

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)
Before you can begin testing and processing airline payments, you must have airline transactions enabled for your merchant account. Contact your
Cybersource
account manager for more information.
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 occurs, 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.

Confirmation Response

When you send a request with airline data,
Cybersource
does not save the airline data. Instead,
Cybersource
sends your airline data to the processor.
Cybersource
enforces only minimal field validation, which can result in a successful response that did not send the airline data to the processor.
To confirm that the processor received the airline data, some processors support response fields to indicate if the airline data is received. The response fields for each request type are:
  • Authorization:
    ccAuthReply_enhancedDataEnabled
  • Capture:
    ccCaptureReply_enhancedDataEnabled
  • Credit:
    ccCreditReply_enhancedDataEnabled
These are the possible field values:
  • N
    : the airline data is
    not
    included in the request to the processor.
  • Y
    : the airline data is included in the request 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.

American Express Direct
Airline Requests

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

Supported Card Type

This table describes the card type that
American Express Direct
supports.
American Express Direct
Supported Card Type
Supported Card Type
American Express

Authorize an Airline Ticket Payment

This section describes how to process an airline authorization with American Express Direct.

Endpoint

Set the
ccAuthService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Optional Field for Requesting an Airline Authorization Using the
Simple Order API

airlineData_numberOfPassengers

Capture an Airline Ticket Payment

This section describes how to capture an airline payment.

Leg Limitations

American Express 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 processor and card type.
American Express Direct
Leg Limitations
Supported Card Type
Maxiumum Number of Trip Legs
American Express
4

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 Using the
Simple Order API

Include these required fields to capture an airline payment for either ticket purchases or exchanges.
Required if you are an IATA1 member and have been issued this code.
airlineData_carrierName
airlineData_electronicTicket
airlineData_numberOfPassengers
airlineData_originalTicketNumber
airlineData_processIdentifier
airlineData_purchaseType
airlineData_ticketIssuerCity
airlineData_ticketNumber
Set to
airline
.
Set to the
merchant_ref_number
value used in corresponding authorization request.
Vero
supports Brazilian real (BRL) currency only.

Required Fields for Capturing an Airline Ancillary Authorization Using the
Simple Order API

Include these required fields to capture a payment for airline purchases that are not for tickets or exchanges.
Required if you are an IATA1 member and have been issued this code.
airlineData_carrierName
airlineData_originalTicketNumber
airlineData_processIdentifier
airlineData_purchaseType
airlineData_ticketIssuerCity

Optional Fields for Capturing an Airline Payment Using the
Simple Order API

Choose from these optional fields to capture any airline payment.

Issue a
Stand-Alone Credit

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

Include these required fields to credit an airline purchase for either tickets or exchanges.
Required if you are an IATA1 member and have been issued this code.
airlineData_carrierName
airlineData_electronicTicket
airlineData_numberOfPassengers
airlineData_originalTicketNumber
airlineData_processIdentifier
airlineData_purchaseType
airlineData_ticketIssuerCity
airlineData_ticketNumber
Set to
airline
.

Required Fields for an Airline Ancillary
Stand-Alone Credits

Include these required fields to credit an airline purchase that is not for tickets or exchanges.
Required if you are an IATA1 member and have been issued this code.
airlineData_carrierName
airlineData_originalTicketNumber
airlineData_processIdentifier
airlineData_purchaseType
airlineData_ticketIssuerCity

Optional Fields for an Airline
Stand-Alone Credit

Choose from these optional fields to credit any airline purchase.

Barclays
Airline Requests

This section describes the airline payment services you can use when processing with
Barclays
.
You cannot process a cash advance and airline data in the same transaction.

Supported Card Types

These are the card types that
Barclays
supports:
  • Maestro (International)
  • Maestro (UK Domestic)
  • Mastercard
  • Visa

Travel Legs

Maximum number of travel legs: 99
Numbering for the travel legs: 0 to 98
You must include information for at least the first leg of the trip (leg 0). You must use consecutive numbers for the legs; do not skip a number. If you skip a number,
Cybersource
ignores the legs that follow the skipped number.

Capture an Airline Ticket Payment

This section describes how to capture an airline payment for a ticket purchase.
Before you can capture payment, you must authorize the funds by sending an authorization request. The authorization response includes a request ID in the
requestID
field. The request ID is required in the capture request. For more information about how to send an authorization request, see the Standard Payment Processing section in the
Payments Developer Guide
.

Leg Limitations

Barclays
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.
Barclays
Leg Limitations
Supported Card Types
Maximum Number of Trip Legs
Maestro (International)
99
Maestro (UK Domestic)
99
Mastercard
99
Visa
99

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

Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
airlineData_ticketNumber
Set the value to
airline
.
Set to the
merchant_ref_number
value used in corresponding authorization request.
Vero
supports Brazilian real (BRL) currency only.

Card-Specific Field for Capturing an Airline Payment

Some card types require additional fields.

Visa

Use this field to capture an airline payment when using a Visa card.

Example: Capturing an Airline Payment

Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.23">    <merchantID>World Wide Travel</merchantID>    <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode>    <purchaseTotals>       <currency>USD</currency>       <grandTotalAmount>204.78</grandTotalAmount>    </purchaseTotals>    <ccCaptureService run="true">       <authRequestID>0839543530000172034078</authRequestID>       <industryDatatype>airline</industryDatatype>    </ccCaptureService>    <airlineData>       <agentCode>98222147</agentCode>       <agentName>Cyber Vacations</agentName>       <ticketIssuerAddress>123 Main Street</ticketIssuerAddress>       <ticketNumber>02721187251</ticketNumber>       <passengerName>Johnny Smith</passengerName>       <leg id="0">          <carrierCode>AA</carrierCode>
         <originatingAirportCode>SJC</originatingAirportCode>
         <departureDate>101512</departureDate>
         <destination>SEA</destination>
         <fareBasis>HL7WNR</fareBasis>
      </leg>       <leg id="1">          <carrierCode>AA</carrierCode>
         <originatingAirportCode>SEA</originatingAirportCode>
         <departureDate>102012</departureDate>
         <destination>SJC</destination>
         <fareBasis>HL7WNR</fareBasis>
      </leg>    </airlineData> </requestMessage>
Response
<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.23">    <c:merchantReferenceCode>R98TV09EN200W</c:merchantReferenceCode>    <c:requestID>0305782650000167905080</c:requestID>    <c:decision>ACCEPT</c:decision>    <c:reasonCode>100</c:reasonCode>    <c:purchaseTotals><c:currency>USD</c:currency></c:purchaseTotals>    <c:ccCaptureReply>       <c:reasonCode>100</c:reasonCode>       <c:amount>204.78</c:amount>       <c:reconciliationID>1094820975023470</c:reconciliationID>       <c:enhancedDataEnabled>y</c:enhancedDataEnabled>    </c:ccCaptureReply> </c:replyMessage>

Issue a
Stand-Alone Credit

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
.

Card-Specific Field for Airline
Stand-Alone Credits

Some card types require additional fields.

Visa

Use this field to capture an airline payment when using a Visa card.

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>

Elavon
Airline Requests

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

Supported Card Types

This table lists the card types that
Elavon
supports.
Elavon
Supported Card Types
Supported Card Types
Diners Club
Discover
Mastercard
Visa

Capture a Payment

This section describes how to capture an airline payment.
You can include an airline ticket purchase and any ancillary purchases in the same capture request.
Prerequisite
Before you can capture payment, you must authorize the funds by sending an authorization request. The authorization response includes a request ID in the
requestID
field. The request ID is required in the capture request. For more information about how to send an authorization request, see the Standard Payment Processing section in the
Payments Developer Guide
.

Leg Limitations

Elavon
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.
Elavon
Leg Limitations
Supported Card Types
Maximum Number of Trip Legs
Diners Club
4
Discover
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 Ticket Payment

Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Format:
MMDDYYYY
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Set to
airline
.
Set to the
merchant_ref_number
value used in corresponding authorization request.

Required Fields for an Ancillary Purchase

Include these fields, and the fields above, if there is an ancillary purchase:
For a list of all possible values, see Ancillary Service Category Codes.
To send multiple category codes, you must include additional entries of this field in the leg.

Card-Specific Field for Capturing an Airline Payment

Certain card types require additional fields.

Diners Club

Use this field in addition to the required fields to capture an airline authorization when using a Diners Club card.

Optional Fields for Capturing an Airline Payment

Optional only for Diners Club and Discover card types.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Format:
MMDDYYYY
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
ancillaryData_service_#_feeAmount
ancillaryData_service_#_feeCode

Example: Capturing an Airline Payment

Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.11">    <merchantID>World Wide Travel</merchantID>    <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode>    <purchaseTotals>       <currency>USD</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>02721187251</ticketNumber>       <restrictedTicketIndicator>1</restrictedTicketIndicator>       <ticketIssuerCode>927</ticketIssuerCode>       <passengerName>John Smith</passengerName>       <leg id="0">          <carrierCode>AA</carrierCode>          <flightNumber>397</flightNumber>          <originatingAirportCode>SJC</originatingAirportCode>          <class>H</class>          <stopoverCode>1</stopoverCode>          <departureDate>06152024</departureDate>          <destination>SEA</destination>          <fareBasis>HL7WNR</fareBasis>       </leg>       <leg id="1">          <carrierCode>AA</carrierCode>          <class>H</class>          <stopoverCode>1</stopoverCode>          <departureDate>06162024</departureDate>          <destination>SJC</destination>          <fareBasis>HL7WNR</fareBasis>       </leg>    </airlineData> </requestMessage>

Example: Capturing an Airline Payment with Ancillary Purchase

Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.233"> <merchantID>merchantId</merchantID> <merchantReferenceCode>TC10001</merchantReferenceCode> <billTo> <firstName>John</firstName> <lastName>Smith</lastName> <street1>201 S. Division St.</street1> <city>Ann Arbor</city> <state>MI</state> <postalCode>48104-2201</postalCode> <country>US</country> <email>[email protected]</email> </billTo> <purchaseTotals> <currency>eur</currency> <grandTotalAmount>103.00</grandTotalAmount> </purchaseTotals> <ccCaptureService run="true"> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentCode>98222147</agentCode> <agentName>Cyber Vacations</agentName> <ticketIssuerCode>198765432101234</ticketIssuerCode> <ticketNumber>2721187251</ticketNumber> <restrictedTicketIndicator>1</restrictedTicketIndicator> <passengerName>Jane Smith</passengerName> <customerCode>TESTCUSTOMERCODE</customerCode> <leg id="0"> <carrierCode>AA</carrierCode> <flightNumber>EZ123</flightNumber> <originatingAirportCode>SJC</originatingAirportCode> <class>H</class> <stopoverCode>0</stopoverCode> <departureDate>20251230</departureDate> <destination>SEA</destination> <fareBasis>HL7WNR</fareBasis> </leg> <leg id="1"> <carrierCode>A2</carrierCode> <flightNumber>JFK12</flightNumber> <originatingAirportCode>JFK</originatingAirportCode> <class>1</class> <stopoverCode>1</stopoverCode> <departureDate>20251230</departureDate> <destination>CD1</destination> <fareBasis>GH87N1</fareBasis> </leg> <creditReasonIndicator>A</creditReasonIndicator> <ticketUpdateIndicator>N</ticketUpdateIndicator> </airlineData> <ancillaryData> <ticketNumber>12345678901234</ticketNumber> <passengerName>Jane Smith</passengerName> <connectedTicketNumber>98765432109876</connectedTicketNumber> <creditReasonIndicator>A</creditReasonIndicator> <feeDescription>BagAndSeatFee</feeDescription> <service id="0"> <categoryCode>BG</categoryCode> <subcategoryCode>0AA</subcategoryCode> <feeAmount>2.00</feeAmount> <feeCode>BG</feeCode> </service> <service id="1"> <categoryCode>SA</categoryCode> <subcategoryCode>0B5</subcategoryCode> <feeAmount>1.00</feeAmount> <feeCode>SA</feeCode> </service> </ancillaryData> </requestMessage>
Response to a Successful Request
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.233"> <merchantReferenceCode>TC10001</merchantReferenceCode> <requestID>7682241889027001119198</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <requestToken>Axj//wSToHSF187gP3HeAAYs3bOGTJoxcOHLBk3YMGLFi5YuXCbWPCZNhAU2seEybD6Q6g8XfIZNtxlac9M1SgwJydA6QuvncB+47wAAWiva</requestToken> <purchaseTotals> <currency>eur</currency> </purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <requestDateTime>2026-01-12T13:23:11Z</requestDateTime> <amount>103.00</amount> <reconciliationID>7682241889027001119198</reconciliationID> <enhancedDataEnabled>y</enhancedDataEnabled> </ccCaptureReply> <card> <cardType>001</cardType> </card> <reserved> <ics_message xmlns="urn:schemas-cybersource-com:transaction-data:ics"> <auth_auth_response>0</auth_auth_response> <ics_decision_reason_code>100</ics_decision_reason_code> <auth_rflag>SOK</auth_rflag> <bill.reason_code>100</bill.reason_code> <auth_payment_network_transaction_id>123456789012345</auth_payment_network_transaction_id> <ics_rcode>1</ics_rcode> <ics_rmsg>Request was processed successfully.</ics_rmsg> <merchant_ref_number>TC10001</merchant_ref_number> <auth_auth_avs>1</auth_auth_avs> <bill_rcode>1</bill_rcode> <request_id>7682241889027001119198</request_id> <auth_auth_time>2026-01-12T132310Z</auth_auth_time> <auth_auth_code>726124</auth_auth_code> <request_token>Axj//wSToHSF187gP3HeAAYs3bOGTJoxcOHLBk3YMGLFi5YuXCbWPCZNhAU2seEybD6Q6g8XfIZNtxlac9M1SgwJydA6QuvncB+47wAAWiva</request_token> <card_type>001</card_type> <bill_enhanced_data_enabled>y</bill_enhanced_data_enabled> <auth_return_code>1010000</auth_return_code> <auth_rmsg>(00) Authorization or successful completion of a transaction</auth_rmsg> <ics_rflag>SOK</ics_rflag> <auth_rcode>1</auth_rcode> <currency>eur</currency> <bill_trans_ref_no>7682241889027001119198</bill_trans_ref_no> <auth.reason_code>100</auth.reason_code> <auth_auth_amount>103.00</auth_auth_amount> <ics_return_code>1000000</ics_return_code> <bill_bill_amount>103.00</bill_bill_amount> <bill_rflag>SOK</bill_rflag> <bill_rmsg>Request was processed successfully.</bill_rmsg> <bill_bill_request_time>2026-01-12T132311Z</bill_bill_request_time> <bill_return_code>1260000</bill_return_code> <auth_card_reference_data>123456789012345NQ NCA</auth_card_reference_data> </ics_message> </reserved> </replyMessage>

Refund a Payment

This section describes how to issue a refund. A refund is follow-on request that returns the payment amount from a completed capture or sale. You must have a capture or sale transaction ID.

Endpoint

Set the
ccCreditService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for Refunding a Payment

Set to the capture ID.
Set the value to
true
.
Set to the
merchant_ref_number
field value used in the corresponding capture request.

Required Fields for an Ancillary Purchase

Include these fields, and the fields above, if there is an ancillary purchase:
For a list of all possible values, see Ancillary Service Category Codes.
To send multiple category codes, you must include additional entries of this field in the leg.

Card-Specific Field for Processing Airline Refund

Certain card types require additional fields.

Diners Club

Use this field in addition to the required fields to capture an airline authorization when using a Diners Club card.

Optional Fields for Refunding a Payment

Optional only for Diners Club and Discover card types.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Format:
MMDDYYYY
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
ancillaryData_service_#_feeAmount
ancillaryData_service_#_feeCode

Example: Refunding a Payment

Request
<requestMessage> <merchantID>merchantID</merchantID> <merchantReferenceCode>merchantRefCode</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>1.01</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>captureRequestID</captureRequestID> </ccCreditService> <airlineData> <agentCode>98222147</agentCode> <agentName>Cyber Vacations</agentName> <ticketIssuerCode>198765432101234</ticketIssuerCode> <ticketNumber>2721187251</ticketNumber> <restrictedTicketIndicator>1</restrictedTicketIndicator> <passengerName>Jane Smith</passengerName> <customerCode>TESTCUSTOMERCODE</customerCode> <leg id="0"> <carrierCode>AA</carrierCode> <flightNumber>EZ123</flightNumber> <originatingAirportCode>SJC</originatingAirportCode> <class>H</class> <stopoverCode>0</stopoverCode> <departureDate>20251230</departureDate> <destination>SEA</destination> <fareBasis>HL7WNR</fareBasis> </leg> <leg id="1"> <carrierCode>A2</carrierCode> <flightNumber>JFK12</flightNumber> <originatingAirportCode>JFK</originatingAirportCode> <class>1</class> <stopoverCode>1</stopoverCode> <departureDate>20251230</departureDate> <destination>CD1</destination> <fareBasis>GH87N1</fareBasis> </leg> <creditReasonIndicator>A</creditReasonIndicator> <ticketUpdateIndicator>N</ticketUpdateIndicator> </airlineData> <ancillaryData> <ticketNumber>12345678901234</ticketNumber> <passengerName>Jane Smith</passengerName> <connectedTicketNumber>98765432109876</connectedTicketNumber> <creditReasonIndicator>A</creditReasonIndicator> <feeDescription>BagAndSeatFee</feeDescription> <service id="0"> <categoryCode>BG</categoryCode> <subcategoryCode>0AA</subcategoryCode> <feeAmount>2.00</feeAmount> <feeCode>BG</feeCode> </service> <service id="1"> <categoryCode>SA</categoryCode> <subcategoryCode>0B5</subcategoryCode> <feeAmount>1.00</feeAmount> <feeCode>SA</feeCode> </service> </ancillaryData> </requestMessage>
Response to a Successful Request
<replyMessage> <merchantReferenceCode>Postman-1666641056</merchantReferenceCode> <requestID>6666410568976150003010</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2022-10-24T19:50:57Z</requestDateTime> <amount>1.01</amount> <reconciliationID>6691571329CM5P99</reconciliationID> </ccCreditReply> </replyMessage>

Example: Refunding a Payment with Ancillary Purchase

Request
<requestMessage> <merchantID>merchantID</merchantID> <merchantReferenceCode>merchantRefCode</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>1.01</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>captureRequestID</captureRequestID> </ccCreditService> <airlineData> <agentCode>98222147</agentCode> <agentName>Cyber Vacations</agentName> <ticketIssuerCode>198765432101234</ticketIssuerCode> <ticketNumber>2721187251</ticketNumber> <restrictedTicketIndicator>1</restrictedTicketIndicator> <passengerName>Jane Smith</passengerName> <customerCode>TESTCUSTOMERCODE</customerCode> <leg id="0"> <carrierCode>AA</carrierCode> <flightNumber>EZ123</flightNumber> <originatingAirportCode>SJC</originatingAirportCode> <class>H</class> <stopoverCode>0</stopoverCode> <departureDate>20251230</departureDate> <destination>SEA</destination> <fareBasis>HL7WNR</fareBasis> </leg> <leg id="1"> <carrierCode>A2</carrierCode> <flightNumber>JFK12</flightNumber> <originatingAirportCode>JFK</originatingAirportCode> <class>1</class> <stopoverCode>1</stopoverCode> <departureDate>20251230</departureDate> <destination>CD1</destination> <fareBasis>GH87N1</fareBasis> </leg> <creditReasonIndicator>A</creditReasonIndicator> <ticketUpdateIndicator>N</ticketUpdateIndicator> </airlineData> <ancillaryData> <ticketNumber>12345678901234</ticketNumber> <passengerName>Jane Smith</passengerName> <connectedTicketNumber>98765432109876</connectedTicketNumber> <creditReasonIndicator>A</creditReasonIndicator> <feeDescription>BagAndSeatFee</feeDescription> <service id="0"> <categoryCode>BG</categoryCode> <subcategoryCode>0AA</subcategoryCode> <feeAmount>2.00</feeAmount> <feeCode>BG</feeCode> </service> <service id="1"> <categoryCode>SA</categoryCode> <subcategoryCode>0B5</subcategoryCode> <feeAmount>1.00</feeAmount> <feeCode>SA</feeCode> </service> </ancillaryData> </requestMessage>
Response to a Successful Request
<replyMessage> <merchantReferenceCode>Postman-1666641056</merchantReferenceCode> <requestID>6666410568976150003010</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2022-10-24T19:50:57Z</requestDateTime> <amount>1.01</amount> <reconciliationID>6691571329CM5P99</reconciliationID> </ccCreditReply> </replyMessage>

Issue a
Stand-Alone
Credit

This topic describes how to issue 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

set to
true
. For example
ccCreditService run="true"
.
Set to the
merchant_ref_number
value used in corresponding capture request.
Set to
airline
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Format:
MMDDYYYY
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.

Required Fields for an Ancillary Purchase

Include these fields, and the fields above, if there is an ancillary purchase:
For a list of all possible values, see Ancillary Service Category Codes.
To send multiple category codes, you must include additional entries of this field in the leg.

Card-Specific Field for Processing Airline
Stand-Alone Credits

Certain card types require additional fields.

Diners Club

Use this field in addition to the required fields to capture an airline authorization when using a Diners Club card.

Optional Fields for Airline
Stand Alone Credits

Optional only for Diners Club and Discover card types.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Format:
MMDDYYYY
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
Optional for consecutive legs after the first leg.
ancillaryData_service_#_feeAmount
ancillaryData_service_#_feeCode

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>

Example: Processing Airline
Stand-Alone Credits
for an Ancillary Purchase

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> <airlineData> <agentCode>98222147</agentCode> <agentName>Cyber Vacations</agentName> <ticketIssuerCode>198765432101234</ticketIssuerCode> <ticketNumber>2721187251</ticketNumber> <restrictedTicketIndicator>1</restrictedTicketIndicator> <passengerName>Jane Smith</passengerName> <customerCode>TESTCUSTOMERCODE</customerCode> <leg id="0"> <carrierCode>AA</carrierCode> <flightNumber>EZ123</flightNumber> <originatingAirportCode>SJC</originatingAirportCode> <class>H</class> <stopoverCode>0</stopoverCode> <departureDate>20251230</departureDate> <destination>SEA</destination> <fareBasis>HL7WNR</fareBasis> </leg> <leg id="1"> <carrierCode>A2</carrierCode> <flightNumber>JFK12</flightNumber> <originatingAirportCode>JFK</originatingAirportCode> <class>1</class> <stopoverCode>1</stopoverCode> <departureDate>20251230</departureDate> <destination>CD1</destination> <fareBasis>GH87N1</fareBasis> </leg> <creditReasonIndicator>A</creditReasonIndicator> <ticketUpdateIndicator>N</ticketUpdateIndicator> </airlineData> <ancillaryData> <ticketNumber>12345678901234</ticketNumber> <passengerName>Jane Smith</passengerName> <connectedTicketNumber>98765432109876</connectedTicketNumber> <creditReasonIndicator>A</creditReasonIndicator> <feeDescription>BagAndSeatFee</feeDescription> <service id="0"> <categoryCode>BG</categoryCode> <subcategoryCode>0AA</subcategoryCode> <feeAmount>2.00</feeAmount> <feeCode>BG</feeCode> </service> <service id="1"> <categoryCode>SA</categoryCode> <subcategoryCode>0B5</subcategoryCode> <feeAmount>1.00</feeAmount> <feeCode>SA</feeCode> </service> </ancillaryData> </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>

FDC Nashville Global
Airline Requests

This section describes the airline payment services you can use when processing with
FDC Nashville Global
.

Supported Card Types

This table lists the card types
FDC Nashville Global
supports and their values. When including the
card_cardType
field, set the field to a value listed in the card type value column.
FDC Nashville Global
Supported Card Types
Supported Card Type
Card Type Value
American Express
003
Discover
004
Mastercard
002
Visa
001

Authorize a Payment

This section describes how to process an airline authorization.

Authorization Restrictions

Ticket purchases that include multiple passengers may be included in a single authorization request, however,
Cybersource
recommends sending a separate capture request for each passenger.
If any ancillary purchases are made at the same time as the ticket purchase, you may include all the items in a single authorization request, however,
Cybersource
recommends separating the ancillary and ticket purchases into individual capture requests.
If any ancillary purchases are not made at the same time as the ticket purchase,
Cybersource
recommends separating the authorization and capture requests for the ancillary and ticket purchases.

Endpoint

Set the
ccAuthService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for an Airline Authorization

Include these fields to process an airline authorization.
When relaxed requirements for address data and the expiration date are being used, not all fields in this list are required. It is your responsibility to determine whether your account is enabled to use this feature and which fields are required. For details about relaxed requirements, see Relaxed Requirements for Address Data and Expiration Date in Payment Transactions.

Card-Specific Fields for an Airline Authorization

This section includes card-specific information required for an airline authorization.

American Express

Include these fields in addition to the required fields when using an American Express card. American Express requires leg fields in the authorization request. For more information about leg fields, see Airline Travel Legs.
Replace the
#
character with the number
0
, and consecutive numbers for every additional leg.
Replace the
#
character with the number
0
, and consecutive numbers for every additional leg.
Replace the
#
character with the number
0
, and consecutive numbers for every additional leg.
Replace the
#
character with the number
0
, and consecutive numbers for every additional leg.
Replace the
#
character with the number
0
, and consecutive numbers for every additional leg.

Simple Order
Example Airline Authorization

Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <billTo> <firstName>John</firstName> <lastName>Smith</lastName> <street1>201 S. Division St.</street1> <city>Ann Arbor</city> <state>MI</state> <postalCode>48104-2201</postalCode> <country>US</country> <email>[email protected]</email> </billTo> <shipTo> <firstName>CPS</firstName> </shipTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <card> <accountNumber>3739531923510-04</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2025</expirationYear> <cardType>003</cardType> </card> <ccAuthService run="true"> <industryDatatype>airline</industryDatatype> </ccAuthService> <airlineData> <passengerName>John</passengerName> <leg id="0"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>AB1234</fareBasis> </leg> </airlineData>
Response to a Successful Request
<merchantReferenceCode>gZZE9w03mnzQef4ePI1CnJeu7e+d0lTRmBZOSpG6gheF3JyRat</merchantReferenceCode> <requestID>6859960691616692203007</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccAuthReply> <reasonCode>100</reasonCode> <amount>50.00</amount> <authorizationCode>888888</authorizationCode> <avsCode>X</avsCode> <avsCodeRaw>I1</avsCodeRaw> <authorizedDateTime>2023-06-05T20:14:29Z</authorizedDateTime> <processorResponse>100</processorResponse> <reconciliationID>702412146IIXPP78</reconciliationID> <accountBalance>70.00</accountBalance> </ccAuthReply> <card> <cardType>003</cardType> </card> <pos> <terminalID>111111</terminalID> </pos>
Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <billTo> <firstName>John</firstName> <lastName>Smith</lastName> <street1>201 S. Division St.</street1> <city>Ann Arbor</city> <state>MI</state> <postalCode>48104-2201</postalCode> <country>US</country> <email>[email protected]</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <card> <accountNumber>40120000333300-26</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2025</expirationYear> <cardType>001</cardType> </card> <ccAuthService run="true"> <industryDatatype>airline</industryDatatype> </ccAuthService>
Response to a Successful Request
<merchantReferenceCode>gZZE9w03mnzQef4ePI1CnJeu7e+d0lTRmBZOSpG6gheF3JyRat</merchantReferenceCode> <requestID>6859958674966249203009</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccAuthReply> <reasonCode>100</reasonCode> <amount>50.00</amount> <authorizationCode>888888</authorizationCode> <avsCode>X</avsCode> <avsCodeRaw>I1</avsCodeRaw> <authorizedDateTime>2023-06-05T20:11:07Z</authorizedDateTime> <processorResponse>100</processorResponse> <reconciliationID>70240697CIIXNKX4</reconciliationID> <paymentNetworkTransactionID>123456789619999</paymentNetworkTransactionID> </ccAuthReply> <card> <cardType>001</cardType> </card> <pos> <terminalID>111111</terminalID> </pos>

Capture a Ticket Payment

This section describes how to capture an airline ticket payment, such as when a person is purchasing a ticket on your e-commerce store.

Capture Restrictions

For a ticket purchase with multiple passengers,
Cybersource
recommends sending separate capture requests for each passenger. The original authorization may be a single request.
When ancillary purchases are made at the same time as the ticket purchase,
Cybersource
recommends sending separate capture requests for the ticket and ancillary purchases.

Airline Travel Legs

FDC Nashville Global
requires you to include travel leg fields in your requests, even for direct flights. For more information about how to format travel leg fields, see Airline Travel Legs.

Leg Limitations

FDC Nashville Global
limits the maximum number of legs for each trip based on card type. This table describes the maximum number of legs for each trip based on processor and card type.
FDC Nashville Global
Leg Limitations
Supported Card Types
Maximum Number of Trip Legs
American Express
4
Discover
4
Mastercard
99
Visa
4

Endpoint

Set the
ccCaptureService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for Capturing a Ticket Payment

Include these required fields to capture an airline payment for tickets.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
airlineData_ticketNumber
Set the value to
true
.
ccCapture_industryDataType
Set the value to
airline
.
Set to the
merchant_ref_number
field value used in the corresponding authorization request.

Card-Specific Fields for Capturing a Ticket Payment

This section includes card-specific information required to capture a payment for tickets.

Discover

Include these fields in addition to the required fields when using a Discover card.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Set the value to
A
or
P
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Set the value to
A
or
P
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.

Mastercard

Include these fields in addition to the required fields when using a Mastercard card.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.

Visa

Include this field in addition to the required fields when using a Visa card.
Set the value to
0
for refundable.
Set the value to
1
for nonrefundable.

Optional Fields for an Airline Capture

Choose from these optional fields to include additional information when capturing an airline payment for direct flight tickets.
airlineData_clearingCount
airlineData_clearingSequence
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Set the value to
O
(capital letter "O") to indicate the leg of a trip is allowed to stopover. Default value.
Set the value to
X
to indicate the leg of a trip is not allowed to stopover.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
airlineData_totalClearingAmount

Simple Order
Example: Capturing a Visa Airline Payment

Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <taxAmount>3</taxAmount> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <otherTax> <localTaxAmount>20</localTaxAmount> </otherTax> <ccCaptureService run="true"> <authRequestID>6841863354646003603681</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentName>Thomascook</agentName> <ticketNumber>asd23</ticketNumber> <passengerName>John</passengerName> <customerCode>LDTYOU789</customerCode> <totalFee>200</totalFee> <leg id="0"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="1"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="2"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1720</departureTime> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="3"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1720</departureTime> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <planNumber>2B</planNumber> <exchangeTicketAmount>87654</exchangeTicketAmount> <exchangeTicketFee>32345</exchangeTicketFee> </airlineData>
Response to a Successful Request
<merchantReferenceCode>gZZE9w03mnzQef4ePI1CnJeu7e+d0lTRmBZOSpG6gheF3JyRat</merchantReferenceCode> <requestID>6859997862716741203010</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <requestDateTime>2023-06-05T21:16:26Z</requestDateTime> <amount>50.00</amount> <reconciliationID>702280482IIXTJ8K</reconciliationID> </ccCaptureReply>
Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <taxAmount>3</taxAmount> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <otherTax> <localTaxAmount>20</localTaxAmount> </otherTax> <ccCaptureService run="true"> <authRequestID>6917686812546643503007</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentCode>AGC12345</agentCode> <agentName>Thomascook</agentName> <ticketIssuerAddress>123 Happy St</ticketIssuerAddress> <ticketNumber>asd23</ticketNumber> <passengerName>John</passengerName> <customerCode>LDTYOU789</customerCode> <totalFee>200</totalFee> <leg id="0"> <carrierCode>AA</carrierCode> <flightNumber>123456789</flightNumber> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>AB1234</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1720</departureTime> <departureTimeSegment>P</departureTimeSegment> <arrivalTime>2220</arrivalTime> <arrivalTimeSegment>P</arrivalTimeSegment> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fare>100000000</fare> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="1"> <carrierCode>AA</carrierCode> <flightNumber>456789123</flightNumber> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>AB1234</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1720</departureTime> <departureTimeSegment>P</departureTimeSegment> <arrivalTime>2220</arrivalTime> <arrivalTimeSegment>P</arrivalTimeSegment> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fare>100000000</fare> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="2"> <carrierCode>AA</carrierCode> <flightNumber>987654321</flightNumber> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>AB1234</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1720</departureTime> <departureTimeSegment>P</departureTimeSegment> <arrivalTime>2220</arrivalTime> <arrivalTimeSegment>P</arrivalTimeSegment> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fare>100000000</fare> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="3"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>AB1234</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1720</departureTime> <departureTimeSegment>P</departureTimeSegment> <arrivalTime>2220</arrivalTime> <arrivalTimeSegment>P</arrivalTimeSegment> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fare>100000000</fare> <fee>999.99</fee> <tax>99</tax> </leg> <ticketIssueDate>20231010</ticketIssueDate> <planNumber>2B</planNumber> <arrivalDate>20230917</arrivalDate> <exchangeTicketAmount>87654</exchangeTicketAmount> <exchangeTicketFee>32345</exchangeTicketFee> </airlineData>
Response to a Successful Request
<merchantReferenceCode>Postman-1691769389</merchantReferenceCode> <requestID>6917693897226880503009</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <requestDateTime>2023-08-11T15:56:29Z</requestDateTime> <amount>50.00</amount> <reconciliationID>79955177DL62B711</reconciliationID> </ccCaptureReply>
Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <taxAmount>3</taxAmount> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <otherTax> <localTaxAmount>20</localTaxAmount> </otherTax> <ccCaptureService run="true"> <authRequestID>6917735883576902203011</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentName>Thomascook</agentName> <ticketNumber>asd23</ticketNumber> <passengerName>John</passengerName> <customerCode>LDTYOU789</customerCode> <totalFee>200</totalFee> <leg id="0"> <carrierCode>AA</carrierCode> <flightNumber>123456789</flightNumber> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>1</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1235</departureTime> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="1"> <carrierCode>AA</carrierCode> <flightNumber>987654321</flightNumber> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>1</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>1640</departureTime> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="2"> <carrierCode>AA</carrierCode> <flightNumber>78945612</flightNumber> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>1</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>2245</departureTime> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="3"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <fareBasis>1</fareBasis> <exchangeTicket>tickeT12</exchangeTicket> <departureTime>2345</departureTime> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <planNumber>2B</planNumber> <exchangeTicketAmount>87654</exchangeTicketAmount> <exchangeTicketFee>32345</exchangeTicketFee> </airlineData>
Response to a Successful Request
<merchantReferenceCode>Postman-1691773605</merchantReferenceCode> <requestID>6917736057356909103011</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <requestDateTime>2023-08-11T17:06:45Z</requestDateTime> <amount>50.00</amount> <reconciliationID>79959505DL62B7XL</reconciliationID> </ccCaptureReply>
Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <taxAmount>3</taxAmount> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <otherTax> <localTaxAmount>20</localTaxAmount> </otherTax> <ccCaptureService run="true"> <authRequestID>6841863354646003603681</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentName>Thomascook</agentName> <ticketNumber>asd23</ticketNumber> <restrictedTicketIndicator>1</restrictedTicketIndicator> <passengerName>John</passengerName> <customerCode>LDTYOU789</customerCode> <totalFee>200</totalFee> <leg id="0"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="1"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="2"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <leg id="3"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>999.99</fee> <tax>99</tax> </leg> <planNumber>2B</planNumber> <exchangeTicketAmount>87654</exchangeTicketAmount> <exchangeTicketFee>32345</exchangeTicketFee> </airlineData>
Response to a Successful Request
<merchantReferenceCode>gZZE9w03mnzQef4ePI1CnJeu7e+d0lTRmBZOSpG6gheF3JyRat</merchantReferenceCode> <requestID>6859975187656465603010</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <requestDateTime>2023-06-05T20:38:39Z</requestDateTime> <amount>50.00</amount> <reconciliationID>702412146IIXPP78</reconciliationID> </ccCaptureReply>

Capture an Ancillary Purchase

Ancillary purchases are any additional services, such as baggage, meals, and paid seats, your customers can purchase. Captures for ancillary purchases must be separate for captures for ticket purchases.
FDC Nashville Global
supports up to four ancillary purchases for each capture.

Capture Restrictions

When ancillary purchases are made at the same time as the ticket purchase,
Cybersource
recommends that you send separate capture requests for the ticket and ancillary purchases.
When ancillary purchases are not made at the same time as the ticket purchase,
Cybersource
recommends that you send separate authorization and capture requests for the ancillary and ticket purchases.

Endpoint

Set the
ccCaptureService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for an Airline Capture

Set the value to
true
.
Set to the
merchant_ref_number
field value used in the corresponding authorization request.

Ancillary Airline Fields

Choose from these optional ancillary airline fields to include in your capture request in addition to the required fields listed above.
FDC Nashville Global
supports up to four ancillary purchases for each capture.
Set the value to
C
for changing an existing ticket.
Set the value to
N
for a new ticket.
Replace the
#
character with a sequential number from
0
to
3
.
For a list of possible values, see Ancillary Service Category Codes.
Replace the
#
character with a sequential number from
0
to
3
.
For a list of possible values, see Ancillary Service Category Codes.

Simple Order
Example: Capturing an Airline Payment for Ancillary Purchases

Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <taxAmount>3</taxAmount> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <otherTax> <localTaxAmount>20</localTaxAmount> </otherTax> <ccCaptureService run="true"> <authRequestID>6841863354646003603681</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <ancillaryData> <ticketNumber>Ticket15CharMax</ticketNumber> <passengerName>AncillaryNameMax20ch</passengerName> <connectedTicketNumber>CONNTICKET12345</connectedTicketNumber> <service id="0"> <categoryCode>S1</categoryCode> <subcategoryCode>SSC1</subcategoryCode> </service> <service id="1"> <categoryCode>S2</categoryCode> <subcategoryCode>SSC2</subcategoryCode> </service> <service id="2"> <categoryCode>S3</categoryCode> <subcategoryCode>SSC3</subcategoryCode> </service> </ancillaryData>
Response to a Successful Request
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.142"> <merchantReferenceCode>gZZE9w03mnzQef4ePI1CnJeu7e+d0lTRmBZOSpG6gheF3JyRat</merchantReferenceCode> <requestID>6860000963746172003008</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <requestDateTime>2023-06-05T21:21:36Z</requestDateTime> <amount>50.00</amount> <reconciliationID>702280502IIXTJA7</reconciliationID> </ccCaptureReply> </replyMessage>

Issue a Follow-On Credit

This section describes how to process an airline follow-on credit, which requires you to have the transaction ID from the original payment.

Endpoint

Set the
ccCreditService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for an Airline
Follow-On Credit

Set the value to
true
.
Set to the
merchant_ref_number
field value used in the corresponding capture request.

Optional Fields for an Airline
Follow-On Credit

Choose from these optional fields to include additional information when processing an airline
follow-on credit
.
airlineData_clearingCount
airlineData_clearingSequence
airlineData_totalClearingAmount
Set to one of these possible values:
  • A
    : Passenger transport ancillary fee cancellation
  • B
    : Airline ticket and passenger transport ancillary fee cancellation
  • C
    : Airline ticket cancellation
  • O
    : Other
  • P
    : Partial refund of airline ticket

Simple Order API
Example: Processing an Airline
Follow-On Credit

Request
<merchantID>fdiglobal_cert_no_cbps</merchantID> <merchantReferenceCode>TLPANI6-28-1</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <taxAmount>3</taxAmount> <grandTotalAmount>50.00</grandTotalAmount> </purchaseTotals> <otherTax> <localTaxAmount>20</localTaxAmount> </otherTax> <ccCreditService run="true"> <captureRequestID>6897061702136732503007</captureRequestID> <industryDatatype>airline</industryDatatype> </ccCreditService> <airlineData> <agentName>Thomascook</agentName> <ticketNumber>asd23</ticketNumber> <passengerName>John</passengerName> <customerCode>LDTYOU789</customerCode> <totalFee>100</totalFee> <leg id="0"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>20.00</fee> <tax>5.00</tax> </leg> <leg id="1"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>20.00</fee> <tax>5.00</tax> </leg> <leg id="2"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>20.00</fee> <tax>5.00</tax> </leg> <leg id="3"> <carrierCode>AA</carrierCode> <originatingAirportCode>PDX</originatingAirportCode> <class>1</class> <stopoverCode>O</stopoverCode> <departureDate>20231010</departureDate> <destination>SJ</destination> <exchangeTicket>tickeT12</exchangeTicket> <endorsementsRestrictions>Endorsement123456789</endorsementsRestrictions> <fee>20.00</fee> <tax>5.00</tax> </leg> <planNumber>2B</planNumber> <exchangeTicketAmount>87654</exchangeTicketAmount> <exchangeTicketFee>32345</exchangeTicketFee> </airlineData>
Response to a Successful Request
<merchantReferenceCode>Postman-1689706432</merchantReferenceCode> <requestID>6897064319436878203011</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2023-07-18T18:53:52Z</requestDateTime> <amount>50.00</amount> <reconciliationID>75566045FK6J767C</reconciliationID> </ccCreditReply>

Getnet
Airline Requests

This section describes the airline payment service you can use when processing with
Getnet
.

Supported Card Types

This table lists the card types that
Getnet
supports.
Getnet
Supported Card Types
Supported Card Types
American Express
Mastercard
Visa

Authorize an Airline Ticket Payment

This section describes how to process an airline authorization.

Supported Card Types

This table lists the card types that supported by
Getnet
.
Getnet
Supported Card Types
Supported Card Types
American Express
Mastercard
Visa

Endpoint

Set the
ccAuthService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Optional Fields for an Airline Authorization

Choose from these optional fields to include additional information when authorizing a payment.
airlineData_boardingFee

Lloyds-OmniPay
Airline Requests

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

Supported Card Types

This table lists the card types that
Lloyds-OmniPay
supports.
Lloyds-OmniPay
Supported Card Types
Supported Card Types
Mastercard
Visa

Capture an Airline Ticket Payment

This section describes how to capture an airline payment.
Before you can capture payment, you must authorize the funds by sending an authorization request. The authorization response includes a request ID in the
requestID
field. The request ID is required in the capture request. For more information about how to send an authorization request, see the Standard Payment Processing section in the
Payments Developer Guide
.

Leg Limitations

Lloyds-OmniPay
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.
Lloyds-OmniPay
Leg Limitations
Supported Card Types
Maxiumum Number of Trip Legs
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.
Set to the
merchant_ref_number
value used in corresponding authorization request.
Vero
supports Brazilian real (BRL) currency only.
airlineData_ticketNumber
Set to
airline
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for 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

Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.23">    <merchantID>okgo</merchantID>    <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode>    <ccCaptureService run="true">       <industryDatatype>airline</industryDatatype>       <authRequestID>0839543530000172034078</authRequestID>    </ccCaptureService>    <purchaseTotals>       <currency>USD</currency>       <grandTotalAmount>204.78</grandTotalAmount>    </purchaseTotals>    <airlineData>       <agentCode>98222147</agentCode>       <agentName>Cyber Vacations</agentName>       <passengerName>Johnny Smith</passengerName>       <ticketNumber>02721187251</ticketNumber>       <leg id="0">          <departureDate>20061215</departureDate>
         <originatingAirportCode>SJC</originatingAirportCode>
         <carrierCode>AA</carrierCode>
         <destination>SEA</destination>
         <fareBasis>HL7WNR</fareBasis>
         <class>H</class>
         <stopoverCode>O</stopoverCode>
      </leg>       <leg id="1">          <departureDate>20061220</departureDate>
         <originatingAirportCode>SEA</originatingAirportCode>
         <carrierCode>AA</carrierCode>
         <destination>SJC</destination>
         <fareBasis>HL7WNR</fareBasis>
         <class>H</class>
         <stopoverCode>O</stopoverCode>
      </leg>    </airlineData> </requestMessage>
Response
<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.23">    <c:requestID>0305782650000167905080</c:requestID>    <c:decision>ACCEPT</c:decision>    <c:reasonCode>100</c:reasonCode>    <c:merchantReferenceCode>R98TV09EN200W</c:merchantReferenceCode>    <c:purchaseTotals><c:currency>USD</c:currency></c:purchaseTotals>    <c:ccCaptureReply>       <c:reasonCode>100</c:reasonCode>       <c:amount>204.78</c:amount>       <c:reconciliationID>1094820975023470</c:reconciliationID>       <c:enhancedDataEnabled>y</c:enhancedDataEnabled>    </c:ccCaptureReply> </c:replyMessage>

Issue a
Stand-Alone Credit

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

Include these required fields to request an airline
stand-alone credit
.
set to
true
. For example
ccCreditService run="true"
.
Set to the
merchant_ref_number
value used in corresponding capture request.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.

Optional Fields for Airline
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

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>

OmniPay Direct
Airline Requests

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.
Before you can capture payment, you must authorize the funds by sending an authorization request. The authorization response includes a request ID in the
requestID
field. The request ID is required in the capture request. For more information about how to send an authorization request, see the Standard Payment Processing section in the
Payments Developer Guide
.
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.
Vero
supports Brazilian real (BRL) currency only.

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

Request
<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
<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 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.
Vero
supports Brazilian real (BRL) currency only.

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

Request
<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
<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>

Issue a
Stand-Alone Credit

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

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>

Streamline
Airline Requests

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

Supported Card Types

This table lists the card types that
Streamline
supports.
Streamline
Supported Card Types
Supported Card Types
Cartes Bancaires
Dankort
Maestro (International)
Maestro (UK Domestic)
Mastercard
Visa

Capture an Airline Ticket Payment

This section describes how to capture an airline payment.
Before you can capture payment, you must authorize the funds by sending an authorization request. The authorization response includes a request ID in the
requestID
field. The request ID is required in the capture request. For more information about how to send an authorization request, see the Standard Payment Processing section in the
Payments Developer Guide
.

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.
Streamline
Leg Limitations
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 the
merchant_ref_number
value used in corresponding authorization request.
Vero
supports Brazilian real (BRL) currency only.
airlineData_ticketNumber
Set to
airline
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for 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

Request
<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 the
merchant_ref_number
value used in corresponding authorization request.
Vero
supports Brazilian real (BRL) currency only.
airlineData_ticketNumber
Set to
airline
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Set field value to
XAO
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Set field value to
XAA
.

Issue a
Stand-Alone Credit

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
.

Optional Fields for Airline
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

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>

TSYS Acquiring Solutions
Airline Requests

This section describes the airline payment services you can use when processing with
TSYS Acquiring Solutions
.
Cybersource
sends airline data for Mastercard and Discover to
TSYS Acquiring Solutions
, but
TSYS Acquiring Solutions
removes the airline data for these card types when sending the settlement information. Only American Express and Visa transactions qualify for the airline interchange rate.

Supported Card Types

This table lists the card types that
TSYS Acquiring Solutions
supports.
TSYS Acquiring Solutions
Supported Card Types
Supported Card Types
American Express
Visa

Authorize an Airline Ticket Payment

This sections describes how to process a successful
TSYS Acquiring Solutions
authorization.

Endpoint

Set the
ccAuthService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Capture an Airline Ticket Payment

This section describes how to capture an airline payment.

Leg Limitations

TSYS Acquiring Solutions
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.
TSYS Acquiring Solutions
Leg Limitations
Supported Card Types
Maxiumum Number of Trip Legs
American Express
9
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.

Multiple Captures

TSYS Acquiring Solutions
allows you to request multiple partial captures for one authorization when using the Visa card type. You must ensure that the total amount for all captures does not exceed the authorized amount. For a list of the fields required for multiple captures, see Multiple Capture Fields for an Airline Payment.

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 the
merchant_ref_number
value used in corresponding authorization request.
Vero
supports Brazilian real (BRL) currency only.
airlineData_ticketNumber
Set to
airline
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.

Multiple Capture Fields for an Airline Payment

Include these fields in addition to the required fields when you are requesting multiple partial captures for a single airline payment.
airlineData_clearingCount
airlineData_clearingSequence

Optional Fields for Capturing an Airline Payment

Simple Order API
Example: Capturing an Airline Payment

Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.11">    <merchantID>test-merchant</merchantID>    <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode>    <purchaseTotals>       <currency>USD</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>USD</currency></purchaseTotals>    <ccCaptureReply>       <reasonCode>100</reasonCode>       <amount>204.78</amount>       <reconciliationID>1094820975023470</reconciliationID>       <enhancedDataEnabled>y</enhancedDataEnabled>    </ccCaptureReply> </replyMessage>

Issue a
Stand-Alone Credit

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

Include these required fields to request an airline
stand-alone credit
.
set to
true
. For example
ccCreditService run="true"
.
Set to the
merchant_ref_number
value used in corresponding capture request.
airlineData_ticketNumber
Set to
airline
.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.
Replace the
#
character with the number
0
for the first leg and consecutive numbers for any additional legs.

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>

UATP
Airline Requests

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

Supported Card Type

This table describes the card type that
UATP
supports.
UATP
Supported Card Type
Supported Card Type
UATP

Capture an Airline Ticket Payment

This section describes how to capture an airline payment.
Before you can capture payment, you must authorize the funds by sending an authorization request. The authorization response includes a request ID in the
requestID
field. The request ID is required in the capture request. For more information about how to send an authorization request, see the Standard Payment Processing section in the
Payments Developer Guide
.

Leg Limitations

UATP
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.
UATP
Leg Limitations
Supported Card Types
Maxiumum Number of Trip Legs
UATP
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.

Invoice Date

Cybersource
creates an invoice number (INVN) for
UATP
transactions.
You can set the invoice date by inputting it in the value of the optional
airlineData_invoiceDate
field. If you do not use the invoice date field in your request,
Cybersource
uses the date the batch file was generated.
This table describes the different values of the fourteen-digit invoice number.
Invoice Number
Three characters
Two characters
Three characters
Four characters
Two characters
Airline code
Year
Example: 06 for 2006
Day
Example: 000 for January 1
Acquirer: the left-most Four digits of the card number
Spaces

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 the
merchant_ref_number
value used in corresponding authorization request.
Vero
supports Brazilian real (BRL) currency only.

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

Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.23">    <merchantID>okgo</merchantID>    <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode>    <ccCaptureService run="true">       <authRequestID>0839543530000172034078</authRequestID>       <reconciliationID>98R33X7</reconciliationID>    </ccCaptureService>    <purchaseTotals>       <currency>USD</currency>       <grandTotalAmount>204.78</grandTotalAmount>    </purchaseTotals>    <airlineData>       <passengerName>Johnny Smith</passengerName>       <leg id="0">          <carrierCode>AA</carrierCode>          <departureDate>20061215</departureDate>          <originatingAirportCode>SJC</originatingAirportCode>          <destination>SEA</destination>       </leg>       <leg id="1">          <carrierCode>AA</carrierCode>          <destination>SJC</destination>       </leg>    </airlineData> </requestMessage>
Response
<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.23">    <c:requestID>0305782650000167905080</c:requestID>    <c:decision>ACCEPT</c:decision>    <c:reasonCode>100</c:reasonCode>    <c:merchantReferenceCode>R98TV09EN200W</c:merchantReferenceCode>    <c:purchaseTotals><c:currency>USD</c:currency></c:purchaseTotals>    <c:ccCaptureReply>       <c:reasonCode>100</c:reasonCode>       <c:amount>204.78</c:amount>       <c:reconciliationID>1094820975023470</c:reconciliationID>       <c:enhancedDataEnabled>y</c:enhancedDataEnabled>    </c:ccCaptureReply> </c:replyMessage>

Issue a
Stand-Alone Credit

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

Include these required fields to request an airline
stand-alone credit
.

Optional Fields for Airline
Stand Alone Credits

Choose from these optional fields to include additional information when capturing an airline payment.

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>

Visa Platform Connect
Airline Requests

This section describes how to process airline payments using
Visa Platform Connect
.

Requirement

When you are ready to go live with airline data processing, contact
Cybersource
Customer Support to have your account configured to process airline data. If your account is not enabled, and you try to send airline transactions, you will receive an error for invalid data.

Related Information

  • See Airline Data for information about and requirements for processing payments that include airline data.
  • See Airline Data Reference Information for a list and description of the different document type and ancillary service category codes that are used when processing payments that include airline data.

Authorize an Airline Ticket Payment

This section describes how to process an airline authorization.

Authorization Restrictions

Ticket purchases that include multiple passengers may be included in a single authorization request, but you must make separate capture requests for every passenger.
If any ancillary purchases are made at the same time as the ticket purchase, you may include all items in a single authorization request, but you must separate the ancillary and ticket purchases into their own capture requests.
If any ancillary purchases are made not at the same time as the ticket purchase, you must send separate authorization and capture requests for the ancillary and ticket purchases.

Endpoint

Set the
ccAuthService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for Authorizing an Airline Payment

Include these required fields for authorizing an airline payment.
When relaxed requirements for address data and the expiration date are being used, not all fields in this list are required. It is your responsibility to determine whether your account is enabled to use this feature and which fields are required. For details about relaxed requirements, see Relaxed Requirements for Address Data and Expiration Date in Payment Transactions.

Simple Order Example: Authorizing an Airline Payment

Use this example as a reference for authorizing an airline payment.
Request
<requestMessage> <merchantID>merchantID</merchantID> <merchantReferenceCode>TC42703-1</merchantReferenceCode> <billTo> <firstName>John</firstName> <lastName>Doe</lastName> <street1>1295 Charleston Road</street1> <city>Mountain View</city> <state>CA</state> <postalCode>94043</postalCode> <country>US</country> <email></email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>1.02</grandTotalAmount> </purchaseTotals> <card> <accountNumber>4111111111111111</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2023</expirationYear> <cardType>001</cardType> </card> <ccAuthService run="true"> <industryDatatype>airline</industryDatatype> </ccAuthService> <requestMessage>
Response to a Successful Request
<c:replyMessage> <c:merchantReferenceCode>TC42703-1</c:merchantReferenceCode> <c:requestID>6823465362086241603012</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>1.02</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>X</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2023-04-24T14:28:56Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>74375324VGM5S0S6</c:reconciliationID> <c:paymentNetworkTransactionID>123456789619999</c:paymentNetworkTransactionID> </c:ccAuthReply> <c:card> <c:cardType>001</c:cardType> </c:card> <c:pos> <c:terminalID>111111</c:terminalID> </c:pos> </c:replyMessage>

Captures for Ticket Purchases

This section describes how to capture an airline payment for ticket purchases.
Captures for ticket purchases must be made separately from captures for ancillary purchases. For more information about how to capture an ancillary purchase, see Captures for Ancillary Purchases.

Travel Legs

You can use travel leg fields for trips that have multiple legs. For more information on how to use travel leg fields, see Airline Data.

Leg Limitations

Visa Platform Connect
limits the maximum number of legs for each trip based on card type. This table describes the maximum number of legs for each trip based on card type.
Visa Platform Connect
Leg Limitations
Supported Card Types
Maximum Number of Trip Legs
American Express
4
Discover
4
Mastercard
4
Visa
4

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 ticket purchases.

Card-Specific Field to Capture an Airline Payment

This section includes card-specific information.

Mastercard

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

Optional Fields for Capturing an Airline Payment

You can use these optional fields to include additional information when capturing an airline payment.
airlineData_carrierName
airlineData_clearingCount
airlineData_clearingSequence
airlineData_creditReasonIndicator
For a list of possible values, see Airline Document Type Codes.
airlineData_electronicTicket
airlineData_numberOfPassengers
airlineData_purchaseType
airlineData_reservationSystem
airlineData_ticketIssuerCity
airlineData_ticketIssuerCode
airlineData_ticketNumber
airlineData_ticketRestrictionText
airlineData_totalClearingAmount

Simple Order Example: Capturing an Airline Payment

Request
<requestMessage> <merchantID>World Wide Travel</merchantID> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCaptureService run="true"> <authRequestID>0839543530000172034078</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentCode>98222147</agentCode> <agentName>Cyber Vacations</agentName> <ticketNumber>02721187251</ticketNumber> <restrictedTicketIndicator>0</restrictedTicketIndicator> <passengerName>Johnny Smith</passengerName> <leg id="0"> <carrierCode>AA</carrierCode> <originatingAirportCode>SJC</originatingAirportCode> <departureDate>121511</departureDate> <destination>SEA</destination> <fareBasis>HL7WNR</fareBasis> <couponNumber>1</couponNumber> <departureTime>0931</departureTime> <departureTimeSegment>A</departureTimeSegment> <arrivalTime>1131</arrivalTime> <arrivalTimeSegment>A</arrivalTimeSegment> </leg> <leg id="1"> <carrierCode>AA</carrierCode> <originatingAirportCode>SEA</originatingAirportCode> <departureDate>122011</departureDate> <destination>SJC</destination> <fareBasis>HL7WNR</fareBasis> <couponNumber>2</couponNumber> <departureTime>1625</departureTime> <departureTimeSegment>P</departureTimeSegment> <arrivalTime>1837</arrivalTime> <arrivalTimeSegment>P</arrivalTimeSegment> </leg> </airlineData> </requestMessage>
Response to a Successful Request
<c:replyMessage> <c:merchantReferenceCode>R98TV09EN200W</c:merchantReferenceCode> <c:requestID>0305782650000167905080</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccCaptureReply> <c:reasonCode>100</c:reasonCode> <c:amount>204.78</c:amount> <c:reconciliationID>1094820975023470</c:reconciliationID> <c:enhancedDataEnabled>y</c:enhancedDataEnabled> </c:ccCaptureReply> </replyMessage>

Captures for Ancillary Purchases

This section describes how to capture an airline payment for ancillary purchases.
Ancillary purchases are any additional services, such as baggage, meals, and paid seats, that your customers can purchase. Captures for ancillary purchases must be made separately from captures for ticket purchases.

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 Authorization for Ancillary Purchases

Include these required fields to capture an airline payment for ancillary purchases.
Set the value to
true
.
Set to the
merchant_ref_number
value used in corresponding authorization request.
industry_datatype

Ancillary Fields for Capturing an Authorization for an Ancillary Purchase

Simple Order Example: Capturing an Authorization for an Ancillary Purchase

Use this example as a reference for capturing an authorization for ancillary purchases.
Request
<requestMessage> <merchantID>World Wide Travel</merchantID> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCaptureService run="true"> <authRequestID>0839543530000172034078</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <ancillaryData> <ticketNumber>123456789123456</ticketNumber> <passengerName>Jane Smith</passengerName> <connectedTicketNumber>98765432112345</connectedTicketNumber> <creditReasonIndicator>A</creditReasonIndicator> <service sequenceNumber="0"> <categoryCode>MEAL</categoryCode> <subCategoryCode>SPM</subCategoryCode> </service> <service sequenceNumber="1"> <categoryCode>ENTM</categoryCode> <subCategoryCode>DTV</subCategoryCode> </service> </ancillaryData> </requestMessage>
Response to a Successful Request
<c:replyMessage> <c:requestID>4250238442125000001540</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:merchantReferenceCode>R98TV09EN200W</c:merchantReferenceCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccCaptureReply> <c:reasonCode>100</c:reasonCode> <c:amount>204.78</c:amount> <c:reconciliationID>1094820975023470</c:reconciliationID> <c:enhancedDataEnabled>y</c:enhancedDataEnabled> </c:ccCaptureReply> </c:replyMessage>

Follow-On Credits

This topic describes how to process an airline follow-on credit.
This service returns the funds used in the initial capture and requires the original capture ID.

Endpoint

Set the
ccCreditService_run
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for Processing an Airline
Follow-On Credit

Optional Fields for Processing an Airline
Follow-On Credit

This section includes these types of optional fields for an airline
follow-on credit
:

General Optional Fields

You can use these optional fields to include additional information in any airline purchase.
airlineData_carrierName
airlineData_clearingCount
airlineData_clearingSequence
airlineData_creditReasonIndicator
For a list of possible values, see Airline Document Type Codes.
airlineData_electronicTicket
airlineData_numberOfPassengers
airlineData_purchaseType
airlineData_reservationSystem
airlineData_ticketIssuerCity
airlineData_ticketNumber
airlineData_ticketRestrictionText
airlineData_totalClearingAmount

Ancillary Optional Fields

You can use these optional fields to include additional information when requesting an airline
stand-alone credit
for an ancillary purchase.

Simple Order Example: Processing an Airline Follow-On Credit

Use this example as a reference for processing an airline follow-on credit.
Request
<requestMessage> <merchantID>merchantID</merchantID> <merchantReferenceCode>merchantRefCode</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>1.01</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>captureRequestID</captureRequestID> </ccCreditService> </requestMessage>
Response to a Successful Request
<replyMessage> <merchantReferenceCode>Postman-1666641056</merchantReferenceCode> <requestID>6666410568976150003010</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2022-10-24T19:50:57Z</requestDateTime> <amount>1.01</amount> <reconciliationID>6691571329CM5P99</reconciliationID> </ccCreditReply> </replyMessage>

Issue a
Stand-Alone
Credit

This topic describes how to process an airline stand-alone credit.
This service distributes funds without requiring a capture ID.
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 Processing an Airline
Stand-Alone Credit

Include these required fields to process an airline stand-alone credit.
When relaxed requirements for address data and the expiration date are being used, not all fields in this list are required. It is your responsibility to determine whether your account is enabled to use this feature and which fields are required. For details about relaxed requirements, see Relaxed Requirements for Address Data and Expiration Date in Payment Transactions.

Optional Fields for Processing an Airline
Stand-Alone Credit

This section includes these types of optional fields for an airline
stand-alone credit
:

General Optional Fields

You can use these optional fields to include additional information in any airline purchase.
airlineData_carrierName
airlineData_clearingCount
airlineData_clearingSequence
airlineData_creditReasonIndicator
For a list of possible values, see Airline Document Type Codes.
airlineData_electronicTicket
airlineData_numberOfPassengers
airlineData_purchaseType
airlineData_reservationSystem
airlineData_ticketIssuerCity
airlineData_ticketNumber
airlineData_ticketRestrictionText
airlineData_totalClearingAmount

Ancillary Optional Fields

You can use these optional fields to include additional information when requesting an airline
stand-alone credit
for an ancillary purchase.

Simple Order Example: Processing an Airline Stand-Alone Credit

Request
<billTo> <firstName>John</firstName> <lastName>Doe</lastName> <street1>1295 Charleston Road</street1> <city>Mountain View</city> <state>CA</state> <postalCode>94043</postalCode> <country>US</country> <email></email> </billTo> <card> <accountNumber>4111111111111111</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2023</expirationYear> </card> <merchantID>lrsebctest</merchantID> <merchantReferenceCode>Postman-1666381004</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>1.01</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>6663700818566565103010</captureRequestID> </ccCreditService>
Response to a Successful Request
<merchantReferenceCode>Postman-1666374834</merchantReferenceCode> <requestID>6663748348516429203007</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccAuthReply> <reasonCode>100</reasonCode> <amount>1.01</amount> <authorizationCode>888888</authorizationCode> <avsCode>X</avsCode><avsCodeRaw>I1</avsCodeRaw> <authorizedDateTime>2022-10-21T17:53:54Z</authorizedDateTime> <processorResponse>100</processorResponse> <reconciliationID>66737280B9CGUCCP</reconciliationID> <paymentNetworkTransactionID>123456789619999</paymentNetworkTransactionID> </ccAuthReply> <card> <cardType>001</cardType> </card> <pos> <terminalID>111111</terminalID> </pos>

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.
Airline Document Type Codes
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
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

Airline Data

Airline data processing goes beyond basic payment transactions by allowing you to process specific travel data. This requires you to submit additional information, such as:
  • Carrier
  • Departure Date
  • Destination Airport
  • Purchase Date
  • Originating Airport
  • Ticket Class
  • Trip Legs

Supported Processor

Requirement

When you are ready to go live with airline data processing, contact
Cybersource
Customer Support to have your account configured to process airline data. If your account is not enabled, and you try to send airline transactions, you will receive an error for invalid data.

Related Information

Relaxed Requirements for Address Data and Expiration Date in Payment Transactions

With relaxed requirements for address data and the expiration date, not all standard payment request fields are required. It is your responsibility to determine whether your account is enabled to use this feature and which fields are required.

Airline Data Processing

This section describes how to process airline payments.

Requirement

When you are ready to go live with airline data processing, contact
Cybersource
Customer Support to have your account configured to process airline data. If your account is not enabled, and you try to send airline transactions, you will receive an error for invalid data.

Related Information

  • See Airline Data for information about and requirements for processing payments that include airline data.
  • See Airline Data Reference Information for a list and description of the different document type and ancillary service category codes that are used when processing payments that include airline data.