SDKs para Android / Integre o SDK no lado do aplicativo
  Voltar aos Documentos

SDKs para Android

Integre o SDK no lado do aplicativo

Lógica de compra geral

  1. Implemente a lógica de obtenção de tokens de pagamento de uma das seguintes maneiras:
    • Usando a biblioteca Store (recomendado):
      1. Para comprar um único item, chame o método createOrderByItemSku.
      2. Para comprar os itens no carrinho:
        1. Depois que o usuário tiver preenchido o carrinho, chame o método fillCurrentCartWithItems.
        2. Chame o método createOrderFromCartById ou createOrderFromCurrentCart.

    • Usando a API IGS & BB.
    • Usando seus próprios métodos de servidor ou métodos de solução BaaS.

  1. Implemente a lógica de abertura da interface de pagamento:
Observação
Revise o projeto de demonstração para obter um exemplo de implementação.
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 o tratamento de resultados de pagamento:
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))
        }
    }
}
Observação
Revise o projeto de demonstração para obter um exemplo de implementação.

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âmetro useWebview não é passado ou useWebview(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:

Seu progresso
Obrigado pelo seu feedback!
Última atualização: 21 de Março de 2024

Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.

Relatar um problema
Nós sempre avaliamos nossos conteúdos. Seu feedback nos ajuda a melhorá-los.
Forneça um e-mail para que possamos responder
Obrigado pelo seu feedback!