Authorize a Payment

This section describes how to process an airline authorization.

Authorization Restrictions

Ticket purchases that include multiple passengers may be included in a single authorization request, however,
Cybersource
recommends sending a separate capture request for each passenger.
If any ancillary purchases are made at the same time as the ticket purchase, you may include all the items in a single authorization request, however,
Cybersource
recommends separating the ancillary and ticket purchases into individual capture requests.
If any ancillary purchases are not made at the same time as the ticket purchase,
Cybersource
recommends separating the authorization and capture requests for the ancillary and ticket purchases.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

Required Fields for an Airline Authorization

Include these fields to process an airline authorization.
IMPORTANT
When relaxed requirements for address data and the expiration date are being used, not all fields in this list are required. It is your responsibility to determine whether your account is enabled to use this feature and which fields are required. For details about relaxed requirements, see Relaxed Requirements for Address Data and Expiration Date in Payment Transactions.

Card-Specific Fields for an Airline Authorization

This section includes card-specific information required for an airline authorization.

REST
Example: Airline Authorization

Light Dark
Request
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
{"clientReferenceInformation": { "code": "RTS-Auth" }, "orderInformation": { "billTo": { "country": "US", "lastName": "VDP", "address2": "test", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS", "phoneNumber": "999999999", "district": "MI", "buildingNumber": "123", "company": "Visa", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "usd" }, "shipTo": { "firstName": "Michale" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "3782822463xxxxx", "expirationMonth": "12", "securityCode": "123", "type": "003" } }, "processingInformation": { "industryDataType": "airline" }, "travelInformation": { "transit": { "airline": { "passengerName": "Michale", "legs": [ { "carrierCode": "123", "fareBasis": "B1", "departureDate": "20230202", "destinationAirportCode": "NY", "originatingAirportCode": "SFO" }, { "carrierCode": "456", "fareBasis": "B2", "departureDate": "20230202", "destinationAirportCode": "SFO", "originatingAirportCode": "SJC" } ] } } }}
Response to a Successful Request
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
{"_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6902464806406008803234/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6902464806406008803234" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6902464806406008803234/captures" } }, "clientReferenceInformation": { "code": "1690246480572" }, "id": "6902464806406008803234", "issuerInformation": { "responseRaw": "0110322000000E1000020000000000000100000725005441300026475537344F4B48495131314D38333130303030300001590064003631342030313631373831313031353439343520202020202036363030533036303030303100103232415050524F56414C0012534443523030355959595959" }, "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "usd" } }, "paymentAccountInformation": { "card": { "type": "003" } }, "paymentInformation": { "tokenizedCard": { "type": "003" }, "card": { "type": "003" } }, "pointOfSaleInformation": { "terminalId": "00092940" }, "processorInformation": { "electronicVerificationResults": { "phoneNumberRaw": "Y", "emailRaw": "Y", "phoneNumber": "Y", "code": "Y", "postalCodeRaw": "Y", "street": "Y", "postalCode": "Y", "codeRaw": "Y", "streetRaw": "Y", "email": "Y" }, "merchantNumber": "000000000001234", "approvalCode": "831000", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "GU74OKHIQ11M", "status": "AUTHORIZED", "submitTimeUtc": "2023-07-25T00:54:41Z" }
Request
123456789101112131415161718192021222324252627282930
{"clientReferenceInformation": { "code": "RTS-Auth" }, "processingInformation": { "industryDataType": "airline" }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com" } }}
Successful Response
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
{"_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6917758602546577403955/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6917758602546577403955" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6917758602546577403955/captures" } }, "clientReferenceInformation": { "code": "1691775860306" }, "id": "6917758602546577403955", "orderInformation": { "amountDetails": { "authorizedAmount": "102.21", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "68209505QL5OEHAU", "status": "AUTHORIZED", "submitTimeUtc": "2023-08-11T17:44:20Z" }
Unsuccessful Response
12345678
{"submitTimeUtc" : "2020-05-20T21:06:56Z", "status" : "INVALID_REQUEST", "reason" : "INVALID_DATA", "message" : "Declined - One or more fields in the request contains invalid data", "details" : [ { "field" : "stopover_code", "reason" : "INVALID_DATA" } ]}