Référence client

La documentation com.google.android.gms.wallet contient la documentation complète de la bibliothèque pour plusieurs versions de l'API Google Pay. Vous trouverez ci-dessous un résumé des objets et des méthodes les plus applicables à la version la plus récente de l'API Google Pay : version 2.0.

Wallet

Générez un PaymentsClient pour un environnement de test ou de production.

Exemple

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

PaymentsClient

Client permettant d'interagir avec les API Google Pay.

isReadyToPay(IsReadyToPayRequest)

Utilisez la méthode isReadyToPay(IsReadyToPayRequest) pour déterminer si un utilisateur peut renvoyer un mode de paiement à partir de l'API Google Pay.

Si l'appareil est compatible avec Google Pay et que l'utilisateur a déjà enregistré un mode de paiement ou peut en ajouter un, IsReadyToPay renvoie true. Pour déterminer si l'utilisateur a déjà enregistré un mode de paiement dans Google Pay, définissez IsReadyToPayRequest.existingPaymentMethodRequired sur true.

loadPaymentData(PaymentDataRequest)

Présentez une fiche de paiement Google Pay permettant de sélectionner un mode de paiement et des paramètres éventuellement configurés.

IsReadyToPayRequest

Créez un objet Java IsReadyToPayRequest adapté à une utilisation avec PaymentsClient.isReadyToPay().

fromJson(java.lang.String)

Créez un objet Java IsReadyToPayRequest à partir d'une chaîne au format JSON. Consultez la documentation de référence de l'objet IsReadyToPayRequest pour connaître la structure attendue de la chaîne au format JSON fournie.

PaymentDataRequest

Créez un objet Java PaymentDataRequest adapté à une utilisation avec PaymentsClient.loadPaymentData.

fromJson(java.lang.String)

Créez un objet Java PaymentDataRequest à partir d'une chaîne au format JSON. Consultez la documentation de référence de l'objet PaymentDataRequest pour connaître la structure attendue de la chaîne au format JSON fournie.

PaymentData

Gérez une réponse au format JSON de l'API Google Pay pour l'utiliser dans votre application.

toJson()

Générez une réponse de l'API Google Pay sous forme de chaîne au format JSON. Pour en savoir plus sur la structure de l'objet JSON, consultez la documentation de référence de l'objet PaymentData.

PayButton

public void initialize(ButtonOption buttonOptions)

La méthode pratique permet d'initialiser un bouton de paiement Google Pay stylisé avec la dernière image de marque Google Pay.

Arguments

Nom Description
buttonOptions Objet qui configure le bouton de paiement Google Pay. Pour connaître les propriétés configurables, consultez ButtonOptions.

Exemple : Initialiser le bouton de paiement avec des configurations personnalisées :

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)

La méthode pratique définit la visibilité du bouton de paiement.

Arguments

Nom Description
View

View.VISIBLE définit le bouton de paiement sur visible (par défaut).

View.GONE masque le bouton aux utilisateurs.

Exemple :

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener(View.OnClickListener listener)

La méthode est appelée lorsque l'utilisateur clique sur le bouton de paiement Google Pay.

Arguments

Nom Description
listener Rappel d'écouteur d'événements à appeler lorsqu'un événement de clic est envoyé au bouton de paiement Google Pay.

BasePaymentDataCallbacksService

Classe de service de base qui héberge les rappels de données de paiement initiés par les services Google Play dans un PaymentsClient.loadPaymentData(PaymentDataRequest) flux.

Étendez ce service dans votre application et déclarez-le dans votre fichier AndroidManifest.xml avec l'autorisation com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE et un filtre d'intent pour com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS.

createPaymentDataCallbacks()

Renvoie une implémentation de BasePaymentDataCallbacks pour gérer les événements de rappel entrants. Appelé une fois par événement de rappel.

BasePaymentDataCallbacks

Classe de base abstraite contenant les gestionnaires de rappels de données de paiement implémentés par le marchand pour prendre en charge les mises à jour dynamiques des prix et l'autorisation de paiement.

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

Cette méthode gère les modifications des données de paiement dans la fiche de paiement, telles que l'adresse de livraison et les options d'expédition.

Arguments

Nom Type Description
intermediatePaymentData IntermediatePaymentData Objet contenant l'adresse et l'option d'expédition sélectionnées dans la fiche de paiement. Pour en savoir plus, consultez IntermediatePaymentData.
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> Écouteur à résoudre avec les informations de transaction mises à jour, les options d'expédition et les erreurs de données de paiement. Transmettez une PaymentDataRequestUpdate instance à complete().

Exemple

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)

Cette méthode est appelée lorsqu'un paiement est autorisé dans la fiche de paiement.

Arguments

Nom Type Description
paymentData PaymentData Objet contenant les données de l'acheteur demandées. Pour en savoir plus, consultez PaymentData.
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> Écouteur à résoudre avec le résultat de l'autorisation. Transmettez une PaymentAuthorizationResult instance à complete().

Exemple

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

IntermediatePaymentData

Gérez les données de rappel intermédiaires transmises à BasePaymentDataCallbacks.onPaymentDataChanged.

toJson()

Génère les données de la requête de rappel sous forme de chaîne au format JSON. Pour en savoir plus sur la structure de l'objet JSON, consultez la documentation de référence de l'objet IntermediatePaymentData.

getLastSavedState()

Renvoie le Bundle contenant l'état enregistré lors de l'itération de rappel précédente.

PaymentDataRequestUpdate

Créez un objet Java PaymentDataRequestUpdate à renvoyer dans BasePaymentDataCallbacks.onPaymentDataChanged.

fromJson(java.lang.String)

Créez un objet Java PaymentDataRequestUpdate à partir d'une chaîne au format JSON. Consultez la documentation de référence de l'objet PaymentDataRequestUpdate pour connaître la structure attendue de la chaîne au format JSON fournie.

withUpdatedSavedState(Bundle)

Associe un Bundle d'état mis à jour à conserver entre les appels de rappel.

PaymentAuthorizationResult

Créez un objet Java PaymentAuthorizationResult à renvoyer dans BasePaymentDataCallbacks.onPaymentAuthorized.

fromJson(java.lang.String)

Créez un objet Java PaymentAuthorizationResult à partir d'une chaîne au format JSON. Consultez la documentation de référence de l'objet de réponse PaymentAuthorizationResult pour connaître la structure attendue de la chaîne au format JSON fournie.