Reservation management
Payments API referenceReservation management

paymentInstrument query

Retrieves guest credit card, Expedia Virtual Card (EVC), and affiliate virtual credit card (VCC) information using a payment token provided by the reservations query.

Note: Retrieving affiliate VCC details is a beta feature that is available to pilot partners only. Contact your Technical Relationship Manager if you are interested in retrieving corporate traveler details.

Syntax

1query {
2 paymentInstrument(
3 token: String!
5}

Examples

The following examples show how to retrieve card details. Success and error responses are provided for each.

EVC

1query {
2 paymentInstrument(token: "afq323-2fseger34g3433-wfw4g2343g:2324fsd-gfert2g24r23fseger!2323r23") {
3 ... on BankIssuedCard {
4 customer {
5 fullName
6 address {
7 addressLines
8 locality
9 administrativeArea
10 postalCode
11 countryCode
12 }
13 }
14 number
15 expirationDate
16 type
17 verificationNumber
18 issuerName
19 activationDate
20 }
21 }
22}

Guest credit card

Note that activationDate returns null for guest credit cards (Hotel Collect reservations). Values are only available for this field for Expedia Collect (Expedia Virtual Card) reservations only.

1query {
2 paymentInstrument(token: "afq323-2fseger34g3433-wfw4g2343g:2324fsd-gfert2g24r23fseger!2323r23") {
3 ... on BankIssuedCard {
4 customer {
5 fullName
6 address {
7 addressLines
8 locality
9 administrativeArea
10 postalCode
11 countryCode
12 }
13 }
14 number
15 expirationDate
16 type
17 verificationNumber
18 issuerName
19 activationDate
20 }
21 }
22}

Affiliate VCC

1query {
2 paymentInstrument(token: "afq323-2fseger34g3433-wfw4g2343g:2324fsd-gfert2g24r23fseger!2323r23") {
3 ... on BankIssuedCard {
4 customer {
5 fullName
6 address {
7 addressLines
8 locality
9 administrativeArea
10 postalCode
11 countryCode
12 }
13 }
14 number
15 expirationDate
16 type
17 verificationNumber
18 issuerName
19 affiliateVccPaymentHandling {
20 authorizedExpense
21 specifiedIncidentalExpenses
22 totalChargesAllowed {
23 amount
24 currencyCode
25 }
26 verificationNumberRequired
27 authorizingCompany
28 cardContactFullPhoneNumber
29 cardContactEmail
30 maxPaymentAttemptCount
31 activationDateStart
32 activationDateEnd
33 }
34 }
35 }
36}

Arguments

NameDescription

token

Required.

External token returned in the payment:instrument object of the reservations query of the Lodging Supply GraphQL API.

Type: String

Types


Name
Type
Address
Object

Property address information.

FieldDescription
addressLinesNot nullable.

Lines that describe the physical street address.

Type: Array of non nullable String
administrativeArea

State or province of the property.

Type: String
administrativeAreaCode

Short code for the administrative area.

Type: String
countryCodeNot nullable.

Three-character ISO-3166-1 country code.

Type: CountryCode
localityNot nullable.

City or locality where the property is located.

Type: String
postalCodeNot nullable.

Postal code of the address.

Type: String
subLocality

Name of the neighborhood, borough, or district.

Type: String
AffiliateVccPaymentHandling
Object

Payment handling details for a corporate traveler.

FieldDescription
activationDateEnd

End date for valid range of the VCC, in ISO 8601 format (YYYY-MM-DD).

Type: LocalDate
activationDateStart

Start date for the valid range of the VCC, in ISO 8601 format (YYYY-MM-DD).

Type: LocalDate
authorizedExpense

Type of expenses that are authorized to be charged to the VCC.

Type: AuthorizedExpense
authorizingCompany

Company that will issue the authorization form for the VCC payment.

Type: String
cardContactEmail

Email address of the VCC contact.

Type: EmailAddress
cardContactFullPhoneNumber

Full phone number of the VCC contact.

Type: String
maxPaymentAttemptCount

Requested limit to the number of charging attempts.

Type: Int
specifiedIncidentalExpenses

List of enumerated categories to restrict the authorized incidentals. This is only used when authorizedExpense is provided with total_plus_incidentals and restrictions on incidentals are desired.

For example, to allow any incidental expenses, specify authorized_expenses equal to totalChargesAllowed and omit specifiedIncidentalExpenses.

Type: Array of non nullable String
totalChargesAllowed

The amount that can be charged to the VCC. This is the sum of all charges, including taxes and fees.

Type: Money
verificationNumberRequired

Whether a verification number (CVC) is required by the VCC. If this is marked required, the security code field for the payment MUST be provided.

Type: Boolean
AuthorizedExpense
Enum

Type of expenses that are authorized to be charged to the VCC.

NameDescription
PRESTAY_EXPENSES_ONLY

Indicates that the provided VCC is for pre-stay charges only (such as deposits, cancellation fees, no-show fees). A physical card must be presented at check-in for any remaining balance as well as incidentals.

TOTAL_BOOKING_AMOUNT

Indicates that both pre-stay charges and the total booking amount are authorized, but no incidentals are authorized. A physical card must be presented at check-in for any incidentals.

TOTAL_PLUS_INCIDENTALS

Indicates that pre-stay, total booking, and incidental expenses are authorized. See specifiedIncidentalExpenses. A physical card may be required for additional incidental expenses.

SEE_AUTHORIZATION_FORM

"Indicates that a property should refer to the authorization form that will be sent either by the card provider or the authorizing company.

BankIssuedCard
Object

Bank-issued card.

FieldDescription
activationDate

Date and time when the Expedia Virtual Card (EVC) is active. null is returned for guest credit cards.

Type: DateTime
affiliateVccPaymentHandling

Payment handling details for a corporate traveler. Note that this field is supported for pilot partners only.

Type: AffiliateVccPaymentHandling
customerNot nullable.

Customer information.

Type: PaymentInstrumentCustomer
expirationDateNot nullable.

Card expiration date (format: YYYY-MM).

Type: String
issuerNameNot nullable.

Credit card issuer name (brand), such as AmericanExpress, Visa, Mastercard, and so on.

Type: String
numberNot nullable.

Card number.

Type: String
typeNot nullable.

Card type.

Type: PaymentType
verificationNumber

CVV or CSV code.

Type: String
Boolean
Boolean

The Boolean scalar type represents true or false.

CountryCode
CountryCode

Scalar representing a country code using the ISO 3166-1 alpha-3 standard.

CurrencyCode
CurrencyCode

Scalar that represents the three-letter currency code defined by the ISO 4217 standard.

DateTime
DateTime

Scalar that represents a date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.

Decimal
Decimal

Scalar that represents a signed fractional value with extra precision, serialized as a string.

EmailAddress
EmailAddress

A field whose value conforms to the standard internet email address format as specified in HTML Spec.

Int
Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

LocalDate
LocalDate

A type representing a date in ISO 8601 format: YYYY-MM-DD (such as 2007-12-03).

Money
Object

Monetary amount value and its currency code.

FieldDescription
amountNot nullable.

Monetary amount value. The scale of the amount varies according to the currency or any rate conversion that may have been applied.

Type: Decimal
currencyCodeNot nullable.

Currency code.

Type: CurrencyCode
PaymentInstrument
Union
PaymentInstrumentCustomer
Object

Traveler information.

FieldDescription
address

Address of the traveler.

Type: Address
fullNameNot nullable.

Full name of the traveler.

Type: String
PaymentType
Enum

Payment method.

NameDescription
EXPEDIA_VIRTUAL_CARD
GUEST_CREDIT_CARD
AFFILIATE_VIRTUAL_CARD
String
String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.