Referência de objeto JSON

Esta referência descreve as opções de objeto da API Google Pay para usar com seu site. Há dois tipos de objetos abordados nesta referência:

Objetos de solicitação

IsReadyToPayRequest

Este objeto especifica quais são as formas de pagamento aceitas.

Propriedade Tipo Necessidade Descrição
apiVersion number Obrigatório Versão principal da API. O valor é 2 para esta especificação.
apiVersionMinor number Obrigatório Versão secundária da API. O valor é 0 para esta especificação.
allowedPaymentMethods PaymentMethod[] Obrigatório

Especifica a compatibilidade com uma ou mais formas de pagamento aceitas pela API Google Pay.

Uma tokenizationSpecification não é necessária para determinar a disponibilidade de pagamento do usuário. Forneça todas as propriedades parameters necessárias para cada PaymentMethod compatível.

existingPaymentMethodRequired boolean Opcional

Se configurado como true, o método de classe isReadyToPay() retornará true se o usuário atual estiver pronto para fazer o pagamento com uma ou mais das formas de pagamento especificadas em allowedPaymentMethods.

Exemplo

Este exemplo mostra como aceitar cartões de pagamento e tokens de dispositivos Android de todas as redes de cartões aceitas.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      }
    }
  ]
}

PaymentDataRequest

Use este objeto para configurar a compatibilidade do seu site com a API Google Pay.

Propriedade Tipo Necessidade Descrição
apiVersion number Obrigatório Versão principal da API. O valor é 2 para esta especificação.
apiVersionMinor number Obrigatório Versão secundária da API. O valor é 0 para esta especificação.
merchantInfo MerchantInfo Obrigatório Informações sobre o comerciante que solicita os dados de pagamento.
allowedPaymentMethods PaymentMethod[] Obrigatório Especifica a compatibilidade com uma ou mais formas de pagamento aceitas pela API Google Pay.
transactionInfo TransactionInfo Obrigatório Detalhes sobre a autorização da transação, dependendo de o usuário concordar ou não com ela. Inclui o preço total e o status do preço.
emailRequired boolean Opcional Defina como true para solicitar um endereço de e-mail.
shippingAddressRequired boolean Opcional Defina como true para solicitar um endereço de entrega completo.
shippingAddressParameters ShippingAddressParameters Opcional Se shippingAddressParameters for definido como true, especifique as restrições de endereço de entrega.

Exemplo

O exemplo a seguir mostra como aceitar cartões de pagamento e tokens de dispositivos Android de todas as redes de cartões aceitas. Os cartões de pagamento são tokenizados para um gateway de exemplo. A solicitação é de uma forma de pagamento para cobrar um valor final de US$ 12,34.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "merchantInfo": {
    "merchantName": "Example Merchant"
  },
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      },
      "tokenizationSpecification": {
        "type": "PAYMENT_GATEWAY",
        "parameters": {
          "gateway": "example",
          "gatewayMerchantId": "exampleGatewayMerchantId"
        }
      }
    }
  ],
  "transactionInfo": {
    "totalPriceStatus": "FINAL",
    "totalPrice": "12.34",
    "currencyCode": "USD"
  }
}

MerchantInfo

Este objeto apresenta informações sobre o comerciante que solicita dados de pagamento.

Propriedade Tipo Necessidade Descrição
merchantId string Obrigatório Um identificador do comerciante do Google emitido depois que seu site é aprovado pelo Google. Obrigatório quando o PaymentsClient é inicializado com uma propriedade environment de PRODUCTION. Consulte a Lista de verificação de integração para mais informações sobre o processo de aprovação e sobre como receber um identificador de comerciante do Google.
merchantName string Opcional Nome do comerciante codificado como UTF-8. O nome do comerciante é processado na página de pagamento. No ambiente TEST, ou se um comerciante não for reconhecido, a mensagem "Comerciante não verificado do Google Pay" aparecerá na página de pagamento.
merchantOrigin string Opcional

O domínio totalmente qualificado do provedor que faz uma solicitação em nome do comerciante. Obrigatório quando um site exibe um botão de pagamento do Google Pay e solicita informações de pagamento em nome de outro site, normalmente por meio de uma Integração de finalização de compra hospedada.

