This reference is based on the Card Payment Instrument
schema
for the payment instrument object returned by Google Pay payment
handler
upon
checkout completion inside the payment.instruments
array.
{
"id": string,
"handler_id": string,
"type": string,
"selected": boolean,
"display": {
"brand": string,
"last_digits": string,
"description": string,
"card_art": string
},
"billing_address": {
"first_name": string,
"last_name": string,
"street_address": string,
"extended_address": string,
"address_locality": string,
"address_region": string,
"postal_code": string,
"address_country": string,
"phone_number": string
},
"credential": {
"type": "PAYMENT_GATEWAY" | "DIRECT",
"token": string
}
}
Properties
Property
Type
Always present?
Description
id
string
Yes
A unique identifier for this payment instrument instance, assigned by the platform.
handler_id
string
Yes
The unique identifier for the handler instance that produced this instrument. Corresponds to the
id
field in the payment handler configuration.type
string
Yes
The type of payment instrument, e.g.
card
.selected
boolean
No
Indicates whether this instrument was selected by the user.
display
object
Yes
Display information for the payment instrument.
display.
brand
string
Yes
The card brand/network (for example, "VISA").
display.
last_digits
string
Yes
Last 4 digits of the card number.
display.
description
string
No
A user-facing description of the card.
display.
card_art
string
No
A URI to an image representing the card.
billing_address
object
No
The billing address associated with the card.
Only returned if
billing_address_required
was set to true
in the configuration. billing_address.
first_name
string
No
First name of the contact associated with the address.
billing_address.
last_name
string
No
Last name of the contact associated with the address.
billing_address.
street_address
string
No
The street address.
billing_address.
extended_address
string
No
An address extension (for example, apartment or suite number).
billing_address.
address_locality
string
No
The locality (for example, city).
billing_address.
address_region
string
No
The region (for example, state or province).
billing_address.
postal_code
string
No
The ZIP/postal code.
billing_address.
address_country
string
No
The country code (2-letter ISO 3166-1 alpha-2 format).
billing_address.
phone_number
string
No
credential
object
No
The secure tokenization data returned by Google Pay.
credential.
type
string
Yes
The tokenization type. Matches the configured type.
-
PAYMENT_GATEWAY: Used if you process payments through a supported gateway . -
DIRECT: Used if you decrypt credentials yourself.
credential.
token
string
Yes
The encrypted payment credential token as a JSON-serialized string.
For
For
PAYMENT_GATEWAY
, this contains the encrypted payload to pass to your gateway.
For DIRECT
, this contains the encrypted card details (requires decryption using your private key).
See the Payment data cryptography
guide for details on the format and decryption process.
