Google Pay™

Google Pay™ is a digital wallet that allows customers to pay using credit or debit cards saved in their Google account or on their Android device. Instead of sharing card details directly with the merchant, Google Pay generates a secure payment token representing the customer's payment information. This tokenization process helps protect sensitive card data during the transaction.
Google Pay enables customers to perform fast and secure payments with a single interaction on websites or Android applications using any card linked to their Google account.

How Google Pay Works with Getnet

When a customer chooses Google Pay during checkout, the following flow occurs:

  1. The customer selects Google Pay as the payment method.
  2. Google Pay returns payment data containing the customer's payment credentials or tokenized card credentials.
  3. The merchant sends the required Google Pay payment data to Getnet as part of the payment request.
  4. Getnet processes the transaction through the configured payment processor or card network.
  5. The authorization result is returned to the merchant.

Integration Overview

To process Google Pay payments with Getnet, the integration involves two main components:

  1. Integrating the Google Pay API in your application or website.
  2. Sending the required Google Pay payment data to Getnet for payment processing.
After integrating with Google Pay, you can display the Google Pay button in your checkout and request payment information from your customers.

If you offer Google Pay as a payment method to your customers, use only official Google Pay brand assets according to Google's brand guidelines. Do not modify the colors, proportions, layout, or appearance of Google Pay assets.

Requirements

Before integrating Google Pay, ensure the following:

  • Google Pay payment with Getnet is available only in Brazil and Spain.
  • Your integration complies with the Google Pay API Acceptable Use Policy and Terms of Service.
  • Your frontend environment must be served over HTTPS to initialize the Google Pay SDK.
  • Your Google Pay configuration must use the gateway information provided during technical setup.
  • Your backend must be able to send the required payment data to Getnet according to the selected processing scenario.

Integration Steps

Step 1: Integrate with Google Pay

Follow Google's official documentation to implement the Google Pay API:

This integration allows your checkout to display the Google Pay button and request payment data from the user's device or Google account.

Step 2: Configure your Google Pay account

Before moving to production, you must:

  1. Register your business in the Google Pay & Wallet Console: https://pay.google.com/business/console/
  2. Configure your domain in the Google Pay allowlist through the Google Developer Console.

These steps ensure your website or application is authorized to request Google Pay payments.

Step 3: Tokenize and process the payment

Once the customer authorizes the payment:

  1. Google Pay returns payment data to the merchant.
  2. Your system sends the required Google Pay payment data to Getnet.
  3. Getnet processes the transaction through the configured payment processor or card network.
  4. Getnet returns the authorization result to the merchant.

Google Pay authorization methods and Getnet processing models

Google Pay supports card payments through authorization methods configured in the frontend using allowedAuthMethods.

The Google Pay authorization method defines the type of payment credentials returned by Google Pay. The Getnet processing model defines how the merchant sends those credentials to Getnet.

These are different concepts and should not be mixed:

ConceptWhere it is configured or usedExamples
Google Pay authorization methodGoogle Pay frontend configuration in allowedAuthMethodsPAN_ONLY, CRYPTOGRAM_3DS
Getnet processing modelServer-side payment request sent to GetnetPAN card data flow, Tokenized card data flow, Authorization Token flow

Use the sections below to understand the Google Pay authorization methods and the Getnet processing models available for each integration.

PAN_ONLY

PAN_ONLY is a Google Pay authorization method that uses card credentials associated with the customer's Google account. The transaction is processed similarly to a card-not-present payment.

When using this method, the server-side payload sent to Getnet may follow one of these processing models:

  • PAN card data flow: the merchant or merchant-side processor extracts the card data and sends it to Getnet as structured card fields.
  • Authorization Token flow: the merchant sends the Google Pay payment token encoded in Base64 in data.payment.wallet.authorization_token. Getnet processes the token and extracts the payment data required for authorization.

If 3D Secure authentication is required by local regulation, issuer rules, merchant configuration, or transaction risk, an additional 3DS flow may be triggered.

3DS for PAN_ONLY transactions

For PAN_ONLY transactions, 3D Secure may be required depending on the country, merchant configuration, issuer rules, or transaction risk.
information icon

For Spain, 3DS/SCA is required. For Brazil, 3DS may be optional depending on merchant configuration and risk rules.

To process a PAN_ONLY transaction with 3DS, merchants must follow the standard Getnet 3DS authentication flow before creating or confirming the payment. After authentication is completed, send the 3DS authentication fields in the payment request, such as eci, xid, ucaf, tdsver, and tdsdsxid, according to the Create a 3DS Authenticated Payment documentation.

If 3DS is required and the authentication data is not provided, the transaction may be declined or returned as pending for additional authentication.

CRYPTOGRAM_3DS

CRYPTOGRAM_3DS is a Google Pay authorization method configured in the frontend using allowedAuthMethods.

