Skip to main content
Welcome to the preview portal — This is an early release of the new Doc Hub experience, with more content coming soon.

Ancillary Purchases


Overview

An ancillary purchase is a non-ticket airline charge, such as a baggage fee, a seat upgrade, or an insurance payment. Ancillary purchases can accompany a ticket purchase, but must be captured, credited, or refunded separately from the ticket transaction.

Streamline refers to this same concept as a Miscellaneous Charge Order (MCO): an airline transaction for a non-ticket purchase that must be its own airline transaction, separate from a capture for a ticket purchase.

Many processors require a document type field to specify the purpose of an ancillary transaction. Document type code 04 identifies a Miscellaneous Charge Order (MCO) or a prepaid ticket authorization. For the full list of document type and ancillary service category code values, see Airline Data Codes.

Supported Processors

Supported processors: Chase Paymentech Solutions, FDC Nashville Global, Streamline,

Capturing an Ancillary Purchase

Endpoints

Send the request to the transaction processor endpoint with the ccCaptureService_run field set to true.

POST /commerce/1.x/transactionProcessor

POST /commerce/1.x/transactionProcessor

Processor-Specific Capture Information

This list describes processor-specific ancillary capture behavior:

Chase Paymentech Solutions

Capture requests must include all the airline-related information, with the ccCaptureService_industryDatatype field set to airline. You must send ticket purchases and ancillary purchases in separate captures. To indicate the service provided, set the ancillaryData_service_#_categoryCode field to an ancillary service category code. For possible values, see Airline Data Codes.

Chase Paymentech Solutions uses the same required fields as a standard Simple Order capture. See Simple Order Captures Required Fields.

FDC Nashville Global

FDC Nashville Global supports up to four ancillary purchases for each capture. See FDC Nashville Global Required Fields.

Streamline

Streamline refers to a non-ticket airline purchase, such as an insurance payment or an extra baggage fee, as a Miscellaneous Charge Order (MCO). An MCO must be its own airline transaction, separate from a capture for a ticket purchase. See Streamline Required Fields.

Visa Platform Connect

Captures for ancillary purchases must be made separately from captures for ticket purchases. See Required Fields.

Required Fields

Default Required Fields
ccCaptureService_authRequestID Required
ccCaptureService_run Required

Set the value to true.

merchantID Required
merchantReferenceCode Required

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

purchaseTotals_currency Required
purchaseTotals_grandTotalAmount Required

requires only the default fields, plus the ancillary-specific optional fields below.

Optional Fields
ancillaryData_connectedTicketNumber Optional
ancillaryData_creditReasonIndicator Optional
ancillaryData_passengerName Optional
ancillaryData_service_#_categoryCode Optional

For a list of possible values, see Airline Data Codes.

ancillaryData_service_#_subcategoryCode Optional
ancillaryData_ticketNumber Optional
FDC Nashville Global Required Fields

In addition to the default required fields, FDC Nashville Global also requires this field.

airlineData_ticketUpdateIndicator Required

Set the value to C for changing an existing ticket, or N for a new ticket.

Choose from these optional ancillary airline fields to include in the capture request, in addition to the required fields above. Replace the # character with a sequential number from 0 to 3.

ancillaryData_connectedTicketNumber Optional
ancillaryData_passengerName Optional
ancillaryData_service_#_categoryCode Optional

Replace the # character with a sequential number from 0 to 3. For a list of possible values, see Airline Data Codes.

ancillaryData_service_#_subcategoryCode Optional

Replace the # character with a sequential number from 0 to 3. For a list of possible values, see Airline Data Codes.

ancillaryData_ticketNumber Optional
Required Fields
Streamline Required Fields

Streamline requires these fields to capture an airline MCO authorization.

ccCaptureService_authRequestID Required
ccCaptureService_run Required
merchantID Required
merchantReferenceCode Required

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

purchaseTotals_currency Required
purchaseTotals_grandTotalAmount Required
airlineData_agentCode Required
airlineData_agentName Required
airlineData_passengerName Required
airlineData_ticketNumber Required
ccCaptureService_industryDatatype Required

Set the value to airline.

airlineData_leg_#_destination Required

Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs. Set the value to XAO.

airlineData_leg_#_originatingAirportCode Required

Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs. Set the value to XAA.

Example

This example, from , shows an ancillary purchase capture with the ancillary fields.

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

Last published: October 28, 2026

Not available for your audience

This page isn't available for your current audience selection.