Objetos de resposta

Esta referência descreve as opções do objeto de resposta da API Google Pay a usar com o seu Website. Os objetos de resposta são objetos devolvidos pelos métodos de cliente da API Google Pay.

IsReadyToPayResponse

Este objeto fornece informações sobre a capacidade de um visitante do Website fornecer informações de pagamento ao site que as solicita.

Propriedade Tipo Existe sempre Descrição
result booleano Sim O visitante atual consegue fornecer informações de pagamento ao site que as solicita. A capacidade de um visitante pagar pode estar associada à capacidade do respetivo navegador de Internet apresentar os componentes necessários para os métodos de pagamento especificados. Isto inclui quando iniciam sessão numa Conta Google e indicam um método de pagamento.
paymentMethodPresent booleano Não

Se true, o visitante tem um ou mais métodos de pagamento, conforme especificado na propriedade allowedPaymentMethods do IsReadyToPayRequest fornecido.

Existe apenas quando existingPaymentMethodRequired foi definido como true em IsReadyToPayRequest.

Se PaymentsClient for inicializado com uma propriedade environment de TEST, um método de pagamento é sempre considerado presente.

Exemplo

O exemplo seguinte mostra quando o visitante atual pode fornecer informações de pagamento ao site que as solicita.

{
  "result": true
}

PaymentData

Este é um objeto de resposta devolvido pela Google depois de um responsável pelo pagamento aprovar o pagamento.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Propriedade Tipo Existe sempre Descrição
apiVersion número Sim Versão principal da API. O valor na resposta corresponde ao valor fornecido em PaymentDataRequest.
apiVersionMinor número Sim Versão secundária da API. O valor na resposta corresponde ao valor fornecido em PaymentDataRequest.
paymentMethodData PaymentMethodData Sim Dados sobre o método de pagamento selecionado.
email de string Não Endereço de email, se emailRequired estiver definido como true no PaymentDataRequest. Se outro pedido tiver a propriedade definida como true, não tem efeito.
shippingAddress Morada Não Morada de envio, se shippingAddressRequired estiver definido como true no PaymentDataRequest.

Exemplo

Este exemplo de resposta para a versão 2.0 da API Google Pay mostra um CARDmétodo de pagamento selecionado na folha de pagamento do Google Pay. Foi gerado um token de método de pagamento para o gateway 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

Este objeto é devolvido pela entrada da API Google Pay quando o endereço de envio ou as opções de envio são alterados na folha de pagamento.onPaymentDataChanged()

Propriedade Tipo Necessidade Descrição
callbackTrigger String Opcional

Descreve o motivo pelo qual o callback de dados de pagamento foi invocado.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData Opcional O código promocional fornecido pelo utilizador.
shippingAddress IntermediateAddress Opcional A morada selecionada 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 intermédio devolvido 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 um método de pagamento selecionado.

Propriedade Tipo Existe sempre Descrição
type de string Sim PaymentMethod type selecionado na folha de pagamento do Google Pay.
description de string Sim

Mensagem visível para o utilizador que descreve o método de pagamento que financia esta transação.

info objeto Sim O valor desta propriedade depende do método de pagamento type devolvido. Para o CARD, consulte CardInfo.
tokenizationData PaymentMethodTokenizationData Não Dados de tokenização de pagamentos para o método de pagamento selecionado.

Exemplo

Esta resposta de exemplo mostra como um método de pagamento CARD selecionado na folha de pagamento do Google Pay gera um token de método de pagamento para a gateway example.

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

CardInfo

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

Propriedade Tipo Existe sempre Descrição
cardDetails de string Sim Os detalhes sobre o cartão. Este valor é normalmente os últimos quatro dígitos do número da conta de pagamento selecionada.
assuranceDetails AssuranceDetailsSpecifications Sim Este objeto fornece informações sobre a validação efetuada nos dados de pagamento devolvidos se assuranceDetailsRequired estiver definido como true no CardParameters.
cardNetwork de string Sim

A rede de cartões de pagamento do pagamento selecionado. Os valores devolvidos correspondem ao formato de allowedCardNetworks em CardParameters.

Este valor da rede de cartões não deve ser apresentado ao comprador. É usado quando são necessários os detalhes do cartão de um comprador. Por exemplo, se o apoio técnico precisar deste valor para identificar o cartão que um comprador usou para a respetiva transação. Para uma descrição visível para o utilizador, use, em alternativa, a propriedade description de PaymentMethodData.

billingAddress Morada Não A morada de faturação associada ao método de pagamento fornecido, se billingAddressRequired estiver definido como true em CardParameters.
cardFundingSource de string Sim

Fonte de financiamento do cartão para o método de pagamento selecionado.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Exemplo

Este exemplo mostra um cartão na rede Visa.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

