On This Page
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
. 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.Visa Platform Connect
(“VPC”)
processing- 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.
- 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.
- 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.
- 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 isnotincluded 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
American Express Direct
Airline RequestsThis 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.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
.Required Fields for Requesting an Airline Authorization Using the Simple Order API
Simple Order API
- airlineData_numberOfPassengers
- Set toairline.
- ics_applications
- Set this field toics_auth.
Optional Field for Requesting an Airline Authorization Using the Simple Order API
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.
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
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 toairline.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports Brazilian real (BRL) currency only.
Required Fields for Capturing an Airline Ancillary Authorization Using the Simple Order API
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
Simple Order API
Choose from these optional fields to capture any airline payment.
- airlineData_electronicTicket
- airlineData_numberOfPassengers
- airlineData_originalTicketNumber
- airlineData_purchaseType
- airlineData_ticketNumber
Issue a Stand-Alone Credit
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
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 toairline.
Required Fields for an Airline Ancillary Stand-Alone Credits
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
Stand-Alone Credit
Choose from these optional fields to credit any airline purchase.
- airlineData_electronicTicket
- airlineData_numberOfPassengers
- airlineData_originalTicketNumber
- airlineData_purchaseType
- airlineData_ticketNumber
Barclays Airline Requests
Barclays
Airline RequestsThis 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.
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 number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- airlineData_ticketNumber
- Set the value toairline.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports 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.
Optional Fields for Capturing an Airline Payment
- airlineData_invoiceNumber
- airlineData_leg_#_departTax
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
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
Stand
Alone Credits
- airlineData_ticketNumber
- Set the value toairline.
- Set the value totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
Card-Specific Field for Airline Stand-Alone Credits
Stand-Alone Credits
Some card types require additional fields.
Visa
Use this field to capture an airline payment when using a Visa
card.
Optional Fields for Airline Stand
Alone Credits
Stand
Alone Credits
- airlineData_invoiceNumber
- airlineData_leg_#_departTax
Example: Processing Airline Stand-Alone Credits
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
Elavon
Airline RequestsThis 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.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 therequestIDfield. 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 thePayments 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.
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 number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Format:MMDDYYYY
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set toairline.
- Set to themerchant_ref_numbervalue 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
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 totrue.
- Set to themerchant_ref_numberfield 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
Stand-Alone
CreditThis 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
Stand Alone
Credits- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Format:MMDDYYYY
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
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
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
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
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
Stand-Alone Credits
for an Ancillary
PurchaseRequest
<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
FDC Nashville Global
Airline RequestsThis 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.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.
- Set the value totrue.
- ccAuthService_industry_datatype
- Set the value toairline.
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 number0, and consecutive numbers for every additional leg.
- Replace the#character with the number0, and consecutive numbers for every additional leg.
- Replace the#character with the number0, and consecutive numbers for every additional leg.
- Replace the#character with the number0, and consecutive numbers for every additional leg.
- Replace the#character with the number0, and consecutive numbers for every additional leg.
Simple Order Example Airline Authorization
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.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 number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- airlineData_ticketNumber
- Set the value totrue.
- ccCapture_industryDataType
- Set the value toairline.
- Set to themerchant_ref_numberfield 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 number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set the value toAorP.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set the value toAorP.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
Mastercard
Include these fields in addition to the required fields when using a Mastercard
card.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
Visa
Include this field in addition to the required fields when using a Visa card.
- Set the value to0for refundable.
- Set the value to1for 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 number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set the value toO(capital letter "O") to indicate the leg of a trip is allowed to stopover. Default value.
- Set the value toXto indicate the leg of a trip is not allowed to stopover.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- airlineData_totalClearingAmount
Simple Order Example: Capturing a Visa Airline
Payment
Simple Order
Example: Capturing a Visa Airline
PaymentRequest
<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 totrue.
- Set to themerchant_ref_numberfield 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 toCfor changing an existing ticket.
- Set the value toNfor a new ticket.
- Replace the#character with a sequential number from0to3.
- For a list of possible values, see Ancillary Service Category Codes.
- Replace the#character with a sequential number from0to3.
- For a list of possible values, see Ancillary Service Category Codes.
Simple Order Example: Capturing an Airline Payment for Ancillary
Purchases
Simple Order
Example: Capturing an Airline Payment for Ancillary
PurchasesRequest
<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
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
Follow-On Credit
- Set the value totrue.
- Set to themerchant_ref_numberfield value used in the corresponding capture request.
Optional Fields for an Airline Follow-On Credit
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
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
Getnet
Airline RequestsThis 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.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
.
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
.Required Fields for Capturing an Airline Payment
Include these required fields to capture an airline payment.
Optional Fields for an Airline Authorization
Choose from these optional fields to include additional information when authorizing
a payment.
Lloyds-OmniPay Airline Requests
Lloyds-OmniPay
Airline RequestsThis 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.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.
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 themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports Brazilian real (BRL) currency only.
- airlineData_ticketNumber
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
Optional Fields for Capturing an Airline Payment
Choose from these optional fields to include additional information when capturing an
airline payment.
- airlineData_carrierName
- Only for Mastercard.
- Only for Visa.
- Only for Mastercard.
- Only for Mastercard.
Simple Order API Example: Capturing an Airline Payment
Simple Order API
Example: Capturing an Airline PaymentRequest
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.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
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
Stand
Alone Credits
Include these required fields to request an airline
stand-alone credit
.- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
Optional Fields for Airline Stand
Alone Credits
Stand
Alone Credits
Choose from these optional fields to include additional information when processing
an airline
stand-alone
credit
.- airlineData_carrierName
- Only for Mastercard.
- Only for Visa.
- Only for Mastercard.
- Only for Mastercard.
Simple Order API Example: Processing Airline Stand-Alone Credits
Simple Order API
Example: Processing Airline Stand-Alone Credits
Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>0305782650000167905080</captureRequestID> </ccCreditService> </requestMessage>
Response
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantReferenceCode>Postman-1701820687</merchantReferenceCode> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <requestToken>Axj/7wSTfHUvjqCkViFEABEg2asWjlgzb0qE+c4YxmKeQXe+aFgKeQXe+bn6QHymhcMmkmXoxZaH/wJyb46l4wXgbv0b4AAAAxnW</requestToken> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2023-12-05T23:58:07Z</requestDateTime> <amount>204.78</amount> <reconciliationID>65149037RPON81F1</reconciliationID> <authorizationCode>888888</authorizationCode> <processorResponse>100</processorResponse> </ccCreditReply> </replyMessage>
OmniPay Direct Airline Requests
OmniPay Direct
Airline RequestsThis 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 | 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.
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 toairline.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports 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.
- airlineData_carrierName
- Format: 2 letter IATA airline code
- Required for US transactions.
Maestro (UK Domestic)
For reduced interchange, use these fields when capturing an airline payment
with a Maestro (UK Domestic) card.
- airlineData_carrierName
- Required for US transactions.
Mastercard
For reduced interchange, use these fields when capturing an airline payment
with a Mastercard.
- airlineData_carrierName
- Required for US transactions.
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.
- airlineData_carrierName
- Set to two letter IATA airline code.
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
Simple Order API
Example: Capturing an Airline PaymentRequest
<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 toairline.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports 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.
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.
Visa
Choose from these optional fields to add additional information when using a Visa
card.
Simple Order API Example: Capturing an Airline Payment
Simple Order API
Example: Capturing an Airline PaymentRequest
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.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
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
Stand
Alone Credits
Include these required fields to request an airline
stand-alone credit
.- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
Simple Order API Example: Processing Airline Stand-Alone Credits
Simple Order API
Example: Processing Airline Stand-Alone Credits
Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>0305782650000167905080</captureRequestID> </ccCreditService> </requestMessage>
Response
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantReferenceCode>Postman-1701820687</merchantReferenceCode> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <requestToken>Axj/7wSTfHUvjqCkViFEABEg2asWjlgzb0qE+c4YxmKeQXe+aFgKeQXe+bn6QHymhcMmkmXoxZaH/wJyb46l4wXgbv0b4AAAAxnW</requestToken> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2023-12-05T23:58:07Z</requestDateTime> <amount>204.78</amount> <reconciliationID>65149037RPON81F1</reconciliationID> <authorizationCode>888888</authorizationCode> <processorResponse>100</processorResponse> </ccCreditReply> </replyMessage>
Streamline Airline Requests
Streamline
Airline RequestsThis 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.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.
Supported Card Types | Maxiumum Number of Trip Legs |
|---|---|
Cartes Bancaires | 4 |
Dankort | 4 |
Maestro (International) | 4 |
Maestro (UK Domestic) | 4 |
Mastercard | 4 |
Visa | 4 |
Document Type
When capturing an airline payment, you must use the
airlineData_documentType
field to specify the purpose of the transaction. For all possible values, see Airline Document Type Codes. Endpoint
Set the
ccCaptureService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Capturing an Airline Payment
Include these required fields to capture an airline payment.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports Brazilian real (BRL) currency only.
- airlineData_ticketNumber
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
Optional Fields for Capturing an Airline Payment
Choose from these optional fields to include additional information when capturing an
airline payment.
Simple Order API Example: Capturing an Airline Payment
Simple Order API
Example: Capturing an Airline PaymentRequest
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.11"> <merchantID>regenttravel</merchantID> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <purchaseTotals> <currency>GBP</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCaptureService run="true"> <authRequestID>0839543530000172034078</authRequestID> <industryDatatype>airline</industryDatatype> </ccCaptureService> <airlineData> <agentCode>98222147<agentCode> <agentName>Regent Travel</agentName> <ticketNumber>1234567890123450</ticketNumber> <passengerName>John Smith</passengerName> <leg id="0"> <carrierCode>VS</carrierCode> <originatingAirportCode>GLA</originatingAirportCode> <class>C</class> <departureDate>080812</departureDate> <destination>LGW</destination> </leg> </airlineData> </requestMessage>
Response
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.124"> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <purchaseTotals><currency>EUR</currency></purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <amount>204.78</amount> <reconciliationID>1094820975023470</reconciliationID> <enhancedDataEnabled>y</enhancedDataEnabled> </ccCaptureReply> </replyMessage>
Captures for Miscellaneous Charge Orders
This section describes how to capture an Miscellaneous Charge Order (MCO)
airline authorization. capture an Miscellaneous Charge Order (MCO)
airline authorization.
An MCO is an airline transaction for a non-ticket purchase, such as an insurance payment
or an excess baggage fee. An MCO must be its own airline transaction, separate from a
capture for a ticket purchase.
Document Type
When capturing an airline payment, you must use the
airlineData_documentType
field to specify the purpose of the transaction. For all possible values, see Airline Document Type Codes. Endpoint
Set the
ccCaptureService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Capturing an Airline Payment
Include these required fields to capture an airline MCO authorization.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports Brazilian real (BRL) currency only.
- airlineData_ticketNumber
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set field value toXAO.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Set field value toXAA.
Issue a Stand-Alone Credit
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
Stand
Alone Credits
Include these required fields to request an airline
stand-alone credit
.- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
- airlineData_ticketNumber
- Set toairline.
Optional Fields for Airline Stand
Alone Credits
Stand
Alone Credits
Choose from these optional fields to include additional information when processing
an airline
stand-alone
credit
.Simple Order API Example: Processing Airline Stand-Alone Credits
Simple Order API
Example: Processing Airline Stand-Alone Credits
Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>0305782650000167905080</captureRequestID> </ccCreditService> </requestMessage>
Response
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantReferenceCode>Postman-1701820687</merchantReferenceCode> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <requestToken>Axj/7wSTfHUvjqCkViFEABEg2asWjlgzb0qE+c4YxmKeQXe+aFgKeQXe+bn6QHymhcMmkmXoxZaH/wJyb46l4wXgbv0b4AAAAxnW</requestToken> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2023-12-05T23:58:07Z</requestDateTime> <amount>204.78</amount> <reconciliationID>65149037RPON81F1</reconciliationID> <authorizationCode>888888</authorizationCode> <processorResponse>100</processorResponse> </ccCreditReply> </replyMessage>
TSYS Acquiring Solutions Airline Requests
TSYS Acquiring Solutions
Airline RequestsThis 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.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
.Required Fields for an Airline Authorization
Include these required fields for processing an airline authorization.
- Set this field totrue.
- airlineData_numberOfPassengers
- airlineData_ticketNumber
- Set toairline.
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.
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 themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports Brazilian real (BRL) currency only.
- airlineData_ticketNumber
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
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
Choose from these optional fields to include additional information when capturing an
airline payment.
Simple Order API Example: Capturing an Airline Payment
Simple Order API
Example: Capturing an Airline PaymentRequest
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.11"> <merchantID>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
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
Stand
Alone Credits
Include these required fields to request an airline
stand-alone credit
.- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
- airlineData_ticketNumber
- Set toairline.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
- Replace the#character with the number0for the first leg and consecutive numbers for any additional legs.
Simple Order API Example: Processing Airline Stand-Alone Credits
Simple Order API
Example: Processing Airline Stand-Alone Credits
Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>0305782650000167905080</captureRequestID> </ccCreditService> </requestMessage>
Response
<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantReferenceCode>Postman-1701820687</merchantReferenceCode> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <requestToken>Axj/7wSTfHUvjqCkViFEABEg2asWjlgzb0qE+c4YxmKeQXe+aFgKeQXe+bn6QHymhcMmkmXoxZaH/wJyb46l4wXgbv0b4AAAAxnW</requestToken> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2023-12-05T23:58:07Z</requestDateTime> <amount>204.78</amount> <reconciliationID>65149037RPON81F1</reconciliationID> <authorizationCode>888888</authorizationCode> <processorResponse>100</processorResponse> </ccCreditReply> </replyMessage>
UATP Airline Requests
UATP
Airline RequestsThis 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.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.
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.
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 themerchant_ref_numbervalue used in corresponding authorization request.
- Verosupports 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
Simple Order API
Example: Capturing an Airline PaymentRequest
<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
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
Stand
Alone Credits
Include these required fields to request an airline
stand-alone credit
.- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
- ccCreditService_reconciliationID
Optional Fields for Airline Stand
Alone Credits
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
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
Visa Platform Connect
Airline RequestsThis 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.
- Set the value toairline.
- Set the value totrue.
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.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.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- Set the value toairline.
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
Related Information
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 totrue.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
- industry_datatype
Related Information
Ancillary Fields for Capturing an Authorization for an Ancillary Purchase
Choose from these optional ancillary fields to add additional information when
capturing 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
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
Follow-On Credit
Include these required fields to process an airline follow-on
credit.
- Set the value totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
Related Information
Optional Fields for Processing an Airline Follow-On Credit
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
Airline Optional Fields for Ticket Purchases
You can use these optional fields to include additional information when requesting
an airline
stand-alone
credit
for a ticket purchase.Ancillary Optional Fields
You can use these optional fields to include additional information when requesting
an airline
stand-alone
credit
for an ancillary purchase.- ancillaryData_connectedTicketNumber
- For a list of possible values, see Ancillary Service Category Codes.
Related Information
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
Stand-Alone
CreditThis 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
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.
- Set the value totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
- Set the value toairline.
Optional Fields for Processing an Airline Stand-Alone Credit
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
Airline Optional Fields for Ticket Purchases
You can use these optional fields to include additional information when requesting
an airline
stand-alone
credit
for a ticket purchase.Ancillary Optional Fields
You can use these optional fields to include additional information when requesting
an airline
stand-alone
credit
for an ancillary purchase.- ancillaryData_connectedTicketNumber
- For a list of possible values, see Ancillary Service Category Codes.
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.Code | Description |
|---|---|
01 | Passenger ticket |
02 | Additional collection |
03 | Excess baggage |
04 | Miscellaneous charge order (MCO) or
prepaid ticket authorization |
05 | Special service ticket |
06 | Supported refund |
07 | Unsupported refund |
08 | Lost ticket application |
09 | Tour order voucher |
10 | Ticket by mail |
11 | Undercharge adjustment |
12 | Group ticket |
13 | Exchange adjustment |
14 | SPD or air freight |
15 | In-flight adjustment |
16 | Agency passenger ticket |
17 | Agency tour order or voucher |
18 | Agency miscellaneous charge order
(MCO) |
19 | Agency exchange order |
20 | Agency group ticket |
21 | Debit adjustment for duplicate
refund or use |
22 | In-flight merchandise order |
23 | Catalogue merchandise order |
24 | In-flight phone charges |
25 | Frequent flyer fee or
purchase |
26 | Kennel charge |
27 | Animal transportation charge |
28 | Firearms case |
29 | Upgrade charge |
30 | Credit for unused
transportation |
31 | Credit for class of service
adjustment |
32 | Credit for denied boarding |
33 | Credit for miscellaneous
refund |
34 | Credit for lost ticket
refund |
35 | Credit for exchange refund |
36 | Credit for overcharge
adjustment |
37 | Credit for multiple Unused
tickets |
38 | Exchange order |
39 | Self-service ticket |
41 | In-flight duty-free purchase |
42 | Senior citizen discount
booklets |
43 | Club membership fee |
44 | Coupon book |
45 | In-flight charges |
46 | Tour deposit |
47 | Frequent flyer overnight delivery
charge |
48 | Frequent flyer fulfillment |
49 | Small package delivery |
50 | Vendor sale |
51 | Miscellaneous taxes or fees |
52 | Travel agency fee |
60 | Vendor refund or credit |
64 | Duty free sale |
65 | Preferred seat upgrade |
66 | Cabin upgrade |
67 | Lounge or club access or day
pass |
68 | Agent assisted reservation or
ticketing fee |
69 | Ticket change or cancel fee |
70 | Trip insurance |
71 | Unaccompanied minor |
72 | Standby fee |
73 | Curbside baggage |
74 | In-flight medical equipment |
75 | Ticket or pass print fee |
76 | Checked sporting or special
equipment |
77 | Dry ice fee |
78 | Mail or postage fee |
79 | Club membership fee or temporary
trial |
80 | Frequent flyer activation or
reinstatement |
81 | Gift certificate |
82 | Onboard or in-flight prepaid
voucher |
83 | Optional services fee |
84 | Advance purchase for excess
baggage |
85 | Advance purchase for preferred seat
upgrade |
86 | Advance purchase for cabin
upgrade |
87 | Advance purchase for optional
services |
88 | Wi-Fi |
89 | Packages |
90 | In-flight entertainment or internet
access |
91 | Overweight bag fee |
92 | Sleep sets |
93 | Special purchase fee |
Ancillary Service Category Codes
To indicate the service provided in an ancillary purchase, set the
ancillaryData_service_#_categoryCode
and ancillaryData_service_#_subcategoryCode
fields to a value listed in the Ancillary Service Category Code column.Ancillary Service Category
Codes | Description |
|---|---|
BF | Bundled service |
BG | Baggage fee |
CF | Change fee |
CG | Cargo |
CO | Carbon offset |
FF | Frequent flyer |
GF | Gift card |
GT | Ground transport |
IE | In-flight entertainment |
LG | Lounge |
MD | Medical |
ML | Meal or beverage |
OT | Other |
PA | Passenger assist fee |
PT | Pets |
SA | Seat fees |
SB | Standby |
SF | Service fee |
ST | Store |
TS | Travel service |
UN | Unaccompanied travel |
UP | Upgrades |
WI | Wi-Fi |
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
- See Airline Data Processing for information that shows you how to process payments that include airline data.
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.