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 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
mostrar 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 muestra 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 permite seleccionar una forma de pago y parámetros configurados de forma opcional.
IsReadyToPayRequest
Compila un objeto 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 |
Un objeto que configura el botón de pago de Google Pay. Consulta ButtonOptions para ver las propiedades configurables. |
Ejemplo: Inicializa 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 establece la visibilidad del botón de pago.
Argumentos
| Nombre | Descripción |
|---|---|
View |
|
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 devolución de llamada del objeto de escucha de eventos para llamar cuando se entrega un evento de clic al botón de pago de Google Pay. |
BasePaymentDataCallbacksService
Clase de servicio base que aloja las devoluciones de llamada de datos de pago iniciadas por los Servicios de Google Play
dentro de un PaymentsClient.loadPaymentData(PaymentDataRequest) flujo.
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
Clase base abstracta que contiene los controladores de devolución de llamada de datos de pago implementados por el comercio para admitir actualizaciones de precios dinámicas y autorización de pagos.
onPaymentDataChanged(intermediatePaymentData, onCompleteListener)
Este método controla los cambios en los datos de pago en la hoja de pago, como la dirección de envío y las opciones de envío.
Argumentos
| 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 objeto de escucha 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)
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 objeto de escucha 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
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()
Muestra el Bundle que contiene el estado guardado durante la iteración de devolución de llamada anterior.
PaymentDataRequestUpdate
Compila un objeto Java PaymentDataRequestUpdate para mostrarlo 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 mostrarlo 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.