Exemplos

O exemplo a seguir mostra um objeto merchantInfo com merchantName e merchantId.

merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "01234567890123456789"
}

PaymentMethod

Este objeto especifica uma ou mais formas de pagamento aceitas pela API Google Pay e por seu aplicativo.

Propriedade Tipo Necessidade Descrição
type string Obrigatório

Um identificador curto para a forma de pagamento compatível. No momento, apenas CARD e PAYPAL são entradas aceitas.

parameters object Obrigatório Parâmetros necessários para configurar o tipo de forma de pagamento fornecida. Consulte CardParameters para mais informações sobre valores esperados para a forma de pagamento CARD. Consulte PAYPALParameters para mais informações sobre os valores esperados para a forma de pagamento PAYPAL.
tokenizationSpecification PaymentMethodTokenizationSpecification Opcional

Configure uma conta ou um provedor de descriptografia para receber informações de pagamento.

Esta propriedade é obrigatória para a forma de pagamento CARD.

Esta propriedade não terá efeito se for incluída como parte de uma IsReadyToPayRequest.

CARD

O exemplo a seguir mostra como aceitar cartões de pagamento e tokens de dispositivos Android de todas as redes de cartões aceitas. Ele mostra a tokenização por meio de um gateway de exemplo.

{
  "type": "CARD",
  "parameters": {
    "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
    "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
  },
  "tokenizationSpecification": {
    "type": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "example",
      "gatewayMerchantId": "exampleGatewayMerchantId"
    }
  }
}
PAYPAL

No exemplo a seguir, mostramos como aceitar a forma de pagamento PAYPAL.

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}

TokenizationSpecification

Este objeto permite que você configure uma conta para receber informações de pagamento sujeitas a cobrança.

Propriedade Tipo Necessidade Descrição
type string Obrigatório

É aceito um tipo de tokenização de forma de pagamento para o PaymentMethod fornecido. Para a forma de pagamento CARD, use PAYMENT_GATEWAY ou DIRECT . Para PAYPAL PaymentMethod, use DIRECT sem parâmetro.

parameters object Obrigatório Parâmetros específicos para o tipo de tokenização da forma de pagamento selecionada.

Gateway

Defina type como PAYMENT_GATEWAY para recuperar as informações do cliente e de pagamento de um gateway de pagamento aceito pela API Google Pay. Defina as propriedades parameters conforme descrito por seu gateway. As propriedades típicas incluem o identificador do gateway emitido pelo Google e o código da conta do gateway fornecido por seu gateway.

