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.

Captures


Overview

An airline ticket capture transfers the authorized funds for a ticket purchase to the merchant account. Captures for ticket purchases must be sent separately from captures for ancillary purchases, such as baggage fees, seat upgrades, and other services purchased at the same time as the ticket. See Ancillary Purchases for information about capturing ancillary purchases.

For a ticket purchase with multiple passengers, you can send a single authorization request, but you must send a separate capture request for each passenger.

Most processors require travel leg information in a capture request, even for direct flights, and each processor limits the maximum number of legs allowed for a trip. The limit can vary by card type. To include multiple legs, replace the # character in a leg field name with a sequential number starting with 0 for the first leg. 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, ignores the legs that follow the skipped number. See Travel Legs for more information.

Many processors also require a document type field to specify the purpose of the transaction. For a list of possible values, see Airline Document Type Codes.

Supported Processors

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

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 capture behavior:

Chase Paymentech Solutions

For a ticket purchase with multiple passengers, recommends sending a separate capture request for each passenger. The original authorization can be a single request.

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.

When the card type is American Express, Chase Paymentech Solutions also requires the document type field. It is ignored for other card types. See Chase Paymentech Solutions Required Fields.

FDC Nashville Global

This table describes the maximum number of travel legs allowed for each trip, by card type:

Supported Card TypesMaximum Number of Travel Legs
American Express4
Discover4
Mastercard99
Visa4

Depending on the card type, FDC Nashville Global requires additional fields for a capture. See FDC Nashville Global Required Fields.

Streamline

This table describes the maximum number of travel legs allowed for each trip, by card type:

Supported Card TypesMaximum Number of Travel Legs
Cartes Bancaires4
Dankort4
Maestro (International)4
Maestro (UK Domestic)4
Mastercard4
Visa4
Visa Platform Connect

This table describes the maximum number of travel legs allowed for each trip, by card type:

Supported Card TypesMaximum Number of Travel Legs
American Express4
Discover4
Mastercard4
Visa4

When capturing an airline payment with a Mastercard, you also need the ticket issuer code field. See Required Fields.

Required Fields

Default Required Fields

ccCaptureService_authRequestID Required
ccCaptureService_industryDatatype Required

Set the value to airline.

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

Optional Fields

These optional fields are commonly supported across processors. Each processor also supports additional processor-specific optional fields for travel leg detail, clearing amounts, and exchange ticket data that are not repeated here.

airlineData_customerCode Optional
airlineData_leg_#_fareBasis Optional
airlineData_leg_#_stopoverCode Optional
airlineData_ticketIssueDate Optional
airlineData_planNumber Optional

Chase Paymentech Solutions Required Fields

Chase Paymentech Solutions does not require merchantID or ccCaptureService_authRequestID. In addition to the remaining default required fields, it also requires these fields.

airlineData_agencyCode Required
airlineData_agencyName Required
airlineData_leg_#_class Required

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

airlineData_leg_#_departureDate Required

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

airlineData_leg_#_originAirportCode Required

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

airlineData_passengerName Required

Value format: lastname/firstname

airlineData_ticketNumber Required
purchaseTotals_grandTotalAmount Required

Set the value to the total amount of the fares, fees, and taxes.

When the card type is American Express, Chase Paymentech Solutions also requires this field. It is ignored for other card types.

airlineData_documentType Required · American Express only

For possible values, see Airline Document Type Codes.

FDC Nashville Global Required Fields

FDC Nashville Global uses ccCapture_industryDataType (rather than ccCaptureService_industryDatatype) to set the value to airline. In addition to the remaining default required fields, it also requires these fields.

airlineData_leg_#_carrierCode Required

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

airlineData_leg_#_class Required

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

airlineData_leg_#_departureDate Required

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

airlineData_leg_#_destination Required

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

airlineData_leg_#_originatingAirportCode Required

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

airlineData_passengerName Required
airlineData_ticketNumber Required

Depending on the card type, FDC Nashville Global also requires these fields, in addition to the fields above.

For Discover:

airlineData_agentCode Required · Discover only
airlineData_arrivalDate Required · Discover only
airlineData_leg_#_arrivalTime Required · Discover only

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

airlineData_leg_#_arrivalTimeSegment Required · Discover only

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

airlineData_leg_#_departureTime Required · Discover only

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

airlineData_leg_#_departureTimeSegment Required · Discover only

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

airlineData_leg_#_fareBasis Required · Discover only

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

airlineData_leg_#_fare Required · Discover only

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

airlineData_leg_#_flightNumber Required · Discover only

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

airlineData_ticketIssueDate Required · Discover only
airlineData_ticketIssuerAddress Required · Discover only

For Mastercard:

airlineData_leg_#_departureTime Required · Mastercard only

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

airlineData_leg_#_fareBasis Required · Mastercard only

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

airlineData_leg_#_flightNumber Required · Mastercard only

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

For Visa:

airlineData_restrictedTicketIndicator Required · Visa only

Set the value to 0 for refundable.

Streamline Required Fields

In addition to the default required fields, Streamline also requires these fields.

airlineData_agentCode Required
airlineData_agentName Required
airlineData_passengerName Required
airlineData_ticketNumber Required
airlineData_leg_#_carrierCode Required

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

airlineData_leg_#_class Required

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

airlineData_leg_#_destination Required

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

airlineData_leg_#_departureDate Required

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

airlineData_leg_#_originatingAirportCode Required

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

Required Fields

requires only the default required fields. When capturing an airline payment with a Mastercard, it also requires this field.

airlineData_ticketIssuerCode Required · Mastercard only

This example shows a airline ticket capture.

<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>
<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></c:replyMessage>

Last published: October 28, 2026

Not available for your audience

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