This method uses tokenized device card credentials and includes a transaction cryptogram generated during the payment process. The cryptogram provides stronger authentication evidence because it is generated for the tokenized device credential.

After Google Pay returns the payment data, the merchant can process it using one of the supported Getnet server-side models:

  • Tokenized card data flow: the merchant or merchant-side processor sends tokenized card data as structured payment fields.
  • Authorization Token flow: the merchant sends the Google Pay payment token encoded in Base64 in data.payment.wallet.authorization_token.
Do not mix both models in the same request. If you send data.payment.wallet.authorization_token, do not also send card.number, card.expiration_month, card.expiration_year, tokenization.cryptogram, or tokenization.eci.

Authorization Token flow

Authorization Token is not a Google Pay allowedAuthMethods value. It is a Getnet processing model.

Use this flow when your backend sends the Google Pay payment token to Getnet instead of sending card data fields.

In this flow, extract the value from paymentMethodData.tokenizationData.token, serialize the Google Pay payment token exactly as returned by Google Pay, encode it in Base64, and send the encoded value in data.payment.wallet.authorization_token.

Getnet processes the token and extracts the payment data required for authorization.

Do not decrypt, change, trim, or remove any field from the token content before encoding it.

Merchant gateway

When integrating with the Google Pay API as a merchant, ensure that both gateway and gatewayMerchantId are defined in the tokenizationSpecification object.
In this example, the gateway value is set to getnetpayments, and the gatewayMerchantId corresponds to the merchant identifier configured during technical setup.
AttributeTypeDescriptionExample
tokenizationSpecification.typeStringPayment method tokenization type."PAYMENT_GATEWAY"
tokenizationSpecification.parametersObjectParameters specific to the selected payment method tokenization type.--
tokenizationSpecification.parameters.gatewayStringGateway ID configured with Google."getnetpayments"
tokenizationSpecification.parameters.gatewayMerchantIdStringUnique identifier used to represent the merchant in the gateway configuration."<Merchant ID assigned during setup>"
json
{ "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "getnetpayments", "gatewayMerchantId": "<Merchant ID assigned during setup>" } } }

Payment acceptance

For the best payment acceptance rates, Google recommends including both authorization methods in your configuration. Supporting both methods allows Google Pay to automatically choose the most secure and compatible option based on the customer's device and card configuration.

Through the Getnet Global API, merchants can process Google Pay payments using multiple backend scenarios, including PAN card data flow, Tokenized card data flow, Authorization Token flow, and SDWO-specific transactions.

You must define the payment methods you accept in allowedAuthMethods, based on the authorization methods supported by your integration.
Authorization methodCredential type3DS requirementSupported countries
PAN_ONLYCard credentials associated with the customer's Google accountRequired in Spain. Optional in Brazil depending on merchant configuration and transaction risk.Brazil and Spain
CRYPTOGRAM_3DSTokenized device card credentials with cryptogramGenerally not required, unless required by regulation, issuer rules, merchant configuration, or transaction risk.Brazil and Spain

Cards

Cards available for the transaction.

TypeSpainBrazil
Mastercard
Visa
You must define the card networks you accept in allowedCardNetworks, based on the networks supported by your integration.
AttributeTypeDescriptionExample
allowedPaymentMethodsArraySet of payment method and card configurations.--
allowedPaymentMethods.typeStringPayment method type."CARD"
allowedPaymentMethods.parameters.allowedAuthMethodsArray of stringsSupported Google Pay authorization methods.["PAN_ONLY", "CRYPTOGRAM_3DS"]
allowedPaymentMethods.parameters.allowedCardNetworksArray of stringsCard networks supported by Google Pay and Getnet.["MASTERCARD", "VISA"]

The following is an example of how to support all available payment methods, card networks, and card authentication methods:

json
{ "allowedPaymentMethods": [ { "type": "CARD", "parameters": { "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"], "allowedCardNetworks": ["MASTERCARD", "VISA"] }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "getnetpayments", "gatewayMerchantId": "<Merchant ID assigned during setup>" } } } ] }

Billing address

information icon
Note: Request billing address only when required for authorization, fraud prevention, AVS, or local compliance. Asking for additional information may increase checkout friction.
Use billingAddressParameters to request billing address fields from Google Pay when required for authorization, fraud prevention, AVS, or local compliance.

This object lets you define additional billing address fields to be returned by Google Pay.

