La 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 una forma 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)
Presentare un foglio di pagamento Google Pay che consenta la selezione di un metodo di pagamento e di parametri configurati facoltativamente.
IsReadyToPayRequest
Crea un oggetto Java IsReadyToPayRequest adatto per l'utilizzo con PaymentsClient.isReadyToPay().
fromJson(java.lang.String)
Crea un oggetto Java IsReadyToPayRequest da una stringa in formato JSON. Consulta il
riferimento all'oggetto IsReadyToPayRequest
per la struttura prevista della stringa in formato JSON fornita.
PaymentDataRequest
Crea un oggetto Java PaymentDataRequest adatto all'utilizzo con PaymentsClient.loadPaymentData.
fromJson(java.lang.String)
Crea un oggetto Java PaymentDataRequest da una stringa formattata in JSON. Consulta il
riferimento all'oggetto PaymentDataRequest
per la struttura prevista della stringa in formato JSON fornita.
PaymentData
Gestire 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 Google Pay con lo stile del branding Google Pay più recente.
Argomenti
| Nome | Descrizione |
|---|---|
buttonOptions |
Un oggetto che configura il pulsante di pagamento Google Pay. Consulta ButtonOptions per le proprietà configurabili. |
Esempio: inizializza 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 |
|
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 un evento di clic viene inviato al pulsante di pagamento 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 flusso PaymentsClient.loadPaymentData(PaymentDataRequest).
Estendi questo servizio nella tua applicazione e dichiaralo nel tuo 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 arrivo. Viene chiamato una volta per evento di callback.
BasePaymentDataCallbacks
Classe base astratta contenente i gestori callback dei dati di pagamento implementati dal commerciante per supportare gli aggiornamenti dinamici dei prezzi e l'autorizzazione di pagamento.
onPaymentDataChanged(intermediatePaymentData, onCompleteListener)
Questo metodo gestisce le modifiche ai dati di pagamento nel foglio di pagamento, ad esempio l'indirizzo di spedizione e le opzioni di spedizione.
Argomenti
ciao| Nome | Tipo | Descrizione |
|---|---|---|
intermediatePaymentData |
IntermediatePaymentData |
Un oggetto che contiene l'indirizzo e l'opzione di spedizione selezionati nel foglio di pagamento. Per maggiori 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 maggiori dettagli, vedi 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()
Restituisce 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 l'oggetto 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 formattata in JSON. Consulta il
riferimento all'oggetto PaymentDataRequestUpdate
per la struttura prevista della stringa in formato JSON fornita.
withUpdatedSavedState(Bundle)
Collega uno stato aggiornato Bundle da mantenere persistente tra le chiamate 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 formattata in JSON. Consulta il
riferimento all'oggetto di risposta PaymentAuthorizationResult
per la struttura prevista della stringa fornita in formato JSON.