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 de obtención de tókenes de pago de una de las siguientes formas:
    • Usando la biblioteca de Store (recomendado):
      1. Para comprar un solo artículo, llame al método createOrderByItemSku.
      2. 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 & BB 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:
Nota
Revise el proyecto de demostración para ver un ejemplo de implementación.
Copy
Full screen
Small screen
vmPurchase.paymentToken.observe(this) { token ->
    val intent = XPayments.createIntentBuilder(this)
        .accessToken(AccessToken(token))
        .isSandbox(BuildConfig.IS_SANDBOX)
        .useWebview(true)
        .build()
    startActivityForResult(intent, RC_PAYSTATION)
}
  1. Implemente el control de resultados de pago:
Copy
Full screen
Small screen
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == RC_PAYSTATION) {
        val (status, _) = XPayments.Result.fromResultIntent(data)
        when (status) {
            XPayments.Status.COMPLETED -> showSnack(getString(R.string.payment_completed))
            XPayments.Status.CANCELLED -> showSnack(getString(R.string.payment_cancelled))
            XPayments.Status.UNKNOWN -> showSnack(getString(R.string.payment_unknown))
        }
    }
}
Nota
Revise el proyecto de demostración para ver un ejemplo de implementación.

Posibilidades de apertura de la interfaz de pago

En función de los parámetros que se pasen al método XPayments.createIntentBuilder, la interfaz de pago se abrirá en WebView o Custom Tab.

Si se pasa el parámetro useWebview(true), siempre se usará WebView para abrir la interfaz de pago.

Custom Tab se usa si se dan las siguientes condiciones:

  • Al llamar a XPayments.createIntentBuilder, el parámetro useWebview no se pasa o se pasa useWebview(false).
  • El dispositivo del usuario usa por defecto uno de los siguientes navegadores:
    • Google Chrome
    • Samsung Internet Browser
    • Huawei Browser

Si se usa un navegador diferente, la interfaz de pago se abrirá en WebView, independientemente de los parámetros del método XPayments.createIntentBuilder.

En WebView, el usuario no ve la barra del navegador ni los elementos de navegación estándar, lo que facilita el proceso de compra en la aplicación. Sin embargo, se debe modificar la aplicación y añadir el icono para que el usuario pueda cerrar la interfaz de pago en cualquier fase de la compra. Consulte la aplicación demo para ver un ejemplo de la modificación.

En Custom Tab, el usuario puede cerrar la interfaz de pago pulsando el icono .

Ejemplo al usar WebView:

Ejemplo al usar Custom Tab:

Tu progreso
¡Gracias por tu mensaje!
Última actualización: 21 de Marzo 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!