Payment Card Authorization
POST |
paymentcardauthorizations/AUTH Base path: Pre-production https://api.apim-a.adc.pp.travelport.io:443/11/payment/ Production https://api.apim-a.adc.prod.travelport.io:443/11/payment/ |
Related Content: Pay APIs Guide
The basic Payment Card Authorization request verifies whether a cardholder's payment card holds sufficient funds and is approved for future settlement.
Optionally, you can include in the request agency-generated 3D Secure (3DS) data (ECI, cAVV, xID, and uCAFIndicator). If you include these objects, Travelport passes the 3DS transaction results to ARC at ticket settlement, thereby mitigating the agency risk of fraud.
If you include an optional cardholder address in the authorization request, an address verification is also performed and a subsequent Address Verification request is not needed.
Request
Also see Authorization and Common Pay API Headers.
Query Parameters
None.
Request Body

Object |
Description / Example |
Required / Optional / Conditional |
Length |
Type (AN: Alphanumeric |
---|---|---|---|---|
PaymentCardRequest |
Top level object for request. |
Required |
|
|
|
Validating airline carrier code. Example: A8 for All Around Airline airlineMerchantCode is not the payment card vendor but rather the transaction's merchant of record; for example, BA for a ticket issued on British Airways.
|
Required |
<= 3 |
AN
|
|
Optional in any authorization request. Notes how many payments are in an extended payment plan. |
Optional |
2 |
N |
|
Credit card expiration date in MMYY format. Example 0824 |
Required |
4 |
N
|
|
Agent ID |
Required |
<= 10 |
AN |
|
Date and time of transaction in YYYY-MM-DDTHH:MM:SS format. Example 2027-08-20T04:12:16 |
Required |
|
AN
|
|
Card security code. Although the API does not validate this optional field, IATA requires all authorization requests to include the CSC/CVV number.
|
Optional |
4 |
AN
|
|
Two letter card vendor code. Supported values:
|
Required |
2 |
AN
|
|
Payment card account number. Length is validated based on card type. |
Required |
<= 19 |
AN |
|
3D secure data element. Individual card scheme rules may apply. If you provide 3-D secure data, the ECI is mandatory.
Electronic Commerce Indicator (ECI) is a value returned by Directory Servers (Visa, MasterCard, Discover and American Express) indicating the outcome of authentication attempted on transactions enforced by 3DS. |
Required if sending 3D secure data |
2 |
AN |
|
3D secure data element. Individual card scheme rules may apply.
The Cardholder Authentication Verification Value . Example: AAACBGESJIMBIFMBZhIkAAAAAAA |
Required if sending 3D secure data |
<= 28 |
AN |
|
3D secure data element. Individual card scheme rules may apply.
Merchants must ensure that each Payer Authentication Request (PAReq) contains a unique combination of account ID and xID - Visa only. Example: MDAwMDAwMDAwMDEyMzQ2Njc4OTA |
Required if sending 3D secure data for Visa |
<= 28 |
AN
|
|
3D secure data element. Individual card scheme rules may apply. If you provide 3-D secure data, the ECI is mandatory.
Universal Card Authentication Field (UCAF). MasterCard only. UCAF is the mechanism that transmits the AAV from the merchant to the issuer for authentication purposes during authorization. |
Required if sending 3D secure data for MasterCard |
1 |
AN
|
CurrencyAmount |
Top level object. |
Required |
3 |
|
|
Amount of transaction with no decimal. Example: $200.56 in USD should be sent as 20056 |
Required |
>= 1 |
N
|
|
ISO currency code; e.g., USD or GBP. |
Required |
3 |
A |
|
Number of decimal places in the currency. |
Required |
1 |
N |
AgencyPCCDetail |
Top level object. |
Optional |
2 |
|
|
Two-letter state location of agency. |
Optional |
2-6 |
A |
|
Postal code of agency. |
Optional |
<= 22 |
AN |

The following cardholder data is optional in the authorization request. If Address is sent, an address verification is performed and a subsequent Address Verification request is not needed.
Object |
Description / Example |
Required / Optional / Conditional |
Length |
Type (AN: Alphanumeric |
CardHolder |
Top level object. |
Optional |
3 |
|
|
Name as displayed on payment card. |
Optional |
<= 30 |
AN |
|
IP address of transaction. |
Optional |
15 |
AN |
Person |
Top level object for cardholder name and address data. |
Optional |
5 |
|
|
Date of birth in YYYY-MM-DD format. Example 1962-08-24 |
Optional |
|
AN |
PersonName |
Top level object. Only one instance of PersonName is supported. If multiple passengers exist, send only the first passenger name and details.
|
Optional |
3 |
|
|
Given name, first name or names. |
Optional |
<= 30 |
AN |
|
Middle initial. |
Optional |
1 |
AN |
|
Family / last name. |
Optional |
<= 30 |
AN |
Address
|
Top level object. If Address is sent, address verification is performed as part of authorization. If Address is sent all
objects must be populated.
|
Optional |
5 |
|
|
Address of cardholder. Array of address lines. Each address line has a maximum of 20 characters. Example: 123 Main St |
Optional |
<= 20 per |
Array of AN |
|
Cardholder city. |
Optional |
<= 20 |
AN |
StateProv |
Top level object. |
Optional |
1 |
|
|
State or province code. Example: CO for Colorado. |
Optional |
<= 10 |
AN |
Country |
Top level object. |
Optional |
1 |
|
|
Country code. Example: GB for Great Britain. |
Optional |
2 |
AN |
|
Postal code. No special characters or blanks. |
Optional |
<= 10 |
AN |
|
Top level object. |
Optional |
1 |
Array of objects |
|
Custom user-assigned role to assign to this number such as Mobile or Work. |
Optional |
19 |
AN |
|
String. Phone number. |
Optional |
19 |
AN |
|
Top level object. |
Optional |
1 |
Array of objects |
|
String for email address. Example: happy.customer@travelport.com |
Optional |
<= 60 |
AN |
TravelInfoAir |
Top level object for optional itinerary data to send and verify. Notes:
|
Optional |
3 |
|
|
Date of first departure in YYYY-MM-DD format. |
Optional |
10 |
AN |
|
Number of travelers on the itinerary. |
Optional |
<= 3 |
N |
|
Fare basis code for the reservation. Only one fare basis code is supported in the request. This should be the first fare basis code for the passenger the authorization is being requested for.
|
Optional |
<= 8 |
AN |
LocatorCode |
Top level object. |
Optional |
2 |
|
|
Reservation locator code for itinerary. |
Optional |
<= 8 |
AN |
|
GDS that assigned reservation locator code. Example: 1G |
Optional |
<= 3 |
AN |
|
First flight number in itinerary. |
Optional |
4 |
AN |
|
Time of departure of first flight in format HH:MM:SS. Example: 09:45:00-06:00 |
Optional |
|
AN |
|
Booking class of the first flight. |
Optional |
1-2 |
AN |
|
Array of all airport codes in itinerary (space delimited, 3 characters each). Example: "AirportCodes": ["DEN", "ORD", "DEN", "DFW"] |
Optional |
2-10 |
Array of A |
|
Array of all airlines in itinerary (space delimited, 2 or 3 characters each). Example: "AirlineCodes": ["AA", BA", "DL"] |
Optional |
1-9 |
Array of A |
Response
All the Pay APIs use the following response structure, in which completionCode and completionCodeDescription provide the status of the transaction. See Pay API Response Codes for the values that may be returned. Other objects below may or may not be returned depending on the transaction sent.

Object | Description |
---|---|
PaymentCardAuthorizationResponse |
Top level object for response. Key value pair:
|
PaymentCardAuthorization |
Provides confirmation details. The first three following key value pairs are returned for all Pay API responses:
The following key value pairs are returned only in specific Pay responses:
|
Example Request
The first example sends the minimum required data for the authorization request.

{
"PaymentCardAuthorizationRequest": {
"PaymentCardAuthorizationQueryRequest": {
"PaymentCardRequest": {
"airlineMerchantCode": "AA",
"expireDate": "1223",
"agentSignOn": "ABC123BZ",
"localDateTime": "2022-08-02T09:45:00",
"paymentCardCode": "VI",
"PrimaryAccountNumber": "4012001037141112",
"CurrencyAmount": {
"value": "130",
"code": "USD"
}
}
}
}
}

{
"PaymentCardAuthorizationRequest": {
"PaymentCardAuthorizationQueryRequest": {
"PaymentCardRequest": {
"airlineMerchantCode": "AA",
"expireDate": "1223",
"agentSignOn": "ABC123BZ",
"localDateTime": "2022-08-02T09:45:00",
"paymentCardCode": "DS",
"PrimaryAccountNumber": "6011406100000002",
"CurrencyAmount": {
"value": "130",
"code": "USD"
},
"AgencyPCCDetail": {
"StateProv": "CO",
"PostalCode": "12345"
}
}
}
}
}
The following examples send the minimum required data plus the 3DS data as required by Visa and MasterCard.

{
"PaymentCardAuthorizationRequest": {
"PaymentCardAuthorizationQueryRequest": {
"PaymentCardRequest": {
"airlineMerchantCode": "AA",
"extendedPaymentInstallments": "06",
"expireDate": "1223",
"eCI": "05",
"cAVV": "AAACBGESJIMBIFMBZhIkAAAAAAA=",
"xID": "MDAwMDAwMDAwMDEyMzQ2Njc4OTA=",
"agentSignOn": "ZD1C05",
"localDateTime": "2022-06-08T09:45:00",
"paymentCardCode": "VI",
"PrimaryAccountNumber": "4012001037141112",
"CurrencyAmount": {
"value": "20066",
"code": "USD"
},
"CardHolder": {
"@type": "CardHolder",
"CardHolderName": "John Doe",
"IP4Address": "111.222.0.0",
"Person": {
"dob": "2011-01-24",
"PersonName": {
"Given": "John",
"Middle": "E",
"Surname": "Doe"
},
"Address": [
{
"AddressLine": [
"123 Main St"
],
"City": "YourCity",
"StateProv": {
"value": "CO"
},
"Country": {
"value": "IN"
},
"PostalCode": "80010"
}
],
"Telephone": [
{
"role": "Mobile",
"phoneNumber": "5551212"
}
],
"Email": [
{
"value": "happy.customer@travelport.com"
}
]
}
},
"TravelInfoAir": {
"departureDate": "2018-08-28",
"numberOfTravelers": 1,
"fareBasisCode": "Y",
"LocatorCode": {
"value": "ZXG25P",
"source": "1G"
},
"FirstFlightNumber": "1123",
"FirstFlightDepartureTime": "09:45:00-06:00",
"FirstSegmentClass": "F",
"AirportCodes": [
"DEN",
"ORD",
"DEN",
"DFW"
],
"AirlineCodes": [
"AA",
"BA",
"DL"
]
}
}
}
}
}

{
"PaymentCardAuthorizationRequest" : {
"PaymentCardAuthorizationQueryRequest" : {
"PaymentCardRequest" : {
"airlineMerchantCode" : "XX",
"extendedPaymentInstallments" : "0",
"expireDate" : "1225",
"eCI" : "00",
"uCAFIndicator" : "0",
"agentSignOn" : "ZD1C05",
"localDateTime" : "2018-06-08T09:45:00",
"paymentCardSecurityCode" : "134",
"paymentCardCode" : "CA",
"PrimaryAccountNumber" : "5204********0008",
"CurrencyAmount" : {
"value" : "5100",
"code" : "USD"
“mnorUnit”: “2”
},
"AgencyPCCDetail" : {
"StateProv" : "CO",
"PostalCode" : "12345"
},
"CardHolder" : {
"@type" : "CardHolder",
"CardHolderName" : "John Doe",
"IP4Address" : "111.222.0.0",
"Person" : {
"dob" : "2011-01-24",
"PersonName" : {
"Given" : "John",
"Middle" : "E",
"Surname" : "Doe"
},
"Address" : [ {
"AddressLine" : [ "123 Main St" ],
"City" : "YourCity",
"StateProv" : {
"value" : "CO"
},
"Country" : {
"value" : "US"
},
"PostalCode" : "80010"
} ],
"Telephone" : [ {
"role" : "Mobile",
"phoneNumber" : "5551212.0"
} ],
"Email" : [ {
"value" : "happy.customer@travelport.com"
} ]
}
},
"TravelInfoAir" : {
"departureDate" : "2019-08-04",
"numberOfTravelers" : "1",
"fareBasisCode" : "Y",
"LocatorCode" : {
"value" : "ZXG25P",
"source" : "1G"
},
"FirstFlightNumber" : "1123",
"FirstFlightDepartureTime" : "09:45:00-06:00",
"FirstSegmentClass" : "F",
"AirportCodes" : [ "DEN", "ORD", "DEN", "DFW" ],
"AirlineCodes" : [ "AA", "BA", "DL" ]
}
}
}
}
}
Example Response
The first example below is a response to a minimum authorization request.

{
"PaymentCardAuthorizationResponse": {
"@type": "PaymentCardAuthorizationResponse",
"transactionId": "82f997d2-79bc-4145-af12-e85c241c2b8d:ppnd114",
"PaymentCardAuthorization": {
"@type": "PaymentCardAuthorization",
"completionCode": "000",
"approvalCode": "070073",
"completionCodeDescription": "Successful approval/completion or V.I.P. PINverification valid",
"PrimaryAccountNumber": "4012001037141112"
}
}
}
The second example confirms an address verification ("avsResult": "Y") and the CVV code ( "securityResult": "M") because a cardholder address was sent in the authorization request

{
"PaymentCardAuthorizationResponse": {
"@type": "PaymentCardAuthorizationResponse",
"transactionId": "1e2bf344-01c1-4377-a1ad-2348a330b82a",
"PaymentCardAuthorization": {
"@type": "PaymentCardAuthorization",
"completionCode": "000",
"approvalCode": "032147",
"avsResult": "Y",
"securityResult": "M",
"completionCodeDescription": "Successful approval/completion or V.I.P. PINverification valid",
"PrimaryAccountNumber": "5204********0008"
}
}
}