AttributeTypeDescriptionExample
allowedPaymentMethods.typeStringPayment method type."CARD"
parameters.billingAddressRequiredBooleanSet to true only if a billing address is required.true
parameters.billingAddressParameters.phoneNumberRequiredBooleanSet to true if a phone number is required.true
parameters.billingAddressParameters.formatStringBilling address format required."MIN", "FULL" or "FULL-ISO3166"
json
{ "allowedPaymentMethods": [ { "type": "CARD", "parameters": { "billingAddressRequired": true, "billingAddressParameters": { "phoneNumberRequired": true, "format": "MIN" }, "allowedCardNetworks": ["MASTERCARD", "VISA"], "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"] }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "getnetpayments", "gatewayMerchantId": "<Merchant ID assigned during setup>" } } } ] }

Handling the Google Pay payload

When a customer pays with Google Pay, Google returns payment data in the PaymentData response object.

For the Authorization Token flow, the encrypted Google Pay payment token must be extracted from:

text
paymentMethodData.tokenizationData.token

The merchant must then:

  1. Extract the value from paymentMethodData.tokenizationData.token.
  2. Serialize the token exactly as returned by Google Pay.
  3. Encode the serialized token in Base64.
  4. Send the encoded value in data.payment.wallet.authorization_token in the Getnet payment request.

Do not decrypt, change, trim, or remove any field from the token content before encoding it.

Example of the Getnet payment request using the Authorization Token flow:

json
{ "data": { "amount": 500, "currency": "EUR", "payment": { "payment_method": "CREDIT", "transaction_type": "FULL", "number_installments": 1, "wallet": { "id": "216", "type": "10", "authorization_token": "<BASE64_ENCODED_GOOGLE_PAY_PAYMENT_TOKEN>" } } } }

Integrate via Global API

To integrate Google Pay via the Global API, ensure the following prerequisites are met:

  • Generate an access token through the Authentication endpoint.
  • Wallet configuration: Use the correct wallet.id, wallet.type, and wallet.tag according to the selected Google Pay processing scenario.
  • PCI Compliance: Scenarios involving card objects, such as PAN card data flow and Tokenized card data flow, require the merchant to operate within the appropriate PCI-DSS scope for handling sensitive card or tokenized card data. If the merchant uses the Authorization Token flow, Getnet processes the Google Pay token and the merchant must not send card or tokenization fields separately.
  • HTTPS: Your frontend environment must be served over a secure connection to initialize the Google Pay SDK.

Wallet field configuration

Use the table below to identify the correct wallet configuration for each scenario.

Scenariodata.payment.wallet.iddata.payment.wallet.typedata.payment.wallet.tag
Standard Google Pay — PAN card data flow21610Not required
Standard Google Pay — Tokenized card data flow21610Not required
Authorization Token flow21610Not required
SDWO card data flowBRL55Not required
SDWO Authorization Token flowBRL55GP
information icon
Important: For standard Google Pay transactions, use wallet.id = 216.
For SDWO transactions in Brazil, use wallet.id = BRL and wallet.type = 55.

Characteristics

CapabilityDetails
Customer ExperienceOne-Tap — Fast checkout via biometric or device authentication.
SettlementReal-time — Transactions are authorized and settled according to card network rules.
ConfirmationSynchronous — The API provides an immediate APPROVED, DECLINED, or intermediate status such as PENDING when additional authentication is required.

Available Features

Use the matrix below to confirm the supported operations for Google Pay in the Global API.

FeaturesSupported CountriesPurchasesRefundsPartial RefundsPre-authorizations3DSSDWO
Direct / APIBrazil and Spain

Integration Flow

The lifecycle of a Google Pay transaction begins with the frontend SDK obtaining a secure payload and ends with the server-side authorization call.

Transaction Flow Diagram

The following diagram illustrates the end-to-end payment flow when a customer completes a purchase using Google Pay and the payment is processed through Getnet.

Flow Description

  1. The customer selects Google Pay as the payment method at checkout.
  2. The merchant application requests payment data from Google Pay.
  3. Google Pay displays the customer's saved payment methods.
  4. The customer selects a card and confirms the payment.
  5. Google Pay generates and returns payment data to the merchant.
  6. The merchant sends the required Google Pay payment data to Getnet.
  7. Getnet prepares the transaction according to the selected processing scenario.
  8. Getnet sends the authorization request to the card network or configured payment processor.
  9. The processor returns the authorization result.
  10. Getnet forwards the response to the merchant, which then displays the final payment result to the customer.

Server-Side Implementation Scenarios

The following scenarios detail the JSON structures required based on the data provided by the Google Pay frontend and the selected Getnet processing scenario.

information icon
Important: PAN_ONLY and CRYPTOGRAM_3DS are Google Pay frontend authorization methods. They are not Getnet server-side scenario names.
In the Getnet payment request, merchants can choose the processing model that best fits their integration architecture, PCI scope, and payment processing requirements: PAN card data flow, Tokenized card data flow, Authorization Token flow, SDWO card data flow, or SDWO Authorization Token flow.

PAN card data flow

Use this server-side scenario when your backend sends card data fields extracted from Google Pay to Getnet.

