Referencia del cliente

La documentación de com.google.android.gms.wallet contiene documentación completa para 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: versión 2.0

Billetera

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 la capacidad de un usuario de devolver una forma de pago desde la API de Google Pay.

Si el dispositivo admite Google Pay y el usuario ya guardó una forma de pago o puede agregar una, IsReadyToPay devuelve true. Para determinar si el usuario ya guardó una forma de pago en Google Pay, establece IsReadyToPayRequest.existingPaymentMethodRequired en true.

loadPaymentData(PaymentDataRequest)

Presenta una hoja de pago de Google Pay que permita seleccionar una forma de pago y parámetros configurados de manera opcional.

IsReadyToPayRequest

Compila un objeto de Java IsReadyToPayRequest adecuado para 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 conocer la estructura esperada de la cadena con formato JSON proporcionada.

PaymentDataRequest

Compila un objeto Java PaymentDataRequest adecuado para 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 conocer la estructura esperada de la cadena con formato JSON proporcionada.

PaymentData

Controla una respuesta con formato JSON de la API de Google Pay para usarla en tu app.

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 más reciente de Google Pay.

Argumentos

Nombre Descripción
buttonOptions Es un objeto que configura el botón de pago de Google Pay. Consulta ButtonOptions para conocer las propiedades configurables.

Ejemplo: Inicializa el botón de pago con parámetros de configuración personalizados:

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 establece la visibilidad del botón de pago.

Argumentos

Nombre Descripción
View

View.VISIBLE establece el botón de pago como visible (predeterminado).

View.GONE oculta el botón para 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 Es una devolución de llamada del objeto de escucha de eventos que se debe llamar cuando se entrega un evento de clic al botón de pago de Google Pay.

BasePaymentDataCallbacksService

Es la clase de servicio base que aloja las devoluciones de llamada de datos de pago que inician los Servicios de Google Play dentro de un flujo de PaymentsClient.loadPaymentData(PaymentDataRequest).

Extiende 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()

Muestra una implementación de BasePaymentDataCallbacks para controlar los eventos de devolución de llamada entrantes. Se llama una vez por evento de devolución de llamada.

BasePaymentDataCallbacks

Es la clase base abstracta que contiene los controladores de devolución de llamada de datos de pago que implementa el comercio para admitir el establecimiento dinámico de precios y la autorización de pagos.

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

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

Argumentos

hola
Nombre Tipo Descripción
intermediatePaymentData IntermediatePaymentData Es 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> Es un objeto de escucha para resolver con la información de la transacción, las opciones de envío y los errores de datos de pago actualizados. 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 Es un objeto que contiene los datos del comprador solicitados. Para obtener más información, consulta PaymentData.
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> Es un objeto de escucha que se resuelve 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

Controla los datos de devolución de llamada intermedios que se pasan a BasePaymentDataCallbacks.onPaymentDataChanged.

toJson()

Genera 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 devolución de llamada anterior.

PaymentDataRequestUpdate

Compila un objeto Java PaymentDataRequestUpdate para que se devuelva 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 conocer la estructura esperada de la cadena con formato JSON proporcionada.

withUpdatedSavedState(Bundle)

Adjunta un estado Bundle actualizado para que persista entre las invocaciones de devolución de llamada.

PaymentAuthorizationResult

Compila un objeto Java PaymentAuthorizationResult para que se devuelva 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.