// [START EXAMPLE]
Example
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "example",
    "gatewayMerchantId": "exampleGatewayMerchantId"
  }
}
// [END EXAMPLE] // [START ACI]
ACI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "aciworldwide",
    "gatewayMerchantId": "YOUR_ENTITY_ID"
  }
}
// [END ACI] // [START ADYEN]
Adyen
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "adyen",
    "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"
  }
}
// [END ADYEN] // [START ALFA-BANK]
Alfa-Bank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "alfabank",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END ALFA-BANK] // [START BLUE_MEDIA]
Blue Media
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluemedia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BLUE_MEDIA] // [START BLUESNAP]
BlueSnap
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluesnap",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BLUESNAP] // [START BRAINTREE]
Braintree
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "braintree",
    "braintree:apiVersion": "v1",
    "braintree:sdkVersion": braintree.client.VERSION,
    "braintree:merchantId": "YOUR_BRAINTREE_MERCHANT_ID",
    "braintree:clientKey": "YOUR_BRAINTREE_TOKENIZATION_KEY"
  }
}
// [END BRAINTREE] // [START BRASPAG]
Braspag
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cielo",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BRASPAG] // [START CARDCONNECT]
CardConnect
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cardconnect",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END CARDCONNECT] // [START CHASE_PAYMENTECH]
Chase Paymentech
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "chase",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ACCOUNT_NUMBER"
  }
}
// [END CHASE_PAYMENTECH] // [START CHECKOUT]
Checkout.com
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "checkoutltd",
    "gatewayMerchantId": "YOUR_PUBLIC_KEY"
  }
}
// [END CHECKOUT] // [START CLOUDPAYMENTS]
CloudPayments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cloudpayments",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END CLOUDPAYMENTS] // [START CYBERSOURCE]
CyberSource
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cybersource",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END CYBERSOURCE] // [START DATATRANS]
Datatrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "datatrans",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END DATATRANS] // [START EBANX]
EBANX
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "ebanx",
    "gatewayMerchantId": "YOUR_PUBLIC_INTEGRATION_KEY"
  }
}
// [END EBANX] // [START FIRST_DATA]
First Data
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "firstdata",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END FIRST_DATA] // [START GLOBAL_PAYMENTS]
Global Payments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "globalpayments",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END GLOBAL_PAYMENTS] // [START GOPAY]
GoPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gopay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END GOPAY] // [START GMO_PAYMENT_GATEWAY]
GMO Payment Gateway
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gmopg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END GMO_PAYMENT_GATEWAY] // [START HITRUST]
HiTrust
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "hitrustpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END HITRUST] // [START IMSOLUTIONS]
IMSolutions
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "imsolutions",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END IMSOLUTIONS] // [START IQMETRIX]
iQmetrix
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "iqmetrixpaymentservicesgateway",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END IQMETRIX] // [START LYRA]
Lyra
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "lyra",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END LYRA] // [START MPGS]
MPGS
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mpgs",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MPGS] // [START MONEY_MAIL_RU]
Money.Mail.Ru
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "moneymailru",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MONEY_MAIL_RU] // [START MUNDIPAGG]
Mundipagg
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mundipagg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MUNDIPAGG] // [START NEWEBPAY]
Newebpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "newebpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NEWEBPAY] // [START NEXI]
Nexi
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "nexi",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NEXI] // [START NMI]
NMI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "creditcall",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NMI] // [START PAYSAFE]
Paysafe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "paysafe",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYSAFE] // [START PAYTURE]
Payture
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payture",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYTURE] // [START PAYU]
PayU
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payu",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYU] // [START PRZELEWY24]
Przelewy24
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "przelewy24",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END PRZELEWY24] // [START RBKMONEY]
RBKmoney
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "rbkmoney",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END RBKMONEY] // [START REDSYS]
Redsys
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "redsys",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END REDSYS] // [START SBERBANK]
Sberbank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sberbank",
    "gatewayMerchantId": "YOUR_ORGANIZATION_NAME"
  }
}
// [END SBERBANK] // [START SOFTBANK_PAYMENT_SERVICE]
Softbank Payment Service
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sbps",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SOFTBANK_PAYMENT_SERVICE] // [START SONY_PAYMENT_SERVICES]
Sony Payment Services
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sonypaymentservices",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SONY_PAYMENT_SERVICES] // [START SQUARE]
Square
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "square",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SQUARE] // [START STRIPE]
Stripe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "stripe",
    "stripe:version": "2018-10-31",
    "stripe:publishableKey": "YOUR_PUBLIC_STRIPE_KEY"
  }
}
// [END STRIPE] // [START TAPPAY]
TapPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tappay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END TAPPAY] // [START TINKOFF]
Tinkoff
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tinkoff",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END TINKOFF] // [START UNITELLER]
Uniteller
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "uniteller",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END UNITELLER] // [START VANTIV]
Vantiv
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "vantiv",
    "vantiv:merchantPayPageId": "YOUR_PAY_PAGE_ID",
    "vantiv:merchantOrderId": "YOUR_ORDER_ID",
    "vantiv:merchantTransactionId": "YOUR_TRANSACTION_ID",
    "vantiv:merchantReportGroup": "*web"
  }
}
// [END VANTIV] // [START VERITRANS]
Veritrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "veritrans",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END VERITRANS] // [START VINDICIA]
Vindicia
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "vindicia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END VINDICIA] // [START WORLDPAY]
Worldpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "worldpay",
    "gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"
  }
}
// [END WORLDPAY] // [START YANDEX]
Yandex
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "yandexcheckout",
    "gatewayMerchantId": "YOUR_SHOP_ID"
  }
}
// [END YANDEX]

Direct

Defina type como DIRECT para descriptografar uma resposta diretamente nos servidores. Esta configuração tem requisitos adicionais de segurança de dados do Google e complexidade adicional de conformidade com o PCI DSS.