This flow is used when the backend payload sent to Getnet is a structured card payment request.

In this model, the merchant or merchant-side processor extracts the card number and expiration date from the Google Pay response according to the selected processing model and sends these values to Getnet.

If 3D Secure authentication is required, the merchant must complete the 3DS authentication flow before creating or confirming the payment, and send the required 3DS fields in the payment request.

AttributeTypeDescriptionExample
data.payment.cardObjectCard data set.--
data.payment.card.numberStringCard number extracted from the Google Pay response according to the selected processing model.4012001037141112
data.payment.card.expiration_monthStringTwo-digit card expiry month.12
data.payment.card.expiration_yearStringTwo-digit card expiry year.25
data.payment.walletObjectWallet data set.--
data.payment.wallet.idStringWallet identifier. For standard Google Pay transactions, always use 216.216
data.payment.wallet.typeStringWallet type. For standard Google Pay transactions, always use 10.10
data.payment.eciStringElectronic Commerce Indicator used for 3DS authentication. Optional for transactions without 3DS.02
information icon
Important: For Spain, 3DS authentication is required. In Brazil, 3DS is optional depending on merchant configuration, issuer rules, and transaction risk.

Example of request

json
{ "idempotency_key": "{{$guid}}", "request_id": "{{$guid}}", "order_id": "{{$guid}}", "data": { "amount": 500, "currency": "BRL", "customer_id": "02587894152", "payment": { "payment_id": "{{$guid}}", "payment_method": "DEBIT", "transaction_type": "FULL", "number_installments": 1, "card": { "number": "4012001037141112", "expiration_month": "12", "expiration_year": "26" }, "wallet": { "id": "216", "type": "10" } }, "additional_data": { "customer": { "phone_number": "5511999999999", "email": "customer@example.com", "document_number": "50506468000", "document_type": "CPF", "name": "Jose da Silva", "billing_address": { "street": "Rua A", "number": "1", "district": "Centro", "city": "Sao Paulo", "state": "SP", "country": "BR", "postal_code": "05781000", "complement": "N/A" } } } } }

Example of response

json
{ "idempotency_key": "563853a7-0c9b-43d6-9b0b-08a9483dcddb", "seller_id": "a9c99f03-025c-4251-a9f5-de73ef593523", "payment_id": "7af9d6ad-aba7-4395-ac35-86eecb11fe5c", "order_id": "82daa233-5f23-4379-8b24-6cbb7e55fc77", "amount": "500", "currency": "BRL", "status": "APPROVED", "payment_method": "DEBIT", "received_at": "2026-05-12T17:49:53.000Z", "transaction_id": "306132749937879", "original_transaction_id": "306132749937879", "authorized_at": "2026-05-12T17:49:53.885Z", "reason_code": "00", "reason_message": "captured", "acquirer": "GETNET", "soft_descriptor": "EC TESTES PAGONXT - NA", "brand": "VISA", "authorization_code": "092608", "acquirer_transaction_id": "000953185070" }

SDWO — Staged Digital Wallet Operator

SDWO is a payment framework typically used by digital wallet providers where the wallet acts as an intermediary between the cardholder and the final recipient.

It facilitates two stages: funding the account and transferring funds to a sub-merchant. This ensures transparency of the end receiver for payment networks.

For SDWO transactions in Brazil, the fields inside the wallet object must be filled as follows:
  • data.payment.wallet.id must be set to BRL
  • data.payment.wallet.type must be set to 55
AttributeTypeDescriptionExample
data.payment.cardObjectCard data set.--
data.payment.card.numberStringCard number.4012001037141112
data.payment.card.expiration_monthStringTwo-digit card expiry month.12
data.payment.card.expiration_yearStringTwo-digit card expiry year.25
data.payment.walletObjectWallet data set.--
data.payment.wallet.idStringWallet identifier for SDWO transactions in Brazil. Always use BRL.BRL
data.payment.wallet.typeStringWallet type for SDWO transactions. Always use 55.55
data.payment.wallet.fund_transferObjectFund transfer data required for SDWO transactions.--

Example of SDWO request

