Google Pay Decrypted Token Data

May 27, 2025 ยท View on GitHub

Details shared by Google for the merchant to be shared with PayPal. This is required to process the transaction using the Google Pay payment method.

Structure

GooglePayDecryptedTokenData

Fields

NameTypeTagsDescriptionGetterSetter
MessageIdStringOptionalA unique ID that identifies the message in case it needs to be revoked or located at a later time.

Constraints: Minimum Length: 1, Maximum Length: 250, Pattern: ^.*$
String getMessageId()setMessageId(String messageId)
MessageExpirationStringOptionalDate and time at which the message expires as UTC milliseconds since epoch. Integrators should reject any message that's expired.

Constraints: Minimum Length: 13, Maximum Length: 13, Pattern: \d{13}
String getMessageExpiration()setMessageExpiration(String messageExpiration)
PaymentMethodGooglePayPaymentMethodRequiredThe type of the payment credential. Currently, only CARD is supported.

Constraints: Minimum Length: 4, Maximum Length: 4
GooglePayPaymentMethod getPaymentMethod()setPaymentMethod(GooglePayPaymentMethod paymentMethod)
CardGooglePayCardRequiredThe payment card used to fund a Google Pay payment. Can be a credit or debit card.GooglePayCard getCard()setCard(GooglePayCard card)
AuthenticationMethodGooglePayAuthenticationMethodRequiredAuthentication Method which is used for the card transaction.

Constraints: Minimum Length: 1, Maximum Length: 50
GooglePayAuthenticationMethod getAuthenticationMethod()setAuthenticationMethod(GooglePayAuthenticationMethod authenticationMethod)
CryptogramStringOptionalBase-64 cryptographic identifier used by card schemes to validate the token verification result. This is a conditionally required field if authentication_method is CRYPTOGRAM_3DS.

Constraints: Minimum Length: 1, Maximum Length: 2000
String getCryptogram()setCryptogram(String cryptogram)
EciIndicatorStringOptionalElectronic Commerce Indicator may not always be present. It is only returned for tokens on the Visa card network. This value is passed through in the payment authorization request.

Constraints: Minimum Length: 1, Maximum Length: 256, Pattern: ^.*$
String getEciIndicator()setEciIndicator(String eciIndicator)

Example (as JSON)

{
  "message_id": "message_id4",
  "message_expiration": "message_expiration8",
  "payment_method": "CARD",
  "card": {
    "name": "name6",
    "number": "number6",
    "expiry": "expiry4",
    "last_digits": "last_digits0",
    "type": "UNKNOWN"
  },
  "authentication_method": "PAN_ONLY",
  "cryptogram": "cryptogram0",
  "eci_indicator": "eci_indicator4"
}