---
title: "Get Google Pay token metadata"
method: POST
path: "/payment-instruments/google-pay/query"
tags: ["Payment Instrument Tokenization"]
---

# Get Google Pay token metadata

`POST /payment-instruments/google-pay/query`

Retrieve details for Google Pay card.

## Request body

- GooglePayTokenRequest
  - `token` string — ## If you integrate directly with the Google Pay&trade; API Follow the procedure in the Google Pay documentation to integrate your [web](https://developers.google.com/pay/api/web/guides/setup) or [Android](https://developers.google.com/pay/api/android/guides/setup) application. In the step where you choose a payment tokenization method, choose `Gateway`, then set `comcarde` as your `gateway`. If you have not been provided with a `gatewayMerchantId` parameter, please raise a ticket with support on the BR-DGE Support Portal at <https://docs.br-dge.io/docs/support#contact-support>. ## If you use a BR-DGE SDK The BR-DGE SDK can optionally be used to automate client side interactions with the Google Pay&trade; API. The SDK will output a nonce that you can directly use. For more information please refer to the [Google Pay Feature](https://docs.br-dge.io/docs/features-google-pay) page.

## Response `200`

Successful retrieval of Google Pay details

- GooglePayDetails — Decrypted Google Pay information and card metadata
  - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
    - `metadataType` string — Discriminator field. Discriminator field. Please see the discriminator mapping for the PaymentInstrumentMetadata schema.
    - `cardBrand` string — MASTERCARD, VISA, etc
    - `issuer` string — Name of issuing bank
    - `type` 'DEBIT' | 'CREDIT' | 'CHARGE_CARD' | 'CHARGE' | 'DEFERRED_DEBIT' | 'PREPAID' | 'PREPAID_RELOADABLE' | 'UNKNOWN'
    - `category` string — CLASSIC, BUSINESS, MIXED_PRODUCT, etc
    - `countryIsoA2` string — ISO 3166 Alpha-2 Country code
    - `commercial` boolean — Indicates if the card is corporate or retail
    - `bin` string — The Bank Identification Number that identifies the bank or financial institution that issued the card
  - `expiryDate` string — Card expiry date in MM-YY format.
  - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
  - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
  - `decryptedPayload` GooglePayDecryptedPayload — [Google Pay decrypted payload] excluding sensitive fields, such as cryptogram [Google Pay decrypted payload]: https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography#encrypted-message
    - `gatewayMerchantId` string — Google Pay gateway merchant ID.
    - `messageExpiration` string — Date and time at which the message expires as UTC milliseconds since epoch.
    - `messageId` string — A unique ID that identifies the message in case it needs to be revoked or located at a later time.
    - `paymentMethod` 'CARD' — The type of the payment credential. Currently, only CARD is supported.
    - `paymentMethodDetails` GooglePayDecryptedPaymentMethodDetails — The Google Pay payment credential, excluding cryptogram.
      - `pan` string — The personal account number of the card that the Google Pay token relates to. The value of this field depends on the value of `authMethod`. - If authMethod is PAN_ONLY: - This is an obfuscated PAN, where only the last 4 digits are present. - If authMethod is CRYPTOGRAM_3DS: - This is the full DPAN value generated by Google Pay.
      - `expirationMonth` integer — The expiration month of the card, where 1 represents January, 2 represents February, and so on.
      - `expirationYear` integer — The four-digit expiration year of the card, such as 2020.
      - `authMethod` 'PAN_ONLY' | 'CRYPTOGRAM_3DS' — The authentication method of the card transaction.
      - `eciIndicator` string — This string isn’t always present. It returns only for authenticated device tokens transactions on Android (CRYPTOGRAM_3DS). This value must be passed down the payment processing flow. Possible values: ""(empty), 02, 06, 05, 07
      - `assuranceDetails` GooglePayDecryptedAssuranceDetails — This object provides information about the validation performed on the returned payment data.
        - `accountVerified` boolean — If true, indicates that Cardholder possession validation has been performed on returned payment credential.
        - `cardholderAuthenticated` boolean — If true, indicates that identification and verifications (ID&V) was performed on the returned payment credential. If false, the same risk-based authentication can be performed as you would for card transactions. This risk-based authentication can include, but is not limited to, 3D-Secure authentication if applicable.

## Other responses

- `400` — Bad request - the request was in an invalid format or contained invalid information. If have any questions about why you are receiving these responses, please raise a ticket with support on the BR-DGE Support Portal at <https://docs.br-dge.io/docs/support#contact-support> with the `id` from the response so we can track down the individual requests on our end.
- `401` — Unauthorized request.
- `500` — An internal server error occurred upstream while processing the request. If you have any questions about why you are receiving these responses, please raise a ticket with support on the BR-DGE Support Portal at <https://comcarde.atlassian.net/servicedesk/customer/portals> with the `id` from the response so we track down the individual requests on our end.

---

[API](https://skmtc.net/br-dge/apis/br-dge-transaction-rest-api.md) · [All operations](https://skmtc.net/br-dge/apis/br-dge-transaction-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/br-dge/br-dge-transaction-rest-api/revisions/a9c0feac5523/schema)
