Kits SDK para Android / Integrar el SDK en el lado de la aplicación
  Volver a Documentos

Kits SDK para Android

Integrar el SDK en el lado de la aplicación

Lógica de compra general

  1. Implemente la lógica para obtener tókenes de pago de una de las siguientes formas:
    • Utilizando la biblioteca de Store (recomendado):
      • Para comprar un solo artículo, llame al método createOrderByItemSku.
      • Para comprar los artículos de la cesta:
        1. Después de que el usuario haya llenado la cesta, llame al método fillCurrentCartWithItems.
        2. Llame al método createOrderFromCartById o createOrderFromCurrentCart.

    • Usando la IGS API.
    • Usando sus propios métodos de servidor o métodos de solución de BaaS (Back-end como servicio).

  1. Implemente la lógica de apertura de la interfaz de pago:
Copy
Full screen
Small screen
val intent = XPayments.createIntentBuilder(this)
               .accessToken(<accessToken>)
               .isSandbox(<isSandbox>)
           	.setStatusReceivedCallback(object : StatusReceivedCallback {
               	override fun onSuccess(data: InvoicesDataResponse) {
                   		Log.d(TAG, "StatusReceivedCallback is fired. Result data = $data")
               	}
           	})
           	.build()
Nota
Revise el proyecto de demostración para ver un ejemplo de implementación.

Posibilidades de apertura de la interfaz de pago

El SDK para Android ofrece 3 formas de visualizar la interfaz de pago dentro de la aplicación:

WebViewCustom TabsTrusted Web Activity
Ventajas
  • Hace posible que el proceso de compra desde la aplicación sea muy eficiente, porque los usuarios no perciben transiciones entre la aplicación y la página web.
  • No hay una barra de herramientas estándar en la parte superior de la pantalla.
  • Se integra de forma nativa con Google Wallet y otros servicios de pago desde el dispositivo. Esto permite que los usuarios rellenen automáticamente los campos con los datos guardados previamente, p. ej., el correo electrónico y los datos de la tarjeta bancaria.
  • Admite una transición suave a una página web usando un fondo especial y un efecto de atenuación.
  • Se integra de forma nativa con Google Wallet y otros servicios de pago desde el dispositivo. Esto permite a los usuarios rellenar automáticamente los campos con los datos guardados previamente, como, por ejemplo, el correo electrónico y los datos de la tarjeta bancaria.
  • Permite bloquear la orientación de la pantalla.
  • No hay una barra de herramientas estándar en la parte superior de la pantalla.
Desventajas
  • No admite funciones de seguridad como Google Wallet. Google Wallet.
  • No funcionan los campos de rellenado automático con datos guardados, como, p. ej., correo electrónico y datos de tarjetas bancarias.
  • Abre una página web en una ventana independiente que se superpone a la aplicación.
  • Las características varían en función del navegador Chrome del dispositivo del usuario y de su versión.
  • No permite el bloqueo de orientación de pantalla.

Ejemplo de visualización de WebView:

Ejemplo de visualización de Custom Tabs:

Ejemplo de visualización de Trusted Web Activity (Actividad web de confianza):

Establecer el método de apertura de la interfaz de pago

De forma predeterminada, el SDK utiliza Custom Tabs. Si Custom Tabs no está disponible en el dispositivo del usuario, p. ej., si no hay instalado un navegador adecuado, el SDK cambiará automáticamente a otros métodos para abrir la interfaz de pago: primero WebView y después en el navegador externo instalado por defecto en el dispositivo.

Puede establecer un método principal diferente para abrir la interfaz de pago usando el método setActivityType.

Ejemplo:

Copy
Full screen
Small screen
XPayments.createIntentBuilder(this)
  .accessToken(AccessToken(token))
  .isSandbox(BuildConfig.IS_SANDBOX)
  .setActivityType(ActivityType.TRUSTED_WEB_ACTIVITY)
  .build()

Si el método principal no esté disponible, el SDK cambia a otros métodos en el siguiente orden: Trusted Web Activity > Custom Tabs > WebView > navegador externo instalado por defecto en el dispositivo.

Aviso

Si desea instalar Trusted Web Activity como el método de apertura de la interfaz de pago, contacte con su gestor del éxito del cliente o envíe un correo electrónico a csm@xsolla.com.

Tendrá que facilitar la siguiente información:

del certificado de firma de su aplicación

Para obtener más información sobre Trusted Web Activity, consulte la documentación de Google.

Establecer el botón de cierre de la interfaz de pago

Le recomendamos que establezca un botón de cierre para la interfaz de pago, ya que la barra del navegador y los elementos de navegación estándar no son visibles para el usuario en WebView y Trusted Web Activity. Para ello, en el objeto PaymentOptions del parámetro ui.mobile, transmita el objeto mobile = UiMobileProjectSettingHeader con el parámetro closeButton=true.

Puede seleccionar el icono que se mostrará en el botón. Para hacerlo, transmita uno de los siguientes valores en el parámetro closeButtonIcon:

  • “arrow”: para mostrar el icono
  • “cross”: para mostrar el icono × (utilizado por defecto)

Ejemplo del objeto PaymentOptions:

Copy
Full screen
Small screen
val paymentOptions = PaymentOptions(
            isSandbox = isSandbox,
            settings = PaymentProjectSettings(
                ui = UiProjectSetting(mobile = MobileSettings(header = UiMobileProjectSettingHeader(closeButton = true, closeButtonIcon = "arrow"))),
                returnUrl = "app://xpayment.${getApplication<Application>().packageName}",
                redirectPolicy = SettingsRedirectPolicy(
                    redirectConditions = "any",
                    delay = 5,
                    statusForManualRedirection = "any",
                    redirectButtonCaption = "Back to the Game"
                )
            )
        )

Ejemplo de uso de los parámetros closeButton and closeButtonIcon en WebView y Trusted Web Activity:

¿Te ha resultado útil este artículo?
¡Gracias!
¿Hay algo en lo que podamos mejorar? Mensaje
Lo sentimos
Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
¡Gracias por tu mensaje!
Nos ayudará a mejorar tu experiencia.
Última actualización: 5 de Septiembre de 2024

¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.

Informar de un problema
Nos esforzamos por ofrecer contenido de calidad. Tus comentarios nos ayudan a mejorar.
Déjanos tu correo electrónico para que te podamos responder
¡Gracias por tu mensaje!