Skip to main content

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 TypesMaximum Number of Travel Legs
American Express4
Barclays

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

Supported Card TypesMaximum Number of Travel Legs
Maestro (International)99
Maestro (UK Domestic)99
Mastercard99
Visa99

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 TypesMaximum Number of Travel Legs
Diners Club4
Discover4
JCB Card4
Mastercard4
Visa4

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

Lloyds-OmniPay

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

Supported Card TypesMaximum Number of Travel Legs
Mastercard999
Visa4
OmniPay Direct

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

Supported Card TypesMaximum Number of Travel Legs
Diners Club999
Discover999
Maestro (International)999
Maestro (UK Domestic)999
Mastercard999
Visa4

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 TypesMaximum Number of Travel Legs
Cartes Bancaires4
Dankort4
Maestro (International)4
Maestro (UK Domestic)4
Mastercard4
Visa4
TSYS Acquiring Solutions

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

Supported Card TypesMaximum Number of Travel Legs
American Express9
Visa4

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 TypesMaximum Number of Travel Legs
UATP4

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

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 TypesMaximum Number of Travel Legs
Maestro (International)99
Maestro (UK Domestic)99
Mastercard99
Visa99

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

Barclays Required Fields

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

airlineData_agentName 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_#_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

When capturing an airline payment with a Visa card, Barclays also requires this field.

airlineData_restrictedTicketIndicator Required · Visa only

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.

Elavon Required Fields

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

airlineData_agentCode Required
airlineData_agentName 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_#_departureDate Required

Format: MMDDYYYY

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_leg_#_stopoverCode Required

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

airlineData_passengerName Required
airlineData_restrictedTicketIndicator Required
airlineData_ticketIssuerCode Required
airlineData_ticketNumber Required

When capturing an airline payment with a Diners Club card, Elavon also requires this field.

airlineData_leg_#_flightNumber Required · Diners Club only

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.

Lloyds-OmniPay Required Fields

In addition to the default required fields, Lloyds-OmniPay also requires these fields.

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_#_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_leg_#_stopoverCode Required

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 Optional · Mastercard only
airlineData_restrictedTicketIndicator Optional · Visa only
airlineData_leg_#_departureTime Optional · Mastercard only

OmniPay Direct Required Fields

In addition to the default required fields, OmniPay Direct also requires this field.

airlineData_ticketNumber Required

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 Required · Maestro and Mastercard

Format: 2-letter International Air Transport Association (IATA) airline code.

airlineData_customerCode Required · Maestro and Mastercard
airlineData_passengerName Required · Maestro and Mastercard
airlineData_leg_#_carrierCode Required · Maestro and Mastercard
airlineData_leg_#_class Required · Maestro and Mastercard

Required for US transactions.

airlineData_leg_#_departureDate Required · Maestro and Mastercard
airlineData_leg_#_destination Required · Maestro and Mastercard
airlineData_leg_#_originatingAirportCode Required · Maestro and Mastercard

For Visa, only these two reduced interchange fields are required.

airlineData_leg_#_class Required · Visa only
airlineData_leg_#_destination Required · Visa only

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.

TSYS Acquiring Solutions Required Fields

In addition to the default required fields, TSYS Acquiring Solutions also requires these fields.

airlineData_passengerName Required
airlineData_restrictedTicketIndicator 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_#_originatingAirportCode Required

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

airlineData_leg_#_stopoverCode Required

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 Required · Multiple captures
airlineData_clearingSequence Required · Multiple captures
ccCaptureService_sequence Required · Multiple captures
ccCaptureService_totalCount Required · Multiple captures

UATP Required Fields

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

airlineData_passengerName Required
airlineData_ticketNumber Required

See the field description for the value and usage requirements.

ccCaptureService_reconciliationID Required

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 Required · Mastercard only

American Express Direct Required Fields

American Express Direct requires these fields for an airline ticket capture.

airlineData_agentCode Required

Required if you are an IATA member and have been issued this code.

airlineData_carrierName Required
airlineData_documentType Required
airlineData_electronicTicket Required
airlineData_numberOfPassengers Required
airlineData_originalTicketNumber Required
airlineData_passengerName Required
airlineData_processIdentifier Required
airlineData_purchaseType Required
airlineData_ticketIssueDate Required
airlineData_ticketIssuerCity 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_#_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_#_fare Required

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

airlineData_leg_#_fareBasis Required

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

airlineData_leg_#_flightNumber 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_leg_#_stopoverCode Required

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>

Last published: September 29, 2026