A documentação de com.google.android.gms.wallet contém a documentação completa da biblioteca em várias versões da API Google Pay. Veja abaixo 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 de 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 se um usuário pode
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 uma forma de pagamento salva ou puder
adicionar uma, IsReadyToPay vai retornar true. Para determinar se o usuário
já salvou uma forma de pagamento no Google Pay, defina
IsReadyToPayRequest.existingPaymentMethodRequired
como true.
loadPaymentData(PaymentDataRequest)
Apresentar uma página de pagamento do Google Pay que permite selecionar 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 de uma string formatada em JSON. Consulte a
referência do objeto PaymentDataRequest
para ver a estrutura esperada da string formatada em JSON fornecida.
PaymentData
Processar uma resposta formatada em JSON da API Google Pay para uso no seu app.
toJson()
Gera 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 de conveniência é usado para inicializar um botão de pagamento do Google Pay estilizado com a marca mais recente do Google Pay.
Argumentos
| Nome | Descrição |
|---|---|
buttonOptions |
Um objeto que configura o botão de pagamento do Google Pay. Consulte ButtonOptions para ver as 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 de conveniência define a visibilidade do botão de pagamento.
Argumentos
| Nome | Descrição |
|---|---|
View |
|
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 a ser chamado quando um evento de clique é enviado 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 de base abstrata que contém os gerenciadores de callback de dados de pagamento implementados pelo comerciante para oferecer suporte à determinação dinâmica de preços e autorização de pagamento.
onPaymentDataChanged(intermediatePaymentData, onCompleteListener)
Esse método processa mudanças nos dados de pagamento na página de pagamento, como endereço de entrega e opções de envio.
Argumentos
olá| Nome | Tipo | Descrição |
|---|---|---|
intermediatePaymentData |
IntermediatePaymentData |
Um objeto que contém o endereço e a opção de envio selecionados na
página de pagamento. Para mais detalhes,
consulte 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
instância PaymentDataRequestUpdate 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)
Esse 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 solicitados do comprador. Para mais detalhes,
consulte PaymentData. |
onCompleteListener |
OnCompleteListener<PaymentAuthorizationResult> |
Um listener para resolver com o resultado da autorização. Transmita uma
instância PaymentAuthorizationResult 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()
Mostra 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 ver a estrutura esperada da string formatada em JSON fornecida.
withUpdatedSavedState(Bundle)
Anexa um estado atualizado Bundle para persistir entre as 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 ver a estrutura esperada da string formatada em JSON fornecida.