Captures for Ticket Purchases

This section describes how to capture an airline payment for ticket purchases.
Captures for ticket purchases must be made separately from captures for ancillary purchases. For more information about how to capture an ancillary purchase, see Captures for Ancillary Purchases.

Travel Legs

You can use travel leg fields for trips that have multiple legs. For more information on how to use travel leg fields, see Airline Data.

Leg Limitations

Visa Platform Connect
limits the maximum number of legs for each trip based on card type. This table describes the maximum number of legs for each trip based on card type.
Visa Platform Connect
Leg Limitations
Supported Card Types
Maximum Number of Trip Legs
American Express
4
Discover
4
Mastercard
4
Visa
4

Endpoint

Production:
POST
https://api.visaacceptance.com
/pts/v2/payments/
{id}
/captures
Test:
POST
https://apitest.visaacceptance.com
/pts/v2/payments/
{id}
/captures
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Capturing an Airline Payment

Include these required fields to capture an airline payment for ticket purchases.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
processingInformation.industryDataType
Set to
airline
.

Card-Specific Field to Capture an Airline Payment

This section includes card-specific information.

Mastercard

Use this card-specific field in addition to the required fields when capturing an authorization with a Mastercard.
travelInformation.transit.airline.ticketIssuer.code

Optional Fields for Capturing an Airline Payment

You can use these optional fields to include additional information when capturing an airline payment.
orderInformation.amountDetails.taxAmount
orderInformation.amountDetails.taxDetails[].amount
orderInformation.lineItems[].taxDetails[].code
orderInformation.lineItems[].totalAmount
travelInformation.agency.code
travelInformation.agency.name
travelInformation.transit.airline.customerCode
travelInformation.transit.airline.documentType
For a list of possible values, see Airline Document Type Codes.
travelInformation.transit.airline.exchangeTicketFeeAmount
travelInformation.transit.airline.legs[].conjunctionTicket
travelInformation.transit.airline.legs[].couponNumber
travelInformation.transit.airline.legs[].endorsementsRestrictions
travelInformation.transit.airline.legs[].exchangeTicketNumber
travelInformation.transit.airline.legs[].fareBasis
travelInformation.transit.airline.legs[].feeAmount
travelInformation.transit.airline.legs[].stopoverIndicator
travelInformation.transit.airline.legs[].taxAmount
travelInformation.transit.airline.planNumber
travelInformation.transit.airline.ticketChangeIndicator
travelInformation.transit.airline.ticketIssueDate
travelInformation.transit.airline.totalFeeAmount
travelInformation.transit[].exchangeTicketAmount

REST Example: Capturing an Airline Payment

Use this example as a reference for capturing an airline payment.
Request
{ "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "industryDataType": "airline" }, "orderInformation": { "amountDetails": { "totalAmount": "500.00", "currency": "USD" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6823025890736075903954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6823025890736075903954" } }, "clientReferenceInformation": { "code": "TC50171_3" }, "id": "6823025890736075903954", "orderInformation": { "amountDetails": { "totalAmount": "500.00", "currency": "USD" } }, "reconciliationId": "67720603YGMSE5JE", "status": "PENDING", "submitTimeUtc": "2023-04-24T02:16:29Z" }