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 Types | Maximum Number of Travel Legs |
|---|---|
| American Express | 4 |
| Discover | 4 |
| Mastercard | 99 |
| Visa | 4 |
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 Types | Maximum Number of Travel Legs |
|---|---|
| Cartes Bancaires | 4 |
| Dankort | 4 |
| Maestro (International) | 4 |
| Maestro (UK Domestic) | 4 |
| Mastercard | 4 |
| Visa | 4 |
Visa Platform Connect
This table describes the maximum number of travel legs allowed for each trip, by card type:
| Supported Card Types | Maximum Number of Travel Legs |
|---|---|
| American Express | 4 |
| Discover | 4 |
| Mastercard | 4 |
| Visa | 4 |
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
ccCaptureService_industryDatatype
Set the value to airline.
ccCaptureService_run
Set the value to true.
merchantID
merchantReferenceCode
Set to the merchant_ref_number value used in the corresponding authorization request.
purchaseTotals_currency
purchaseTotals_grandTotalAmount
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
airlineData_leg_#_fareBasis
airlineData_leg_#_stopoverCode
airlineData_ticketIssueDate
airlineData_planNumber
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
airlineData_agencyName
airlineData_leg_#_class
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_departureDate
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_originAirportCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_passengerName
Value format: lastname/firstname
airlineData_ticketNumber
purchaseTotals_grandTotalAmount
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
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
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_class
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_departureDate
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_destination
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_originatingAirportCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_passengerName
airlineData_ticketNumber
Depending on the card type, FDC Nashville Global also requires these fields, in addition to the fields above.
For Discover:
airlineData_agentCode
airlineData_arrivalDate
airlineData_leg_#_arrivalTime
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_arrivalTimeSegment
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_departureTime
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_departureTimeSegment
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_fareBasis
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_fare
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_flightNumber
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_ticketIssueDate
airlineData_ticketIssuerAddress
For Mastercard:
airlineData_leg_#_departureTime
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_fareBasis
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_flightNumber
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
For Visa:
airlineData_restrictedTicketIndicator
Set the value to 0 for refundable.
Streamline Required Fields
In addition to the default required fields, Streamline also requires these fields.
airlineData_agentCode
airlineData_agentName
airlineData_passengerName
airlineData_ticketNumber
airlineData_leg_#_carrierCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_class
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_destination
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_departureDate
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_originatingAirportCode
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
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>Thanks for your feedback!
Last published: October 28, 2026