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 |
|
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.