OmniPay Direct Airline Processing
OmniPay Direct
Airline ProcessingThis section describes the airline payment services you can use when processing with
OmniPay Direct
.Supported Acquirers and Card Types
This table describes the acquirers supported by
OmniPay Direct
and
the card types supported by each acquirer.Supported Acquirers | Supported Card Types |
---|---|
Bank of America | Mastercard |
Visa | |
Cardnet International | Maestro (International) |
Maestro (UK Domestic) | |
Mastercard | |
Visa | |
First Data Merchant Solutions
(Europe) | Diners Club |
Discover | |
Mastercard | |
Visa | |
Global Payments International
Acquiring | Mastercard |
Visa |
Captures for Ticket Purchases
This section describes how to capture an airline payment for ticket purchases.
Capture requests for ticket purchases must be separate from ancillary
purchases. When you include ancillary data in a request with airline data,
OmniPay Direct
ignores the ancillary data. For more information about captures for ancillary purchases, see Captures for Ancillary Purchases.Leg Limitations
OmniPay Direct
limits the maximum number of legs for each trip
based on card type. You must include information for the first leg of the trip (leg 0), and you must use
consecutive numbers for any additional legs. To do so, replace the
#
character in the field name with a sequential number starting with
0
. 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, Cybersource
ignores the legs that follow the skipped number. This table describes the maximum number of legs for each trip based on card
type.
Supported Card Types | Maxiumum Number of Trip Legs |
---|---|
Diners Club | 999 |
Discover | 999 |
Maestro (International) | 999 |
Maestro (UK Domestic) | 999 |
Mastercard | 999 |
Visa | 4 |
Document Type
When capturing an airline payment, you must use the
airlineData_documentType
field to specify the purpose of the transaction. For all possible values, see Airline Document Type Codes. Endpoint
Set the
ccCaptureService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Capturing an Airline Payment
Include these required fields to capture an airline payment.
- airlineData_ticketNumber
- Set toairline.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
Card-Specific Fields for Capturing an Airline Payment
Use this information to find additional information a card type requires.
Visa
Use this field in addition to the required fields when capturing an authorization
with a Visa card.
Reduced Interchange Fields for Capturing an Airline Payment
This section includes card-specific fields for reduced interchange.
Maestro (International)
For reduced interchange, use these fields when capturing an airline payment
with a Maestro (International) card.
- airlineData_carrierName
- Format: 2 letter IATA airline code
- Required for US transactions.
Maestro (UK Domestic)
For reduced interchange, use these fields when capturing an airline payment
with a Maestro (UK Domestic) card.
- airlineData_carrierName
- Required for US transactions.
Mastercard
For reduced interchange, use these fields when capturing an airline payment
with a Mastercard.
- airlineData_carrierName
- Required for US transactions.
Visa
For reduced interchange, use these fields when capturing an airline payment
with a Visa card.
Optional Fields for Capturing an Airline Payment
This topic includes both general optional fields and card-specific optional
fields.
General Optional Fields for Capturing an Airline Payment
Choose from these optional fields to include additional information when capturing an
airline payment for any card type.
- airlineData_carrierName
- Set to two letter IATA airline code.
Diners Club
Choose from these optional fields to add additional information when using a Diners
Club card.
Discover
Choose from these optional fields to add additional information when using a Discover
card.
Maestro (International)
Choose from these optional fields to add additional information when using a Maestro
(International) card.
- Optional only for US domestic airline transactions.
Maestro (UK Domestic)
Choose from these optional fields to add additional information when using a Maestro
(UK Domestic) card.
- Optional only for US domestic airline transactions.
Mastercard
Choose from these optional fields to add additional information when using a
Mastercard card.
- Optional only for US domestic airline transactions.
Visa
Choose from these optional fields to add additional information when using a Visa
card.
Simple Order API Example: Capturing an Airline Payment
Simple Order API
Example: Capturing an Airline PaymentCaptures for Ancillary Purchases
This section describes how to capture an airline payment for ancillary purchases.
Capture requests for ancillary purchases must be separate from
captures for ticket purchases. When you include ancillary data in a request with airline
data,
OmniPay Direct
ignores the ancillary data. For more information
on captures for ticket purchases, see Captures for Ticket Purchases.Ancillary Service Category Codes
When making an ancillary purchase, you must use the
ancillaryData_service_#_categoryCode
field to indicate the service provided. For all possible field
values, see Ancillary Service Category Codes. Endpoint
Set the
ccCaptureService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Capturing an Airline Payment
Include these required fields to capture an airline payment for ancillary
purchases.
- airlineData_ticketNumber
- Set toairline.
- Set to themerchant_ref_numbervalue used in corresponding authorization request.
Card-Specific Fields for Capturing an Airline Payment
For reduced interchange, use these fields when capturing an airline payment.
Visa
- ancillaryData_connected_TicketNumber
- Required only when the purpose of the ancillary transaction is to obtain airline rates.
Reduced Interchange Fields for Capturing an Airline Payment
This section includes card-specific fields for reduced interchange.
Maestro (International)
For reduced interchange, use these fields when capturing an airline payment with a
Maestro (International) card.
- airlineData_carrierName
- Format: 2 letter IATA airline code
Maestro (UK Domestic)
For reduced interchange, use these fields when capturing an airline payment with a
Maestro (UK Domestic) card.
Mastercard
For reduced interchange, use these fields when capturing an airline payment with a
Mastercard card.
Visa
For reduced interchange, use these fields when capturing an airline payment with a
Visa card.
Optional Fields for Capturing an Airline Payment
This topic includes both general optional fields and card-specific optional
fields.
General Optional Fields for Capturing an Airline Payment
Choose from these optional fields to include additional information when capturing an
airline payment for any card type.
Diners Club
Choose from these optional fields to add additional information when using a Diners
Club card.
- airlineData_carrierName
- airlineData_checkDigit
Discover
Choose from these optional fields to add additional information when using a Discover
card.
- airlineData_carrierName
- airlineData_checkDigit
Maestro (International)
Choose from these optional fields to add additional information when using a Maestro
(International) card.
Maestro (UK Domestic)
Choose from these optional fields to add additional information when using a Maestro
(UK Domestic) card.
- airlineData_carrierName
- Set to two letter IATA airline code.
- Optional only for US domestic airline transactions.
Mastercard
Choose from these optional fields to add additional information when using a
Mastercard.
Visa
Choose from these optional fields to add additional information when using a Visa
card.
Simple Order API Example: Capturing an Airline Payment
Simple Order API
Example: Capturing an Airline PaymentStand-Alone Credits
Stand-Alone Credits
This topic describes how to process an airline
stand-alone credit
.All fields used in the original transaction must be included in your
request.
Endpoint
Set the
ccCreditService_run
field to
true
.Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.Required Fields for Airline Stand
Alone Credits
Stand
Alone Credits
Include these required fields to request an airline
stand-alone credit
.- set totrue. For exampleccCreditService run="true".
- Set to themerchant_ref_numbervalue used in corresponding capture request.
Simple Order API Example: Processing Airline Stand-Alone Credits
Simple Order API
Example: Processing Airline Stand-Alone Credits
Request
1234567891011121314151617181920212223<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.124"> <merchantID>World Wide Travel</merchantID> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <ccCaptureService run="true"> <industryDatatype>airline</industryDatatype> <authRequestID>0839543530000172034078</authRequestID> </ccCaptureService> <purchaseTotals> <currency>EUR</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <airlineData> <agentCode>98222147</agentCode> <agentName>Cyber Vacations</agentName> <passengerName>Jane Smith</passengerName> <restrictedTicketIndicator>0</restrictedTicketIndicator> <ticketNumber>02721187251</ticketNumber> <leg id="0"> <class>H</class> <departureDate>121516</departureDate> <departureTime>0931</departureTime> <departureTimeSegment>A</departureTimeSegment> <carrierCode>AA</carrierCode> <destination>CDG</destination> <fareBasis>HL7WNR</fareBasis> </leg> <leg id="1"> <class>H</class> <departureDate>122016</departureDate> <departureTime>1625</departureTime> <departureTimeSegment>P</departureTimeSegment> <carrierCode>AA</carrierCode> <destination>LHR</destination> <fareBasis>HL7WNR</fareBasis> </leg> </airlineData> </requestMessage>
Response
12345678910111213<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.124"> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <merchantReferenceCode>R98TV09EN200W</merchantReferenceCode> <purchaseTotals><currency>EUR</currency></purchaseTotals> <ccCaptureReply> <reasonCode>100</reasonCode> <amount>204.78</amount> <reconciliationID>1094820975023470</reconciliationID> <enhancedDataEnabled>y</enhancedDataEnabled> </ccCaptureReply> </replyMessage>
Request
123456789101112131415161718192021<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.124"> <merchantID>World Wide Travel</merchantID> <merchantReferenceCode>ABCDEFG0123456</merchantReferenceCode> <ccCaptureService run="true"> <industryDatatype>airline</industryDatatype> <authRequestID>4685801292856003701540</authRequestID> </ccCaptureService> <purchaseTotals> <currency>GBP</currency> <grandTotalAmount>234.00</grandTotalAmount> </purchaseTotals> <ancillaryData> <ticketNumber>BA123456</ticketNumber> <service id="0"> <categoryCode>BF</categoryCode> </service> <passengerName>Jane Smith</passengerName> <creditReasonIndicator>A</creditReasonIndicator> <connectedTicketNumber>BA1234567</connectedTicketNumber> </ancillaryData> </requestMessage>
Response
12345678910111213<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.124"> <c:requestID>4685801292856003701540</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:merchantReferenceCode>ABCDEFG0123456</c:merchantReferenceCode> <c:purchaseTotals><c:currency>GBP</c:currency></c:purchaseTotals> <c:ccCaptureReply> <c:reasonCode>100</c:reasonCode> <c:amount>234.00</c:amount> <c:reconciliationID>5406772989</c:reconciliationID> <c:enhancedDataEnabled>y</c:enhancedDataEnabled> </c:ccCaptureReply> </c:replyMessage>
Request
1234567891011<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>204.78</grandTotalAmount> </purchaseTotals> <ccCreditService run="true"> <captureRequestID>0305782650000167905080</captureRequestID> </ccCreditService> </requestMessage>
Response
123456789101112131415161718<replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.213"> <merchantReferenceCode>Postman-1701820687</merchantReferenceCode> <requestID>0305782650000167905080</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <requestToken>Axj/7wSTfHUvjqCkViFEABEg2asWjlgzb0qE+c4YxmKeQXe+aFgKeQXe+bn6QHymhcMmkmXoxZaH/wJyb46l4wXgbv0b4AAAAxnW</requestToken> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCreditReply> <reasonCode>100</reasonCode> <requestDateTime>2023-12-05T23:58:07Z</requestDateTime> <amount>204.78</amount> <reconciliationID>65149037RPON81F1</reconciliationID> <authorizationCode>888888</authorizationCode> <processorResponse>100</processorResponse> </ccCreditReply> </replyMessage>