json
{ "idempotency_key": "{{$guid}}", "request_id": "{{$guid}}", "order_id": "{{$guid}}", "link_id": "{{$guid}}", "data": { "amount": 1200, "currency": "BRL", "payment": { "payment_id": "{{$guid}}", "payment_method": "CREDIT", "save_card_data": false, "transaction_type": "FULL", "number_installments": 1, "dynamic_mcc": 6051, "card": { "number": "4012001037141112", "expiration_month": "12", "expiration_year": "29" }, "wallet": { "type": "55", "id": "BRL", "fund_transfer": { "pay_action": "FT", "receiver": { "account_number": "9999999999999995", "account_type": "00", "first_name": "Jane", "middle_name": "T", "last_name": "Smith", "addr_street": "1 Main ST", "addr_city": "SAO PAULO", "addr_state": "SP", "addr_country": "BRA", "addr_postal_code": "1408000", "nationality": "BRA", "phone": "5511977778888", "date_of_birth": "19901230", "id_type": "03", "id_num": "12345678900000" }, "sender": { "account_number": "9999999999999995", "account_type": "00", "first_name": "Jane", "middle_name": "T", "last_name": "Smith", "addr_street": "1 Main ST", "addr_city": "SAO PAULO", "addr_state": "SP", "addr_country": "BRA", "addr_postal_code": "1408000", "nationality": "BRA", "phone": "5511977778888", "date_of_birth": "19901230", "id_type": "03", "id_num": "12345678900000" } } } } } }

Example of SDWO response

json
{ "idempotency_key": "855294c3-61d0-4da9-a3e4-f6038b92cd76", "seller_id": "a9c99f03-025c-4251-a9f5-de73ef593523", "payment_id": "4eaab005-5cdc-41eb-8598-6e36aaa1bb85", "order_id": "cc44fe82-2712-453c-948b-52e346216e43", "amount": "1200", "currency": "BRL", "status": "APPROVED", "payment_method": "CREDIT", "received_at": "2026-05-12T18:04:21.000Z", "transaction_id": "016132078327616", "original_transaction_id": "016132078327616", "authorized_at": "2026-05-12T18:04:32.953Z", "reason_code": "00", "reason_message": "captured", "acquirer": "GETNET", "soft_descriptor": "EC TESTES PAGONXT - NA", "brand": "VISA", "authorization_code": "030603", "acquirer_transaction_id": "000421185086" }

SDWO with 3DS Transactions

For transactions using 3DS, please follow all the steps provided in the Create a 3DS Authenticated Payment document.

information icon
Important: When creating SDWO requests, the fields inside the wallet object must be filled as follows:
  • data.payment.wallet.id must be set to BRL
  • data.payment.wallet.type must be set to 55

The table below shows the fields required for transactions with 3DS.

AttributeTypeDescriptionExample
data.payment.xidStringMPI identifier for each authenticated transaction.yFNXIadjt0mEsP5ob44vQPd0Zbg=
data.payment.ucafStringAuthentication code encrypted by the card network.B5kBAHNwQAAAAYdqmGESdiZwFVg=
data.payment.eciStringElectronic Commerce Indicator used for 3DS authentication.5
data.payment.tdsverString3DS version used in authentication.2.3.1
data.payment.tdsdsxidString3DS Server transaction identifier.9c2410c8-07c7-4e07-ac76-185e620970cf

Example of SDWO with 3DS request

json
{ "idempotency_key": "{{$guid}}", "request_id": "{{$guid}}", "order_id": "{{$guid}}", "link_id": "{{$guid}}", "data": { "amount": 1000, "currency": "BRL", "payment": { "payment_id": "{{$guid}}", "payment_method": "CREDIT", "save_card_data": false, "transaction_type": "FULL", "number_installments": 1, "dynamic_mcc": 6051, "xid": "dyZb2stPifAatR7aaQufcNBgshE=", "ucaf": "j0V7ephXEz91CBEEwhFpACkAAAA=", "eci": "2", "tdsver": "2.3.1", "tdsdsxid": "790cb396-97b4-5a03-8000-0000104ec36b", "card": { "number": "5555555555554444", "expiration_month": "12", "expiration_year": "32" }, "wallet": { "type": "55", "id": "BRL", "fund_transfer": { "pay_action": "FT", "receiver": { "account_number": "9999999999999995", "account_type": "00", "first_name": "Jane", "middle_name": "T", "last_name": "Smith", "addr_street": "1 Main ST", "addr_city": "SAO PAULO", "addr_state": "SP", "addr_country": "BRA", "addr_postal_code": "1408000", "nationality": "BRA", "phone": "5511977778888", "date_of_birth": "19901230", "id_type": "03", "id_num": "12345678900000" }, "sender": { "account_number": "9999999999999995", "account_type": "00", "first_name": "Jane", "middle_name": "T", "last_name": "Smith", "addr_street": "1 Main ST", "addr_city": "SAO PAULO", "addr_state": "SP", "addr_country": "BRA", "addr_postal_code": "1408000", "nationality": "BRA", "phone": "5511977778888", "date_of_birth": "19901230", "id_type": "03", "id_num": "12345678900000" } } } } } }

Example of SDWO with 3DS response

