Integre o SDK no lado do aplicativo
Lógica de compra geral
- Implemente a lógica de obtenção de tokens de pagamento de uma das seguintes maneiras:
- Usando a biblioteca Store (recomendado):
- Para comprar um único item, chame o método
createOrderByItemSku
. - Para comprar os itens no carrinho:
- Depois que o usuário tiver preenchido o carrinho, chame o método
fillCurrentCartWithItems
. - Chame o método
createOrderFromCartById
oucreateOrderFromCurrentCart
.
- Depois que o usuário tiver preenchido o carrinho, chame o método
- Para comprar um único item, chame o método
- Usando a biblioteca Store (recomendado):
- Usando a API IGS & BB.
- Usando seus próprios métodos de servidor ou métodos de solução BaaS.
- Implemente a lógica de abertura da interface de pagamento:
- 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 o tratamento de resultados de pagamento:
- 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))
}
}
}
Opções de abertura de interface de pagamento
Dependendo de quais parâmetros forem passados ao método XPayments.createIntentBuilder
, a interface de pagamento é aberta na WebView ou Custom Tab.
Se o parâmetro useWebview(true)
for passado, a WebView será sempre usada para abrir a interface de pagamento.
A Custom Tab é utilizada se as seguintes condições forem cumpridas:
- Ao chamar
XPayments.createIntentBuilder
, o parâmetrouseWebview
não é passado ouuseWebview(false)
é passado. - O dispositivo do usuário usa um dos seguintes navegadores por padrão:
- Google Chrome
- Samsung Internet Browser
- Huawei Browser
Se for usado um navegador diferente, a interface de pagamento abrirá na WebView independentemente dos parâmetros do método XPayments.createIntentBuilder
.
Na WebView, o usuário não vê a barra do navegador e elementos de navegação padrões. Isso faz com que o processo de compra no aplicativo seja fluído. Mas você precisa modificar o aplicativo e adicionar o ícone ← para que o usuário possa fechar a interface de pagamento em qualquer estágio da compra. Consulte aplicativo demonstrativo para ver um exemplo de modificação.
Na Custom Tab, o usuário pode fechar a interface de pagamento clicando no ícone ✖.
Exemplo de uso da WebView:
Exemplo de uso da Custom Tab:
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.