Referencia de cliente

La documentación de com.google.android.gms.wallet contiene la documentación completa de la biblioteca en varias versiones de la API de Google Pay. A continuación, se incluye un resumen de los objetos y métodos más aplicables a la versión más reciente de la API de Google Pay: la versión 2.0.

Wallet

Genera un objeto PaymentsClient para un entorno de pruebas o de producción.

Ejemplo

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

PaymentsClient

Cliente para interactuar con las APIs de Google Pay.

isReadyToPay(IsReadyToPayRequest)

Usa el método isReadyToPay(IsReadyToPayRequest) para determinar si un usuario puede devolver un método de pago desde la API de Google Pay.

Si el dispositivo es compatible con Google Pay y el usuario ya ha guardado un método de pago o puede añadir uno, IsReadyToPay devuelve true. Para determinar si el usuario ya ha guardado un método de pago en Google Pay, define IsReadyToPayRequest.existingPaymentMethodRequired como true.

loadPaymentData(PaymentDataRequest)

Presenta una hoja de pago de Google Pay que permite seleccionar un método de pago y, opcionalmente, parámetros configurados.

IsReadyToPayRequest

Crea un objeto Java IsReadyToPayRequest adecuado para usarlo con PaymentsClient.isReadyToPay().

fromJson(java.lang.String)

Crea un objeto Java IsReadyToPayRequest a partir de una cadena con formato JSON. Consulta la referencia del objeto IsReadyToPayRequest para ver la estructura esperada de la cadena con formato JSON proporcionada.

PaymentDataRequest

Crea un objeto Java PaymentDataRequest adecuado para usarlo con PaymentsClient.loadPaymentData.

fromJson(java.lang.String)

Crea un objeto Java PaymentDataRequest a partir de una cadena con formato JSON. Consulta la referencia del objeto PaymentDataRequest para ver la estructura esperada de la cadena con formato JSON proporcionada.

PaymentData

Gestiona una respuesta con formato JSON de la API de Google Pay para usarla en tu aplicación.

toJson()

Genera una respuesta de la API de Google Pay como una cadena con formato JSON. Consulta la referencia del objeto PaymentData para obtener más información sobre la estructura del objeto JSON.

PayButton

public void initialize(ButtonOption buttonOptions)

Este método de conveniencia se usa para inicializar un botón de pago de Google Pay con el estilo de la marca más reciente de Google Pay.

Argumentos

Nombre Descripción
buttonOptions Objeto que configura el botón de pago de Google Pay. Consulta ButtonOptions para ver las propiedades configurables.

Ejemplo: Inicializar el botón de pago con configuraciones 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)

Este método de conveniencia define la visibilidad del botón de pago.

Argumentos

Nombre Descripción
View

View.VISIBLE define el botón de pago como visible (opción predeterminada).

View.GONE oculta el botón a los usuarios.

Ejemplo:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener(View.OnClickListener listener)

Este método se llama cuando el usuario hace clic en el botón de pago de Google Pay.

Argumentos

Nombre Descripción
listener Retrollamada del procesador de eventos que se llama cuando se envía un evento de clic al botón de pago de Google Pay.

BasePaymentDataCallbacksService

Clase de servicio base que aloja las retrollamadas de datos de pago iniciadas por los servicios de Google Play en un PaymentsClient.loadPaymentData(PaymentDataRequest) flujo.

Amplía este servicio en tu aplicación y decláralo en tu archivo AndroidManifest.xml con el permiso com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE y un filtro de intents para com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS.

createPaymentDataCallbacks()

Devuelve una implementación de BasePaymentDataCallbacks para gestionar los eventos de retrollamada entrantes. Se llama una vez por cada evento de retrollamada.

BasePaymentDataCallbacks

Clase base abstracta que contiene los controladores de retrollamada de datos de pago implementados por el comerciante para admitir las actualizaciones de precios dinámicas y la autorización de pagos.

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

Este método gestiona los cambios en los datos de pago de la hoja de pago, como la dirección de envío y las opciones de envío.

Argumentos

Nombre Tipo Descripción
intermediatePaymentData IntermediatePaymentData Objeto que contiene la dirección y la opción de envío seleccionadas en la hoja de pago. Para obtener más información, consulta IntermediatePaymentData.
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> Procesador para resolver con la información de la transacción actualizada, las opciones de envío y los errores de datos de pago. Pasa una PaymentDataRequestUpdate instancia a complete().

Ejemplo

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 se llama cuando se autoriza un pago en la hoja de pago.

Argumentos

Nombre Tipo Descripción
paymentData PaymentData Objeto que contiene los datos del comprador solicitados. Para obtener más información, consulta PaymentData.
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> Procesador para resolver con el resultado de la autorización. Pasa una PaymentAuthorizationResult instancia a complete().

Ejemplo

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

IntermediatePaymentData

Gestiona los datos de retrollamada intermedios que se pasan a BasePaymentDataCallbacks.onPaymentDataChanged.

toJson()

Genera los datos de la solicitud de retrollamada como una cadena con formato JSON. Consulta la referencia del objeto IntermediatePaymentData para obtener más información sobre la estructura del objeto JSON.

getLastSavedState()

Devuelve el objeto Bundle que contiene el estado guardado durante la iteración de retrollamada anterior.

PaymentDataRequestUpdate

Crea un objeto Java PaymentDataRequestUpdate para devolverlo en BasePaymentDataCallbacks.onPaymentDataChanged.

fromJson(java.lang.String)

Crea un objeto Java PaymentDataRequestUpdate a partir de una cadena con formato JSON. Consulta la referencia del objeto PaymentDataRequestUpdate para ver la estructura esperada de la cadena con formato JSON proporcionada.

withUpdatedSavedState(Bundle)

Adjunta un objeto Bundle de estado actualizado para que se conserve entre las invocaciones de retrollamada.

PaymentAuthorizationResult

Crea un objeto Java PaymentAuthorizationResult para devolverlo en BasePaymentDataCallbacks.onPaymentAuthorized.

fromJson(java.lang.String)

Crea un objeto Java PaymentAuthorizationResult a partir de una cadena con formato JSON. Consulta la referencia del objeto de respuesta PaymentAuthorizationResult para ver la estructura esperada de la cadena con formato JSON proporcionada.