Este objeto fornece informações sobre a validação que foi realizada nas credenciais de pagamento devolvidas para que possam ser aplicadas verificações de risco do instrumento adequadas.

Nome Tipo Descrição
accountVerified booleano Se true, indica que a validação de posse de Cardholder foi realizada na credencial de pagamento devolvida.
cardHolderAuthenticated booleano

Se true, indica que a identificação e as validações (ID&V) foram realizadas na credencial de pagamento devolvida.

Se false, pode efetuar a mesma autenticação baseada em riscos que faria para transações com cartão. Esta autenticação baseada em risco pode incluir, entre outros, o aumento da segurança com o protocolo 3D Secure, se aplicável.

Pode receber e processar o objeto de resposta mesmo que não use o campo assuranceDetails. Para receber este objeto, inclua assuranceDetailsRequired: true no objeto Request CardParameters.

PaymentMethodTokenizationData

Este objeto fornece dados de tokenização para o método de pagamento.

Propriedade Tipo Existe sempre Descrição
type de string Sim O tipo de tokenização a aplicar ao método de pagamento selecionado. Este valor corresponde ao type definido em PaymentMethodTokenizationSpecification.
token de string Não

O token do método de pagamento gerado.

Exemplo

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

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

PaymentAuthorizationResult

Este objeto fornece informações sobre o resultado da autorização de pagamento.

Propriedade Tipo Necessidade Descrição
transactionState String Obrigatória O estado da transação é resolvido por um dos seguintes resultados do comerciante:
  • SUCCESS
  • ERROR
error PaymentDataError Opcional O erro a ser renderizado na folha de pagamento para o utilizador quando for necessário tentar novamente o pagamento.

Exemplo

O exemplo seguinte mostra o resultado do pagamento devolvido após o processamento de um pagamento:

{
  "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ória

Lista de motivos de erro predefinidos:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message String Obrigatória Mensagem de erro ao utilizador apresentada numa caixa de diálogo.
intent String Obrigatória

A intenção do erro. Tem de ser um que tenha sido registado em PaymentDataRequest desde o início do fluxo.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Exemplo

Este exemplo mostra a intenção de erro e a mensagem a serem renderizadas na folha de pagamento.

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

Endereço

Este objeto fornece informações sobre uma morada pedida. Todas as propriedades são strings.

As moradas podem ser devolvidas nos formatos MIN, FULL e FULL-ISO3166. Pode ver as propriedades pertencentes a cada formato na tabela seguinte.

Propriedade Formato de endereço Descrição
name MIN, FULL, FULL-ISO3166 O nome completo do destinatário.
postalCode MIN, FULL, FULL-ISO3166 O código postal.
countryCode MIN, FULL, FULL-ISO3166 Código do país 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 da morada.
address2 FULL, FULL-ISO3166 A segunda linha da morada.
address3 FULL, FULL-ISO3166 A terceira linha da morada.
locality FULL, FULL-ISO3166 Cidade, vila, bairro ou subúrbio.
administrativeArea FULL, FULL-ISO3166 Uma subdivisão de um país, como um estado ou uma província.
sortingCode FULL, FULL-ISO3166 O código de ordenação.
iso3166AdministrativeArea FULL-ISO3166 Código da área administrativa ISO 3166-2 correspondente a administrativeArea.

Exemplo

Este é um exemplo de um endereço no formato FULL-ISO3166 nos Estados Unidos com várias linhas de dados de morada.

{
  "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ória Uma subdivisão de um país, como um estado ou uma província.
countryCode String Obrigatória Código do país ISO 3166-1 alfa-2.
locality String Obrigatória Cidade, vila, bairro ou subúrbio.
postalCode String Obrigatória O código postal ocultado com base no país. Para o Canadá e o Reino Unido, contém apenas os três primeiros carateres. Para os EUA, contém os primeiros cinco dígitos.
iso3166AdministrativeArea String Opcional Código da área administrativa ISO 3166-2 correspondente a administrativeArea. Só está presente se o formato da morada de envio for FULL-ISO3166.

Exemplo

Este exemplo mostra a morada selecionada na folha de pagamento.

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

Propriedade Tipo Necessidade Descrição
id String Obrigatória Corresponde a SelectionOption.id

Exemplo

Este exemplo mostra a opção de envio selecionada na folha de pagamento.

{
  "id": "shipping-001"
}

OfferData

Este objeto fornece informações sobre um código de oferta introduzido na página de pagamento.

Propriedade Tipo Necessidade Descrição
redemptionCodes matriz Existe sempre O conjunto de códigos promocionais introduzidos na folha de pagamento. Inclui códigos que já foram aprovados.

Exemplo

O exemplo seguinte mostra um objeto OfferData com uma matriz redemptionCodes.

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}