json
{ "idempotency_key": "c26015f2-a412-4ddb-a126-6742b6acdc70", "seller_id": "a9c99f03-025c-4251-a9f5-de73ef593523", "payment_id": "5d11ac09-3343-4654-80f7-28a9f46dc25d", "order_id": "6753f130-c8fd-4faf-8e5a-424d777aedaa", "amount": "1000", "currency": "BRL", "status": "APPROVED", "payment_method": "CREDIT", "received_at": "2026-05-12T17:39:32.000Z", "transaction_id": "MCC00CVWL0512", "original_transaction_id": "MCC00CVWL0512", "authorized_at": "2026-05-12T17:39:33.281Z", "reason_code": "00", "reason_message": "captured", "acquirer": "GETNET", "soft_descriptor": "EC TESTES PAGONXT - NA", "brand": "MASTERCARD", "authorization_code": "108850", "acquirer_transaction_id": "000932182031", "eci": "2" }
information icon
The response follows the same structure as the standard payment response. If additional authentication is required, the transaction may return PENDING with 3DS challenge data.

Tokenized card data flow

Use this server-side scenario when your backend sends tokenized card credentials to Getnet as structured payment fields.

In this model, the merchant or merchant-side processor extracts the tokenized card number, also known as DPAN or device PAN, together with the expiration date, cryptogram, and ECI, and sends these values to Getnet.

If you use the Authorization Token flow, do not send card.number, card.expiration_month, card.expiration_year, tokenization.cryptogram, or tokenization.eci separately. In the Authorization Token flow, Getnet processes the Google Pay token sent in data.payment.wallet.authorization_token.

The cryptogram is a dynamically generated cryptographic value that enables payment networks to validate the authenticity of the transaction.

AttributeTypeDescriptionExample
data.payment.cardObjectCard data set containing the tokenized card credentials extracted from Google Pay.--
data.payment.card.numberStringTokenized card number, DPAN, or device PAN returned by Google Pay. Do not send the original PAN.4761120000000148
data.payment.card.expiration_monthStringTwo-digit expiry month of the tokenized card credential.12
data.payment.card.expiration_yearStringTwo-digit expiry year of the tokenized card credential.25
data.payment.walletObjectWallet data set.--
data.payment.wallet.idStringWallet identifier. For standard Google Pay transactions, always use 216.216
data.payment.wallet.typeStringWallet type. For standard Google Pay transactions, always use 10.10
data.payment.tokenizationObjectTokenization data set containing cryptographic values extracted from Google Pay.--
data.payment.tokenization.cryptogramStringCryptogram generated for the tokenized device credential. Send the value exactly as extracted from the Google Pay payment data. Do not generate, alter, or reuse cryptograms.AgAAAAAABk4DWZ4C28yUQAAAAAA=
data.payment.tokenization.eciStringElectronic Commerce Indicator associated with the tokenized payment.02

Example of request

json
{ "idempotency_key": "f6e5cb13-a5fe-46f9-b467-29bd13c29e59", "request_id": "d808b53a-aa47-4484-8c99-cbe83624474c", "order_id": "izgyekkmb8sd", "data": { "amount": 500, "currency": "EUR", "customer_id": "02587894152", "payment": { "payment_id": "izgyekkmb8sd", "payment_method": "CREDIT", "transaction_type": "FULL", "number_installments": 1, "card": { "number": "4761120000000148", "expiration_month": "12", "expiration_year": "49" }, "wallet": { "id": "216", "type": "10" }, "tokenization": { "cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=", "eci": "02" } }, "additional_data": { "customer": { "phone_number": "+34911234567", "email": "customer@example.com", "document_number": "12345678Z", "document_type": "DNI", "name": "Jose da Silva", "billing_address": { "street": "Calle Mayor", "number": "10", "district": "Centro", "city": "Madrid", "state": "Madrid", "country": "ES", "postal_code": "28013", "complement": "N/A" } } } } }
information icon
The cryptogram value above is shown only as an example. In production, send the cryptogram value exactly as extracted from the Google Pay payment data. Do not generate, alter, reuse, or hardcode cryptograms.

Example of response

json
{ "idempotency_key": "2e7b86be-201d-4a82-a8f9-7102500faf78", "seller_id": "7c966bb3-a8dc-4428-aa95-61081719ed80", "payment_id": "omczgrvmxdt5", "order_id": "omczgrvmxdt5", "amount": "500", "currency": "EUR", "status": "APPROVED", "payment_method": "CREDIT", "received_at": "2026-02-23T15:10:52.664Z", "original_transaction_id": "", "authorized_at": "2026-02-23T15:10:53.688Z", "reason_code": "00", "reason_message": "Transaction authorized (payment/preauthorization)", "acquirer": "GETNET", "brand": "UNKNOWN" }
information icon
Note: In sandbox environments, the brand field may be returned as UNKNOWN depending on the test token configuration.

Authorization Token flow

