Referência do cliente

A documentação do com.google.android.gms.wallet contém todos os documentos da biblioteca em várias versões da API Google Pay. Veja a seguir um resumo dos objetos e métodos mais aplicáveis à versão mais recente da API Google Pay: versão 2.0.

Carteira

Gere um PaymentsClient para um ambiente de teste ou produção.

Exemplo

mPaymentsClient = Wallet.getPaymentsClient(
  this,
  new Wallet.WalletOptions.Builder()
      .setEnvironment(WalletConstants.ENVIRONMENT_TEST)
      .build()
);

PaymentsClient

Um cliente para interagir com as APIs do Google Pay.

isReadyToPay(IsReadyToPayRequest)

Use o método isReadyToPay(IsReadyToPayRequest) para determinar a capacidade de um usuário de retornar uma forma de pagamento da API Google Pay.

Se o dispositivo for compatível com o Google Pay e o usuário já tiver salvo uma forma de pagamento ou puder adicionar uma, IsReadyToPay retornará true. Para determinar se o usuário já salvou uma forma de pagamento no Google Pay, defina IsReadyToPayRequest.existingPaymentMethodRequired como true.

loadPaymentData(PaymentDataRequest)

Apresente uma página de pagamento do Google Pay que permite a seleção de uma forma de pagamento e parâmetros configurados opcionalmente.

IsReadyToPayRequest

Crie um objeto Java IsReadyToPayRequest adequado para uso com PaymentsClient.isReadyToPay().

fromJson(java.lang.String)

Crie um objeto Java IsReadyToPayRequest de uma string formatada em JSON. Consulte a referência do objeto IsReadyToPayRequest para ver a estrutura esperada da string formatada em JSON fornecida.

PaymentDataRequest

Crie um objeto Java PaymentDataRequest adequado para uso com PaymentsClient.loadPaymentData.

fromJson(java.lang.String)

Crie um objeto Java PaymentDataRequest a partir de uma string formatada em JSON. Consulte a referência do objeto PaymentDataRequest para a estrutura esperada da string formatada em JSON fornecida.

PaymentData

Manipule uma resposta formatada em JSON da API Google Pay para uso no seu aplicativo.

toJson()

Saída de uma resposta da API Google Pay como uma string formatada em JSON. Consulte a referência do objeto PaymentData para mais informações sobre a estrutura do objeto JSON.

PayButton

public void initialize(ButtonOption buttonOptions)

O método prático é usado para inicializar um botão de pagamento do Google Pay com a marca mais recente do serviço.

Argumentos

Nome Descrição
buttonOptions Um objeto que configura o botão de pagamento do Google Pay. Consulte ButtonOptions para propriedades configuráveis.

Exemplo: inicializar o botão de pagamento com configurações personalizadas:

PayButton googlePayPaymentButton = layoutBinding.googlePayPaymentButton;
JSONArray paymentMethods = new JSONArray().put(getBaseCardPaymentMethod());
googlePayPaymentButton.initialize(
       ButtonOptions.newBuilder()
               .setButtonTheme(ButtonConstants.ButtonTheme.DARK)
               .setButtonType(ButtonConstants.ButtonType.BUY)
               .setCornerRadius(100)
               .setAllowedPaymentMethods(paymentMethods.toString())
               .build()
);

public void setVisibility(View view)

O método prático define a visibilidade do botão de pagamento.

Argumentos

Nome Descrição
View

View.VISIBLE define o botão de pagamento como visível (padrão).

View.GONE oculta o botão dos usuários.

Exemplo:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener(View.OnClickListener listener)

O método é chamado quando o usuário clica no botão de pagamento do Google Pay.

Argumentos

Nome Descrição
listener Um callback do listener de eventos para chamar quando um evento de clique for entregue ao botão de pagamento do Google Pay.

BasePaymentDataCallbacksService

Classe de serviço base que hospeda os callbacks de dados de pagamento iniciados pelo Google Play Services em um fluxo PaymentsClient.loadPaymentData(PaymentDataRequest).

Estenda esse serviço no aplicativo e declare-o no AndroidManifest.xml com a permissão com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE e um filtro de intent para com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS.

createPaymentDataCallbacks()

Retorna uma implementação de BasePaymentDataCallbacks para processar eventos de callback recebidos. Chamado uma vez por evento de callback.

BasePaymentDataCallbacks

Classe base abstrata que contém os processadores de callback de dados de pagamento implementados pelo comerciante para oferecer suporte a atualizações dinâmicas de preços e autorização de pagamento.

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

Este método lida com alterações dos dados de pagamento na página de pagamento, como endereço de entrega e opções de envio.

Argumentos

Nome Tipo Descrição
intermediatePaymentData IntermediatePaymentData Um objeto que contém o endereço selecionado e a opção de envio em the payment sheet. Para mais detalhes, veja IntermediatePaymentData.
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> Um listener para resolver com as informações de transação atualizadas, opções de envio e erros de dados de pagamento. Transmita uma PaymentDataRequestUpdate instância para complete().

Exemplo

override fun onPaymentDataChanged(
    intermediatePaymentData: IntermediatePaymentData,
    onCompleteListener: OnCompleteListener<PaymentDataRequestUpdate>
) {
    val paymentDataRequestUpdateJson = handlePaymentDataChanged(intermediatePaymentData.toJson())
    val update = PaymentDataRequestUpdate.fromJson(paymentDataRequestUpdateJson.toString())
    onCompleteListener.complete(update)
}

onPaymentAuthorized(paymentData, onCompleteListener)

Este método é chamado quando um pagamento é autorizado na página de pagamento.

Argumentos

Nome Tipo Descrição
paymentData PaymentData Um objeto que contém os dados do comprador solicitado. Para mais detalhes, consulte PaymentData.
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> Um listener para resolver com o resultado da autorização. Transmita uma PaymentAuthorizationResult instância para complete().

Exemplo

override fun onPaymentAuthorized(
    paymentData: PaymentData,
    onCompleteListener: OnCompleteListener<PaymentAuthorizationResult>
) {
    val paymentAuthorizationResultJson = handlePaymentAuthorized(paymentData.toJson())
    val result = PaymentAuthorizationResult.fromJson(paymentAuthorizationResultJson.toString())
    onCompleteListener.complete(result)
}

IntermediatePaymentData

Processar dados de callback intermediários transmitidos para BasePaymentDataCallbacks.onPaymentDataChanged.

toJson()

Gera os dados da solicitação de callback como uma string formatada em JSON. Consulte a referência do objeto IntermediatePaymentData para mais informações sobre a estrutura do objeto JSON.

getLastSavedState()

Retorna o Bundle que contém o estado salvo durante a iteração de callback anterior.

PaymentDataRequestUpdate

Crie um objeto Java PaymentDataRequestUpdate para retornar em BasePaymentDataCallbacks.onPaymentDataChanged.

fromJson(java.lang.String)

Crie um objeto Java PaymentDataRequestUpdate de uma string formatada em JSON. Consulte a referência do objeto PaymentDataRequestUpdate para a estrutura esperada da string formatada em JSON fornecida.

withUpdatedSavedState(Bundle)

Anexa um estado Bundle atualizado para persistir entre invocações de callback.

PaymentAuthorizationResult

Crie um objeto Java PaymentAuthorizationResult para retornar em BasePaymentDataCallbacks.onPaymentAuthorized.

fromJson(java.lang.String)

Crie um objeto Java PaymentAuthorizationResult de uma string formatada em JSON. Consulte a referência do objeto de resposta PaymentAuthorizationResult para a estrutura esperada da string formatada em JSON fornecida.