Referencia de cliente

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

Wallet

Genera un PaymentsClient para un entorno de prueba o de producción.

Ejemplo

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

PaymentsClient

Un cliente para interactuar con las APIs de Google Pay.

isReadyToPay(IsReadyToPayRequest)

Usa el método isReadyToPay(IsReadyToPayRequest) para determinar si un usuario puede devolver una forma de pago de 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, asigna el valor true a IsReadyToPayRequest.existingPaymentMethodRequired.

loadPaymentData(PaymentDataRequest)

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

IsReadyToPayRequest

Crea un objeto Java IsReadyToPayRequest que se pueda usar 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 que se pueda usar 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

Gestionar una respuesta de la API de Google Pay en formato JSON 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)

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

Argumentos

Nombre Descripción
buttonOptions Un 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)

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

Argumentos

Nombre Descripción
View

View.VISIBLE hace que el botón de pago sea visible (opción predeterminada).

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

Ejemplo:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener(View.OnClickListener listener)

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

Argumentos

Nombre Descripción
listener Una retrollamada del procesador de eventos a la 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 Servicios de Google Play en un flujo de PaymentsClient.loadPaymentData(PaymentDataRequest).

Amplía este servicio en tu aplicación y decláralo en tu 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 evento de retrollamada.

BasePaymentDataCallbacks

Clase base abstracta que contiene los controladores de retrollamada de datos de pago implementados por el comercio 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

buenas
Nombre Tipo Descripción
intermediatePaymentData IntermediatePaymentData Un 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> Un listener que se resuelve con la información de la transacción actualizada, las opciones de envío y los errores de los datos de pago. Pasa una instancia de PaymentDataRequestUpdate 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)

Se llama a este método cuando se autoriza un pago en la hoja de pago.

Argumentos

Nombre Tipo Descripción
paymentData PaymentData Un objeto que contiene los datos del comprador solicitados. Para obtener más información, consulta PaymentData.
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> Un agente de escucha para resolver con el resultado de la autorización. Pasa una instancia de PaymentAuthorizationResult 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

Gestionar los datos de retrollamada intermedios que se transfieren a BasePaymentDataCallbacks.onPaymentDataChanged.

toJson()

Muestra los datos de la solicitud de devolución de llamada 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 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 estado actualizado Bundle 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 conocer la estructura esperada de la cadena con formato JSON proporcionada.