Riferimento cliente

La documentazione di com.google.android.gms.wallet documentation contiene la documentazione completa della libreria per più versioni dell'API Google Pay. Di seguito è riportato un riepilogo degli oggetti e dei metodi più applicabili alla versione più recente dell'API Google Pay: versione 2.0

Wallet

Genera un PaymentsClient per un ambiente di test o di produzione.

Esempio

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

PaymentsClient

Un client per interagire con le API Google Pay.

isReadyToPay(IsReadyToPayRequest)

Utilizza il metodo isReadyToPay(IsReadyToPayRequest) per determinare la capacità di un utente di restituire un modulo di pagamento dall'API Google Pay.

Se il dispositivo supporta Google Pay e l'utente ha già salvato un metodo di pagamento o può aggiungerne uno, IsReadyToPay restituisce true. Per determinare se l'utente ha già salvato un metodo di pagamento in Google Pay, imposta IsReadyToPayRequest.existingPaymentMethodRequired su true.

loadPaymentData(PaymentDataRequest)

Presenta un foglio di pagamento di Google Pay che consente la selezione di un metodo di pagamento e, facoltativamente, di parametri configurati.

IsReadyToPayRequest

Crea un oggetto Java IsReadyToPayRequest adatto all'uso con PaymentsClient.isReadyToPay().

fromJson(java.lang.String)

Crea un oggetto Java IsReadyToPayRequest da una stringa in formato JSON. Per la struttura prevista della stringa in formato JSON fornita, consulta il riferimento all'oggetto IsReadyToPayRequest.

PaymentDataRequest

Crea un oggetto Java PaymentDataRequest adatto all'uso con PaymentsClient.loadPaymentData.

fromJson(java.lang.String)

Crea un oggetto Java PaymentDataRequest da una stringa in formato JSON. Per la struttura prevista della stringa in formato JSON fornita, consulta il riferimento all'oggetto PaymentDataRequest.

PaymentData

Gestisci una risposta in formato JSON dell'API Google Pay da utilizzare nella tua app.

toJson()

Genera una risposta dell'API Google Pay come stringa in formato JSON. Per ulteriori informazioni sulla struttura dell'oggetto JSON, consulta il riferimento all'oggetto PaymentData.

PayButton

public void initialize(ButtonOption buttonOptions)

Il metodo di convenienza viene utilizzato per inizializzare un pulsante di pagamento di Google Pay con lo stile del brand Google Pay più recente.

Argomenti

Nome Descrizione
buttonOptions Un oggetto che configura il pulsante di pagamento di Google Pay. Per le proprietà configurabili, consulta ButtonOptions.

Esempio: inizializzare il pulsante di pagamento con configurazioni personalizzate:

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)

Il metodo di convenienza imposta la visibilità del pulsante di pagamento.

Argomenti

Nome Descrizione
View

View.VISIBLE imposta il pulsante di pagamento su visibile (impostazione predefinita).

View.GONE nasconde il pulsante agli utenti.

Esempio:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener(View.OnClickListener listener)

Il metodo viene chiamato quando l'utente fa clic sul pulsante di pagamento di Google Pay.

Argomenti

Nome Descrizione
listener Un callback del listener di eventi da chiamare quando viene inviato un evento di clic al pulsante di pagamento di Google Pay.

BasePaymentDataCallbacksService

Classe di servizio di base che ospita i callback dei dati di pagamento avviati da Google Play Services all'interno di un PaymentsClient.loadPaymentData(PaymentDataRequest) flusso.

Estendi questo servizio nella tua applicazione e dichiaralo in AndroidManifest.xml con l'autorizzazione com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE e un filtro per intent per com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS.

createPaymentDataCallbacks()

Restituisce un'implementazione di BasePaymentDataCallbacks per gestire gli eventi di callback in entrata. Viene chiamato una volta per evento di callback.

BasePaymentDataCallbacks

Classe base astratta contenente i gestori di callback dei dati di pagamento implementati dal commerciante per supportare gli aggiornamenti dinamici dei prezzi e l'autorizzazione dei pagamenti.

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

Questo metodo gestisce le modifiche dei dati di pagamento nel foglio di pagamento, ad esempio l'indirizzo di spedizione e opzioni di spedizione.

Argomenti

Nome Tipo Descrizione
intermediatePaymentData IntermediatePaymentData Un oggetto che contiene l'indirizzo e l'opzione di spedizione selezionati nel foglio di pagamento. Per i dettagli, vedi IntermediatePaymentData.
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> Un listener da risolvere con le informazioni aggiornate sulla transazione, le opzioni di spedizione e gli errori dei dati di pagamento. Passa un'istanza PaymentDataRequestUpdate a complete().

Esempio

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)

Questo metodo viene chiamato quando un pagamento viene autorizzato nel foglio di pagamento.

Argomenti

Nome Tipo Descrizione
paymentData PaymentData Un oggetto che contiene i dati dell'acquirente richiesti. Per i dettagli, consulta PaymentData.
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> Un listener da risolvere con il risultato dell'autorizzazione. Passa un'istanza PaymentAuthorizationResult a complete().

Esempio

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

IntermediatePaymentData

Gestisci i dati di callback intermedi passati a BasePaymentDataCallbacks.onPaymentDataChanged.

toJson()

Genera i dati della richiesta di callback come stringa in formato JSON. Per ulteriori informazioni sulla struttura dell'oggetto JSON, consulta il riferimento all'oggetto IntermediatePaymentData.

getLastSavedState()

Restituisce il Bundle contenente lo stato salvato durante l'iterazione di callback precedente.

PaymentDataRequestUpdate

Crea un oggetto Java PaymentDataRequestUpdate da restituire in BasePaymentDataCallbacks.onPaymentDataChanged.

fromJson(java.lang.String)

Crea un oggetto Java PaymentDataRequestUpdate da una stringa in formato JSON. Per la struttura prevista della stringa in formato JSON fornita, consulta il riferimento all'oggetto PaymentDataRequestUpdate.

withUpdatedSavedState(Bundle)

Collega un Bundle di stato aggiornato da rendere persistente tra le invocazioni di callback.

PaymentAuthorizationResult

Crea un oggetto Java PaymentAuthorizationResult da restituire in BasePaymentDataCallbacks.onPaymentAuthorized.

fromJson(java.lang.String)

Crea un oggetto Java PaymentAuthorizationResult da una stringa in formato JSON. Per la struttura prevista della stringa in formato JSON fornita, consulta il riferimento all'oggetto di risposta PaymentAuthorizationResult.