Integrar el SDK en el lado de la aplicación
Lógica de compra general
- Implemente la lógica de obtención de tókenes de pago de una de las siguientes formas:
- Usando la biblioteca de Store (recomendado):
- Para comprar un solo artículo, llame al método
createOrderByItemSku
. - Para comprar los artículos de la cesta:
- Después de que el usuario haya llenado la cesta, llame al método
fillCurrentCartWithItems
. - Llame al método
createOrderFromCartById
ocreateOrderFromCurrentCart
.
- Después de que el usuario haya llenado la cesta, llame al método
- Para comprar un solo artículo, llame al método
- Usando la biblioteca de Store (recomendado):
- Usando la IGS & BB API.
- Usando sus propios métodos de servidor o métodos de solución de BaaS (Back-end como servicio).
- Implemente la lógica de apertura de la interfaz de pago:
- kotlin
vmPurchase.paymentToken.observe(this) { token ->
val intent = XPayments.createIntentBuilder(this)
.accessToken(AccessToken(token))
.isSandbox(BuildConfig.IS_SANDBOX)
.useWebview(true)
.build()
startActivityForResult(intent, RC_PAYSTATION)
}
- Implemente el control de resultados de pago:
- kotlin
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))
}
}
}
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ámetrouseWebview
no se pasa o se pasauseWebview(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:
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.