Propriedade Tipo Necessidade Descrição
protocolVersion string Obrigatório A versão do protocolo de criptografia/assinatura esperada na resposta. Atualmente, ECv2 é compatível. Consulte Criptografia de dados de pagamento para mais informações sobre os protocolos de criptografia e assinatura disponíveis.
publicKey string Obrigatório Chave pública de curva elíptica codificada em Base64. Consulte a seção de formato de chave pública de criptografia em nossa documentação de criptografia do comerciante para mais informações.
Exemplo

No exemplo a seguir, o valor de publicKey é abreviado para melhorar a legibilidade.

"tokenizationSpecification": {
  "type": "DIRECT",
  "parameters": {
    "protocolVersion": "ECv2",
    "publicKey": "BOdoXP1aiNp.....kh3JUhiSZKHYF2Y="
  }
}

CardParameters

Este objeto permite definir os tipos de cartões de pagamento aceitos. O Google filtra os cartões de pagamento disponíveis do pagador de acordo com as opções configuradas.

Propriedade Tipo Necessidade Descrição
allowedAuthMethods string[] Obrigatório

Campos aceitos para autenticar uma transação de cartão.

  • PAN_ONLY: este método de autenticação está associado a cartões de pagamento armazenados em arquivo com a Conta do Google do usuário. Os dados de pagamento retornados incluem o Número da conta pessoal (PAN, na sigla em inglês) com o mês e o ano de vencimento.
  • CRYPTOGRAM_3DS: este método de autenticação está associado a cartões armazenados como tokens de dispositivos Android. Os dados de pagamento retornados incluem um criptograma 3-D Secure (3DS) gerado no dispositivo.
allowedCardNetworks string Obrigatório

Uma ou mais redes de cartões aceitas por você e pela API Google Pay.

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA
allowPrepaidCards boolean Opcional Defina como false se você não aceitar cartões pré-pagos. Padrão: a classe de cartão pré-pago é compatível com as redes de cartões especificadas.
billingAddressRequired boolean Opcional Defina como true se você precisar de um endereço de faturamento. Um endereço de faturamento só deve ser solicitado se for necessário para processar a transação. Solicitações de dados a mais podem aumentar o atrito no processo de finalização da compra e gerar uma taxa de conversão mais baixa.
billingAddressParameters BillingAddressParameters Opcional Os campos esperados retornados se billingAddressRequired estiver definido como true.

Exemplo para CARD

A seguir, apresentamos um exemplo de como aceitar todas as redes de cartões e métodos de autenticação de cartão disponíveis:

{
  "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
  "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
}

BillingAddressParameters

Este objeto permite definir campos extras a serem retornados para um endereço de faturamento solicitado.

Propriedade Tipo Necessidade Descrição
format string Opcional

Formato do endereço de faturamento necessário para concluir a transação.

  • MIN: nome, código do país e código postal (padrão).
  • FULL: nome, endereço, localização, região, código do país e código postal.
phoneNumberRequired boolean Opcional Defina como true se for necessário um número de telefone para processar a transação.

Exemplo

A seguir, apresentamos um exemplo de solicitação de uma versão mínima do endereço de faturamento, que é o valor padrão atual da propriedade.

{
  "format": "MIN"
}

ShippingAddressParameters

Este objeto é usado para definir restrições de envio.

Propriedade Tipo Necessidade Descrição
allowedCountryCodes string[] Opcional Valores de código do país ISO 3166-1 alpha-2 dos países para os quais a entrega é permitida. Se este objeto não for especificado, todos os países do endereço de entrega serão permitidos.
phoneNumberRequired boolean Opcional Defina como true se um número de telefone for necessário para o endereço de entrega fornecido.

Exemplo

O exemplo a seguir é uma solicitação de um endereço de entrega nos Estados Unidos.

{
  "allowedCountryCodes": ["US"]
}

TransactionInfo

Este objeto descreve uma transação que determina a capacidade de pagamento do pagador. Ele é usado para apresentar uma caixa de diálogo de autorização de pagamento.

Propriedade Tipo Necessidade Descrição
currencyCode string Obrigatório Código ISO 4217 alfabético para moedas.
totalPriceStatus string Obrigatório

