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 (11)
American Express Direct, Barclays, Chase Paymentech Solutions, Elavon, FDC Nashville Global, Lloyds-OmniPay, OmniPay Direct, Streamline, TSYS Acquiring Solutions, UATP, Visa Platform Connect
Supported processors: Chase Paymentech Solutions, FDC Nashville Global, Streamline,
Supported processors: Barclays
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:
American Express Direct
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 |
Barclays
This table describes the maximum number of travel legs allowed for each trip, by card type:
| Supported Card Types | Maximum Number of Travel Legs |
|---|---|
| Maestro (International) | 99 |
| Maestro (UK Domestic) | 99 |
| Mastercard | 99 |
| Visa | 99 |
When capturing an airline payment with a Visa card, you also need the airlineData_restrictedTicketIndicator field. See Barclays Required Fields.
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.
Elavon
Elavon allows you to include an airline ticket purchase and any ancillary purchases in the same capture request. Ancillary purchases are any additional services, such as baggage, meals, and paid seats, your customers can purchase.
This table describes the maximum number of travel legs allowed for each trip, by card type:
| Supported Card Types | Maximum Number of Travel Legs |
|---|---|
| Diners Club | 4 |
| Discover | 4 |
| JCB Card | 4 |
| Mastercard | 4 |
| Visa | 4 |
When capturing an airline payment with a Diners Club card, you also need the flight number field. See Elavon 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.
Lloyds-OmniPay
This table describes the maximum number of travel legs allowed for each trip, by card type:
| Supported Card Types | Maximum Number of Travel Legs |
|---|---|
| Mastercard | 999 |
| Visa | 4 |
OmniPay Direct
This table describes the maximum number of travel legs allowed for each trip, by card type:
| Supported Card Types | Maximum Number of Travel Legs |
|---|---|
| Diners Club | 999 |
| Discover | 999 |
| Maestro (International) | 999 |
| Maestro (UK Domestic) | 999 |
| Mastercard | 999 |
| Visa | 4 |
OmniPay Direct also uses reduced interchange fields that vary by card type. See OmniPay Direct 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 |
TSYS Acquiring Solutions
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 | 9 |
| Visa | 4 |
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. See TSYS Acquiring Solutions Required Fields for the fields required for multiple captures.
UATP
This table describes the maximum number of travel legs allowed for each trip, by card type:
| Supported Card Types | Maximum Number of Travel Legs |
|---|---|
| UATP | 4 |
creates an invoice number for UATP transactions. You can set the invoice date using the optional airlineData_invoiceDate field. If you do not include the invoice date field in your request, uses the date the batch file was generated.
You must include a valid ticket document number in either the airlineData_ticketNumber field or the ccCaptureService_reconciliationID field. See UATP Required Fields for the value and usage requirements.
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 Visa Platform Connect Required Fields.
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.
Processor-Specific Capture Information
This list describes processor-specific capture behavior:
Barclays
This table describes the maximum number of travel legs allowed for each trip, by card type:
| Supported Card Types | Maximum Number of Travel Legs |
|---|---|
| Maestro (International) | 99 |
| Maestro (UK Domestic) | 99 |
| Mastercard | 99 |
| Visa | 99 |
When capturing an airline payment with a Visa card, you also need the airlineData_restrictedTicketIndicator field. See Barclays 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
Barclays Required Fields
In addition to the default required fields, Barclays also requires these fields.
airlineData_agentName
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_#_originatingAirportCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_passengerName
airlineData_ticketNumber
When capturing an airline payment with a Visa card, Barclays also requires this field.
airlineData_restrictedTicketIndicator
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.
Elavon Required Fields
In addition to the default required fields, Elavon also requires these fields.
airlineData_agentCode
airlineData_agentName
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
Format: MMDDYYYY
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_leg_#_stopoverCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_passengerName
airlineData_restrictedTicketIndicator
airlineData_ticketIssuerCode
airlineData_ticketNumber
When capturing an airline payment with a Diners Club card, Elavon also requires this field.
airlineData_leg_#_flightNumber
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.
Lloyds-OmniPay Required Fields
In addition to the default required fields, Lloyds-OmniPay also requires these fields.
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_#_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_leg_#_stopoverCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
Lloyds-OmniPay also supports these optional, card-specific fields.
airlineData_carrierName
airlineData_restrictedTicketIndicator
airlineData_leg_#_departureTime
OmniPay Direct Required Fields
In addition to the default required fields, OmniPay Direct also requires this field.
airlineData_ticketNumber
OmniPay Direct also uses reduced interchange fields that vary by card type. These fields are required for Maestro (International), Maestro (UK Domestic), and Mastercard.
airlineData_carrierName
Format: 2-letter International Air Transport Association (IATA) airline code.
airlineData_customerCode
airlineData_passengerName
airlineData_leg_#_carrierCode
airlineData_leg_#_class
Required for US transactions.
airlineData_leg_#_departureDate
airlineData_leg_#_destination
airlineData_leg_#_originatingAirportCode
For Visa, only these two reduced interchange fields are required.
airlineData_leg_#_class
airlineData_leg_#_destination
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.
TSYS Acquiring Solutions Required Fields
In addition to the default required fields, TSYS Acquiring Solutions also requires these fields.
airlineData_passengerName
airlineData_restrictedTicketIndicator
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_#_originatingAirportCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_stopoverCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
TSYS Acquiring Solutions allows multiple partial captures for one authorization when using the Visa card type. These fields are required for each partial capture, in addition to the fields above.
airlineData_clearingCount
airlineData_clearingSequence
ccCaptureService_sequence
ccCaptureService_totalCount
UATP Required Fields
In addition to the default required fields, UATP also requires these fields.
airlineData_passengerName
airlineData_ticketNumber
See the field description for the value and usage requirements.
ccCaptureService_reconciliationID
See the field description for the value and usage requirements.
Required Fields
requires only the default required fields. When capturing an airline payment with a Mastercard, it also requires this field.
airlineData_ticketIssuerCode
American Express Direct Required Fields
American Express Direct requires these fields for an airline ticket capture.
airlineData_agentCode
Required if you are an IATA member and have been issued this code.
airlineData_carrierName
airlineData_documentType
airlineData_electronicTicket
airlineData_numberOfPassengers
airlineData_originalTicketNumber
airlineData_passengerName
airlineData_processIdentifier
airlineData_purchaseType
airlineData_ticketIssueDate
airlineData_ticketIssuerCity
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_#_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_#_fare
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.
airlineData_leg_#_originatingAirportCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
airlineData_leg_#_stopoverCode
Replace the # character with the number 0 for the first leg and consecutive numbers for any additional legs.
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: September 29, 2026