The Authorization Token flow is a Getnet processing model used when the merchant sends the Google Pay payment token to Getnet instead of sending card data or tokenized card data as separate fields.
When a customer pays with Google Pay, Google returns encrypted payment data in the paymentMethodData.tokenizationData.token property of the PaymentData response object.
In this model, the merchant does not send card.number, card.expiration_month, card.expiration_year, tokenization.cryptogram, or tokenization.eci as separate fields. Instead, the merchant must extract the value from paymentMethodData.tokenizationData.token, serialize it exactly as returned by Google Pay, encode it in Base64, and send the encoded value in data.payment.wallet.authorization_token.
Getnet processes the authorization_token and extracts the payment data required for authorization.

Do not decrypt, change, trim, or remove any field from the token content before encoding it.

AttributeTypeDescriptionRequired
idempotency_keyStringUnique identifier to prevent duplicate charges.Yes
order_idStringMerchant reference ID used for reconciliation.Yes
request_idStringTrace identifier for idempotency audits and support follow-up.Recommended
data.amountNumberTransaction amount in cents.Yes
data.currencyStringISO currency code used in the transaction.Yes
data.customerObjectCustomer details such as name, email, phone, document, and billing address. Required only when requested by Getnet or by the applicable risk, compliance, or antifraud configuration.Conditional
data.payment.payment_methodStringPayment method used for the transaction.Yes
data.payment.transaction_typeStringDefines how the transaction is processed. Examples: FULL, INSTALL_NO_INTEREST, INSTALL_WITH_INTEREST.Yes
data.payment.number_installmentsNumberNumber of installments. Use 1 for a single payment.Yes
data.additional_data.deviceObjectDevice information used for risk analysis or antifraud checks when applicable, such as ip_address, device_id, and finger_print.Conditional
data.payment.walletObjectWallet data set.Yes
data.payment.wallet.idStringWallet identifier. Use 216 for standard Google Pay Authorization Token transactions.Yes
data.payment.wallet.typeStringWallet type. Use 10 for standard Google Pay Authorization Token transactions or 55 for SDWO Authorization Token transactions.Conditional
data.payment.wallet.tagStringWallet tag. Required only for SDWO Authorization Token transactions. Use GP.Conditional
data.payment.wallet.authorization_tokenStringBase64-encoded Google Pay payment token. Send the token content exactly as returned by Google Pay, encoded in Base64, without decrypting, changing, trimming, or removing any field.Yes

Depending on the risk, compliance, or antifraud service enabled for the merchant, additional customer and device information may be requested. When required, send the applicable fields below.

Object / FieldDescription
customer.first_nameCustomer's first name.
customer.last_nameCustomer's last name.
customer.emailCustomer email address.
customer.phone_numberPhone number in international format.
customer.document_typeDocument type, such as CPF, DNI, or equivalent.
customer.document_numberDocument number without punctuation.
customer.billing_address.streetStreet name.
customer.billing_address.numberAddress number.
customer.billing_address.districtDistrict or neighbourhood.
customer.billing_address.cityCity.
customer.billing_address.stateState or province.
customer.billing_address.countryCountry code.
customer.billing_address.postal_codePostal or ZIP code.
additional_data.device.ip_addressCustomer's IP address.
additional_data.device.device_idDevice fingerprint session ID.
additional_data.device.finger_printFingerprint hash generated by the antifraud script.

Example of request

json
{ "idempotency_key": "4c3cbdc2-b41e-4e1c-b7fe-90ed10abd9bb", "request_id": "4802c01b-5aee-4962-a4f0-cff50439fda0", "order_id": "izgyekkmb8sd", "data": { "amount": 500, "currency": "EUR", "customer_id": "02587894152", "payment": { "payment_id": "izgyekkmb8sd", "payment_method": "CREDIT", "transaction_type": "FULL", "number_installments": 1, "wallet": { "id": "216", "type": "10", "authorization_token": "<BASE64_ENCODED_GOOGLE_PAY_PAYMENT_TOKEN>" } }, "additional_data": { "customer": { "phone_number": "+34911234567", "email": "customer@example.com", "document_number": "12345678Z", "document_type": "DNI", "name": "Jose da Silva", "billing_address": { "street": "Calle Mayor", "number": "10", "district": "Centro", "city": "Madrid", "state": "Madrid", "country": "ES", "postal_code": "28013", "complement": "N/A" } }, "device": { "ip_address": "192.0.2.1", "device_id": "{{$guid}}", "finger_print": "<DEVICE_FINGERPRINT>" } } } }

Example of response

json
{ "idempotency_key": "ae010d29-997f-4b8b-9890-32ab6c927a85", "seller_id": "7c966bb3-a8dc-4428-aa95-61081719ed80", "payment_id": "c7pk1y8j97o0", "order_id": "c7pk1y8j97o0", "amount": "500", "currency": "EUR", "status": "PENDING", "payment_method": "CREDIT", "received_at": "2026-02-23T15:16:37.589Z", "original_transaction_id": "", "authorized_at": "2026-02-23T15:16:38.853Z", "reason_code": "00", "reason_message": "Transaction is pending of EMV3DS authentication", "acquirer": "GETNET", "brand": "UNKNOWN", "additional_data": { "_links": [ { "rel": "3ds_html", "type": "POST", "href": "https://example.com/3ds/challenge", "creq": "<3DS_CREQ_VALUE>" } ] } }