O status do preço total usado:

  • NOT_CURRENTLY_KNOWN: usado para uma verificação de capacidade.
  • ESTIMATED: o preço total pode ser ajustado de acordo com os detalhes da resposta, como o tributo sobre vendas coletado com base em um endereço de faturamento.
  • FINAL: o preço total não será alterado em relação ao valor apresentado ao comprador.
totalPrice string Opcional

Valor monetário total da transação com uma precisão decimal opcional de duas casas decimais. Esse campo é obrigatório, a menos que totalPriceStatus esteja definido como NOT_CURRENTLY_KNOWN.

O formato da string precisa seguir o formato regex: ^[0-9]+(\.[0-9][0-9])?$

displayItems DisplayItem[] Opcional Todas as cobranças disponíveis para a solicitação de pagamento atual. Isso só será preenchido na página de pagamento se você usar autorizar pagamentos ou atualizações dinâmicas de preços.
totalPriceLabel string Opcional Rótulo personalizado para o preço total nos itens em exibição.
checkoutOption string Opcional

Afeta o texto do botão de envio exibido na página de pagamento do Google Pay.

  • DEFAULT: o texto padrão se aplica ao totalPriceStatus (padrão) fornecido.
  • COMPLETE_IMMEDIATE_PURCHASE: a forma de pagamento selecionada será cobrada imediatamente após o pagador confirmar as seleções. Esta opção só está disponível quando totalPriceStatus está definido como FINAL.

Exemplo

A seguir, apresentamos um exemplo de um preço final em dólares americanos.

{
  displayItems: [
    {
      label: "Subtotal",
      type: "SUBTOTAL",
      price: "11.00",
    },
    {
      label: "Tax",
      type: "TAX",
      price: "1.00",
    }
  ],
    currencyCode: "USD",
    totalPriceStatus: "FINAL",
    totalPrice: "12.00",
    totalPriceLabel: "Total",
    checkoutOption: "DEFAULT",
    newShippingOptions: {
 	    defaultSelectedOptionId: "shipping-001",
      shippingOptions: [
        {
          "id": "shipping-001",
          "label": "Free: Standard shipping",
          "description": "Free Shipping delivered in 5 business days."
        }
      ]
    },
    error: {
   	  reason: "SHIPPING_ADDRESS_UNSERVICEABLE",
      message: "Cannot ship to the selected address",
      intent: "SHIPPING_ADDRESS"
    }
}

PayPalParameters

Este objeto permite definir os parâmetros do PayPal.

Propriedade Tipo Necessidade Descrição
purchase_context PurchaseContext Obrigatório Usar informações sobre o pedido para a descrição.

Exemplo para o PayPal

A seguir, apresentamos um exemplo de como aceitar forma de pagamento PayPal:

{
  "purchase_context": {
    "purchase_units": [
      {
        "payee": {
          "merchant_id": "PAYPAL_ACCOUNT_ID"
        }
      }
    ]
  }
}

PurchaseContext

Este objeto fornece informações sobre o pedido.

Propriedade Tipo Necessidade Descrição
purchase_units PurchaseUnit[] Obrigatório Descreve o contrato entre o cliente e o comerciante.

PurchaseUnit

Este objeto descreve um contrato entre o cliente do PayPal e o comerciante do PayPal. Consulte a unidade de compra na documentação da API PayPal Order para mais informações (links em inglês).

Propriedade Tipo Necessidade Descrição
payee Payee Obrigatório O recebimento de fundos para essa transação.

Beneficiário

Este objeto apresentar informações sobre o comerciante que recebe os fundos. Consulte o beneficiário na documentação de referência da API de pedidos do PayPal (em inglês) para mais detalhes.

Consulte Parâmetros opcionais (em inglês) para ver outros parâmetros compatíveis.

Exemplo para o PayPal

A seguir, apresentamos um exemplo de como aceitar a forma de pagamento PayPal.

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}

Objetos de resposta

Objetos de resposta são objetos retornados pelos métodos do cliente da API Google Pay.

PaymentData

Este é um objeto de resposta retornado pelo Google depois que um pagador aprova o pagamento.

