Nesta referência, descrevemos as opções de objeto de resposta da API Google Pay para usar com seu site. Os objetos de resposta são aqueles retornados pelos métodos do cliente da API Google Pay.
IsReadyToPayResponse
Este objeto contém informações sobre a capacidade de um visitante do site de fornecer informações de pagamento ao site que as solicita.
| Propriedade | Tipo | Sempre existe | Descrição |
|---|---|---|---|
result |
boolean | Sim | O visitante atual pode fornecer informações de pagamento ao site que as solicita. A capacidade de pagamento de um visitante pode estar vinculada à capacidade do navegador da Web de exibir os componentes necessários para as formas de pagamento especificadas. Isso inclui o momento em que eles fazem login em uma Conta do Google e fornecem uma forma de pagamento. |
paymentMethodPresent |
boolean | Não |
Se o valor for Existe apenas quando Se |
Exemplo
O exemplo a seguir mostra quando o visitante atual pode fornecer informações de pagamento ao site que as solicita.
{ "result": true }
PaymentData
Esse é um objeto de resposta retornado pelo Google depois que um pagador aprova o pagamento.
PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.| 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
no
PaymentDataRequest.
Essa propriedade não terá efeito se outra solicitação tiver a propriedade definida como true. |
shippingAddress |
Address | Não | Endereço de entrega, se shippingAddressRequired estiver definido como true no
PaymentDataRequest. |
Exemplo
Neste exemplo de resposta para a API Google Pay versão 2.0, mostramos 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", "cardFundingSource": "CREDIT" }, "tokenizationData": { "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" } } }
IntermediatePaymentData
Esse objeto é retornado pela entrada onPaymentDataChanged() da API Google Pay quando
o endereço de entrega ou as opções de envio são alteradas na página de pagamento.
| Propriedade | Tipo | Necessidade | Descrição |
|---|---|---|---|
callbackTrigger |
String | Opcional | Descreve por que o callback dos dados de pagamento foi invocado.
|
offerData |
OfferData | Opcional | O código promocional fornecido pelo usuário. |
shippingAddress |
IntermediateAddress | Opcional | O endereço selecionado na página de pagamento. |
shippingOptionData |
SelectionOptionData | Opcional | A opção de envio selecionada na página de pagamento. |
Exemplo
Este exemplo mostra o payload intermediário retornado pela API Google Pay.
{ "callbackTrigger": "SHIPPING_ADDRESS", "offerData": { "redemptionCode": "exampleCode" }, "shippingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" }, "shippingOptionData": { "id": "shipping-001" } }
PaymentMethodData
Este objeto fornece dados para uma forma de pagamento selecionada.
| Propriedade | Tipo | Sempre existe | Descrição |
|---|---|---|---|
type |
string | Sim |
PaymentMethod
type selecionado na folha 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 |
objeto | Sim | O valor dessa propriedade depende da forma de pagamento type retornada.
Para CARD, consulte CardInfo.
|
tokenizationData |
PaymentMethodTokenizationData | Não | Dados de tokenização de pagamento da forma de pagamento selecionada. |
Exemplo
Nesta resposta de exemplo, mostramos como uma forma de pagamento CARD selecionada na página de finalização da compra do Google
Pay gera um token 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 para pagamentos selecionada. |
assuranceDetails |
AssuranceDetailsSpecifications (em inglês) | Sim | Esse objeto apresenta informações sobre a validação realizada nos dados de pagamento retornados se assuranceDetailsRequired estiver definido como true em
CardParameters.
|
cardNetwork |
string | Sim | A rede do cartão de pagamento do pagamento selecionado.
Os valores retornados correspondem ao formato de 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 na transação. Para exibir a descrição ao usuário, use a
propriedade |
billingAddress |
Address | Não | O endereço de faturamento associado à forma de pagamento fornecida, se
billingAddressRequired estiver definido como true em
CardParameters.
|
cardFundingSource |
string | Sim | Fonte de financiamento do cartão para a forma de pagamento selecionada.
|
Exemplo
Este exemplo mostra um cartão na rede Visa.
{ "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT", "assuranceDetails": { "cardHolderAuthenticated": false, "accountVerified": true } }
AssuranceDetailsSpecifications (em inglês)
Esse objeto apresenta informações sobre qual validação foi realizada nas credenciais de pagamento retornadas para que as verificações de risco de instrumento adequadas possam ser aplicadas.
| Nome | Tipo | Descrição |
|---|---|---|
accountVerified |
booleano | Se true, isso indica que a validação de posse de Cardholder foi
realizada na credencial de pagamento retornada. |
cardHolderAuthenticated |
booleano |
Se Se |
Você pode receber e processar o objeto de resposta mesmo que não use o campo
assuranceDetails. Para receber esse objeto, inclua
assuranceDetailsRequired: true nos
CardParameters do objeto de solicitação.
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.
Esse valor corresponde ao type definido em
PaymentMethodTokenizationSpecification.
|
token |
string | Não | O token gerado da forma de pagamento.
|
Exemplo
Este é um exemplo de uma resposta tokenizada preparada para o gateway example.
{ "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" }
PaymentAuthorizationResult
Este objeto apresenta informações sobre o resultado da autorização de pagamento.
| Propriedade | Tipo | Necessidade | Descrição |
|---|---|---|---|
transactionState |
String | Obrigatório | O estado da transação é resolvido por um dos seguintes resultados do comerciante:
|
error |
PaymentDataError | Opcional | O erro exibido ao usuário na página de pagamento quando for necessário repetir a transação. |
Exemplo
O exemplo a seguir mostra o retorno do resultado do pagamento após o processamento dele:
{ "transactionState": "ERROR", "error": { "reason": "PAYMENT_DATA_INVALID", "message": "Cannot pay with payment credentials", "intent": "PAYMENT_AUTHORIZATION" } }
PaymentDataError
| Propriedade | Tipo | Necessidade | Descrição |
|---|---|---|---|
reason |
String | Obrigatório | Lista de motivos de erro predefinidos:
|
message |
String | Obrigatório | Mensagem de erro para o usuário exibida em uma caixa de diálogo. |
intent |
String | Obrigatório | O intent do erro. Precisa ser aquela registrada em
|
Exemplo
Este exemplo mostra o intent do erro e a mensagem a ser renderizada na página de pagamento.
{ "error": { "reason": "SHIPPING_OPTION_INVALID", "message": "This shipping option is invalid for the given address", "intent": "SHIPPING_OPTION" } }
Address
Este objeto fornece informações sobre um endereço postal solicitado. Todas as propriedades são strings.
Os endereços podem ser retornados nos formatos MIN, FULL e FULL-ISO3166. As propriedades de cada formato podem ser vistas na tabela a seguir.
| Propriedade | Formato do endereço | Descrição |
|---|---|---|
name |
MIN, FULL, FULL-ISO3166 |
O nome completo do destinatário. |
postalCode |
MIN, FULL, FULL-ISO3166 |
O código postal ou CEP. |
countryCode |
MIN, FULL, FULL-ISO3166 |
Código do país de acordo com a norma ISO 3166-1 alfa-2. |
phoneNumber |
MIN, FULL, FULL-ISO3166 |
Um número de telefone, se phoneNumberRequired estiver definido como
true no
PaymentDataRequest.
|
address1 |
FULL, FULL-ISO3166 |
A primeira linha do endereço. |
address2 |
FULL, FULL-ISO3166 |
A segunda linha do endereço. |
address3 |
FULL, FULL-ISO3166 |
A terceira linha do endereço. |
locality |
FULL, FULL-ISO3166 |
Cidade, município, bairro ou subúrbio. |
administrativeArea |
FULL, FULL-ISO3166 |
Uma subdivisão de país, como um estado ou província. |
sortingCode |
FULL, FULL-ISO3166 |
O código de classificação. |
iso3166AdministrativeArea |
FULL-ISO3166 |
Código da área administrativa ISO 3166-2 correspondente a "administrativeArea". |
Exemplo
Este é um exemplo de endereço no formato FULL-ISO3166 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": "" "iso3166AdministrativeArea": "US-CA" }
IntermediateAddress
| Propriedade | Tipo | Necessidade | Descrição |
|---|---|---|---|
administrativeArea |
String | Obrigatório | Uma subdivisão de país, como um estado ou província. |
countryCode |
String | Obrigatório | Código do país de acordo com a norma ISO 3166-1 alfa-2. |
locality |
String | Obrigatório | Cidade, município, bairro ou subúrbio. |
postalCode |
String | Obrigatório | O código postal editado de acordo com o país. Para o Canadá e o Reino Unido, essa informação contém apenas os três primeiros caracteres. Para os Estados Unidos, ela contém os cinco primeiros dígitos. |
iso3166AdministrativeArea |
String | Opcional |
Código da área administrativa ISO 3166-2 correspondente a "administrativeArea". Presente somente se o formato do endereço de entrega for FULL-ISO3166.
|
Exemplo
Este exemplo mostra o endereço selecionado na página de pagamento.
{ "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" "iso3166AdministrativeArea": "US-NY" }
SelectionOptionData
| Propriedade | Tipo | Necessidade | Descrição |
|---|---|---|---|
id |
String | Obrigatório | Corresponde a SelectionOption.id |
Exemplo
Este exemplo mostra a opção de envio selecionada na página de pagamento.
{ "id": "shipping-001" }
OfferData
Esse objeto apresenta informações sobre um código de oferta inserido na página de pagamento.
| Propriedade | Tipo | Necessidade | Descrição |
|---|---|---|---|
redemptionCodes |
matriz | Sempre existe | O conjunto de códigos promocionais inseridos na página de pagamento. Inclui códigos que já foram aprovados. |
Exemplo
O exemplo a seguir mostra um objeto OfferData com uma matriz redemptionCodes.
"offerData": { "redemptionCodes": ["PROMOTIONALCODE"] }