SDWO Authorization Token flow

For SDWO Authorization Token transactions, the merchant sends the Base64-encoded Google Pay payment token together with the SDWO fund transfer data.

information icon
Important: Only for SDWO Authorization Token transactions:
  • data.payment.wallet.id must be set to BRL
  • data.payment.wallet.type must be set to 55
  • data.payment.wallet.tag must be set to GP

Example of SDWO Authorization Token request

json
{ "idempotency_key": "{{$guid}}", "request_id": "{{$guid}}", "order_id": "{{$guid}}", "link_id": "{{$guid}}", "data": { "amount": 1200, "currency": "BRL", "payment": { "payment_id": "{{$guid}}", "payment_method": "CREDIT", "save_card_data": false, "transaction_type": "FULL", "number_installments": 1, "dynamic_mcc": 6051, "wallet": { "type": "55", "id": "BRL", "tag": "GP", "authorization_token": "<BASE64_ENCODED_GOOGLE_PAY_PAYMENT_TOKEN>", "fund_transfer": { "pay_action": "FT", "receiver": { "account_number": "9999999999999995", "account_type": "00", "first_name": "Jane", "middle_name": "T", "last_name": "Smith", "addr_street": "1 Main ST", "addr_city": "SAO PAULO", "addr_state": "SP", "addr_country": "BRA", "addr_postal_code": "1408000", "nationality": "BRA", "phone": "5511977778888", "date_of_birth": "19901230", "id_type": "03", "id_num": "12345678900000" }, "sender": { "account_number": "9999999999999995", "account_type": "00", "first_name": "Jane", "middle_name": "T", "last_name": "Smith", "addr_street": "1 Main ST", "addr_city": "SAO PAULO", "addr_state": "SP", "addr_country": "BRA", "addr_postal_code": "1408000", "nationality": "BRA", "phone": "5511977778888", "date_of_birth": "19901230", "id_type": "03", "id_num": "12345678900000" } } } } } }

Example of SDWO Authorization Token response

json
{ "idempotency_key": "ff9c7c47-22f4-437b-af20-1f227a6bcaae", "seller_id": "a9c99f03-025c-4251-a9f5-de73ef593523", "payment_id": "21911ab4-85c7-4906-a56c-d75c5b7ea185", "order_id": "e478c15e-fd0a-40f4-8b70-48233ca203bd", "amount": "1200", "currency": "BRL", "status": "APPROVED", "payment_method": "CREDIT", "received_at": "2026-05-12T18:10:18.000Z", "transaction_id": "MCC00CVZ20512", "original_transaction_id": "MCC00CVZ20512", "authorized_at": "2026-05-12T18:10:19.283Z", "reason_code": "00", "reason_message": "captured", "acquirer": "GETNET", "soft_descriptor": "EC TESTES PAGONXT - NA", "brand": "MASTERCARD", "authorization_code": "446201", "acquirer_transaction_id": "000018185087" }

Comparison Table

Use the table below to identify which technical fields are required for each Google Pay processing scenario.

ScenarioData handlingWhat merchant sends to GetnetCard objectTokenization objectAuthorization token3DS dataWallet fields
PAN card data flowMerchant / processor extracts dataCard PAN + expiryRequiredNoNoOptional or required by country/configurationid=216, type=10
PAN card data flow with 3DSMerchant / processor extracts data and performs 3DSCard PAN + expiry + 3DS authentication fieldsRequiredNoNoRequiredid=216, type=10
Tokenized card data flowMerchant / processor extracts tokenized dataTokenized card/DPAN + expiry + cryptogram + ECIRequiredRequiredNoUsually not requiredid=216, type=10
Authorization Token flowGetnet processes tokenBase64-encoded Google Pay payment tokenNoNoRequiredHandled according to token content and configurationid=216, type=10
SDWO card data flowMerchant / processor extracts dataCard or tokenized card data + fund transfer dataRequiredDepends on scenarioNoOptional or required by configurationid=BRL, type=55
SDWO Authorization Token flowGetnet processes tokenBase64-encoded Google Pay payment token + fund transfer dataNoNoRequiredDepends on token content and configurationid=BRL, type=55, tag=GP
information icon
Note: PAN_ONLY and CRYPTOGRAM_3DS are Google Pay frontend authorization methods configured in allowedAuthMethods. The scenarios above describe how payment data is sent to Getnet in the server-side payment request.

Additional resources