Propriedade Tipo Sempre existe Descrição
apiVersion number Sim Versão principal da API. O valor na resposta corresponde ao valor fornecido em PaymentDataRequest.
apiVersionMinor number Sim Versão secundária da API. O valor na resposta corresponde ao valor fornecido em PaymentDataRequest.
paymentMethodData PaymentMethodData Sim Dados da forma de pagamento selecionada.
email string Não Endereço de e-mail, se emailRequired estiver definido como true em PaymentDataRequest. Se outra solicitação tiver a propriedade definida como true, não haverá efeito.
shippingAddress Address Não Endereço de entrega, se shippingAddressRequired estiver definido como true em PaymentDataRequest.

Exemplo

Este exemplo de resposta para a API Google Pay versão 2.0 mostra uma forma de pagamento CARD selecionada na página de pagamento do Google Pay. Um token de forma de pagamento foi gerado para o gateway de example.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

PaymentMethodData

Este objeto fornece dados para uma forma de pagamento selecionada.

Propriedade Tipo Sempre existe Descrição
type string Sim PaymentMethod type selecionado na página de pagamento do Google Pay.
description string Sim

Mensagem direcionada ao usuário para descrever a forma de pagamento que financia essa transação.

info object Sim O valor dessa propriedade depende do type da forma de pagamento retornada. Para CARD, consulte CardInfo.
tokenizationData PaymentMethodTokenizationData Sim Dados de tokenização de pagamento da forma de pagamento selecionada.

Exemplo

Esta resposta de exemplo mostra como uma forma de pagamento CARD selecionada na página de pagamento do Google Pay gera um token de forma de pagamento para o gateway example.

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

Este objeto apresenta informações sobre o cartão de pagamento selecionado.

Propriedade Tipo Sempre existe Descrição
cardDetails string Sim Os detalhes sobre o cartão. Normalmente, esse valor corresponde aos últimos quatro dígitos do número da conta de pagamento selecionada.
cardNetwork string Sim

A rede do cartão relacionada ao pagamento selecionado. Os valores retornados correspondem ao formato de allowedCardNetworks em CardParameters.

Este valor da rede do cartão não deve ser exibido para o comprador. Ele é usado quando são necessários os dados do cartão de um comprador. Por exemplo, se o suporte ao cliente precisar desse valor para identificar o cartão usado pelo comprador para a transação. Para uma descrição visível pelo usuário, use a propriedade description de PaymentMethodData.

billingAddress Address Não O endereço de faturamento associado à forma de pagamento fornecida, se billingAddressRequired estiver definido como true em CardParameters.

Exemplo

Este exemplo mostra um cartão na rede Visa.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234"
}

PaymentMethodTokenizationData

Este objeto fornece dados de tokenização para a forma de pagamento.

Propriedade Tipo Sempre existe Descrição
type string Sim O tipo de tokenização a ser aplicado à forma de pagamento selecionada. Este valor corresponde ao type definido em PaymentMethodTokenizationSpecification.
token string Não

O token gerado da forma de pagamento.

Exemplo

Este é um exemplo de resposta tokenizada preparada para o gateway example.

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

Address

Este objeto fornece informações sobre um endereço postal solicitado. Todas as propriedades são strings.

Um formato de endereço MIN pode ser retornado se billingAddressFormat estiver definido como MIN. Um endereço de entrega é retornado no formato de endereço FULL. Todas as propriedades em uma resposta formatada como MIN existem em uma resposta formatada como FULL.

Propriedade Formato do endereço Descrição
name MIN O nome completo do destinatário.
postalCode MIN O código postal ou CEP.
countryCode MIN Código do país de acordo com a norma ISO 3166-1 alfa-2.
phoneNumber MIN Um número de telefone, se phoneNumberRequired estiver definido como true no PaymentDataRequest.
address1 FULL A primeira linha do endereço.
address2 FULL A segunda linha do endereço.
address3 FULL A terceira linha do endereço.
locality FULL Cidade, município, bairro ou subúrbio
administrativeArea FULL Uma subdivisão de país, como um estado ou província.
sortingCode FULL O código de classificação.

Exemplo

Este é um exemplo de endereço nos Estados Unidos com várias linhas de dados.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
}