Inicializando o SDK

Depois de configurar as dependências do seu projeto, podemos começar a integração.

📘

Utilize sempre o aplicativo demo como referência quando tiver alguma dúvida de implementação.

O primeiro passo é inicializar o SDK.

StoneStart.init(APLICATION_CONTEXT);
StoneStart.init(APLICATION_CONTEXT)

📘

DeepLink

Caso utilize DeepLink não é necessário utilizar o StoneStart.init pois a ativação já será feita pelos apps internos do terminal. Salvo utilização hibrida (Providers + DeepLink).

Você tambem poderá passar por parâmetro suas credenciais de segurança ao iniciar o SDK, através de um map de StoneKeyType para String.

Map<StoneKeyType, String> stoneKeys = new HashMap<StoneKeyType, String>()
{
    {
        put(StoneKeyType.HMAC_KEY, "YOUR_KEY");
        put(StoneKeyType.HMAC_SALT, "YOUR_KEY");
        put(StoneKeyType.OWL_EMAIL_KEY, "YOUR_KEY");

        // Necessario somente que utilização de transações com QRCode, como PIX
        put(StoneKeyType.QRCODE_AUTHORIZATION, "Chave QRCODE_AUTHORIZATION");
        // Note que o formato do QRCODE_AUTHORIZATION _deve_ incluir o termo "Bearer".
        put(StoneKeyType.QRCODE_PROVIDERID, "Chave QRCODE_PROVIDERID");
    }
};

StoneStart.init(APLICATION_CONTEXT, stoneKeys);
StoneStart.init(APLICATION_CONTEXT, mapOf(
        StoneKeyType.HMAC_SALT to "YOUR_KEY",
        StoneKeyType.HMAC_KEY to "YOUR_KEY",
        StoneKeyType.OWL_EMAIL_KEY to "YOUR_KEY"
))

Esse método irá ativar os recursos que o SDK precisa.

📘

Se for a primeira vez que esse método for chamado e sua aplicação ainda não fez uma operação de ativação, ele retorna null

Se sua aplicação já tiver feito uma ativação, o método init irá retornar uma lista do tipo UserModel. Por exemplo, sua aplicação fez uma ativação e o usuário fechou o app. Quando ele for aberto de novo, sua aplicação irá executar o método init porém já vai estar ativada.

O objeto UserModel possui os dados do cliente que foi ativado anteriormente. Essas informações são constantemente utilizadas pelo SDK e você pode saber mais sobre elas na seção UserModel.

Em seguida, é necessário chamar o método setAppName da classe Stone, que recebe como parâmetro uma String referente ao nome da sua aplicação.

StoneStart.init(APLICATION_CONTEXT);
Stone.setAppName("StoneDemo");
StoneStart.init(APLICATION_CONTEXT)
Stone.appName = "StoneDemo"

❗️

AppName

O envio desse campo é obrigatório, sem ele não irá conseguir transacionar com a nossa SDK.

👍

Solicite as credenciais para utilizar PIX

Entre em contanto com seu BizDev ou com o time de Integrações de Parcerias e solicite as credenciais de Sadbox:

  • QRCODE_AUTHORIZATION
  • QRCODE_PROVIDERID

Para utilizar PIX e outros tipos de QRCode no Stone SDK.

Obs. Para gerar PIX em produção precisa de chaves para o ambiente PODUÇÃO DE PIX. Solicite a sua ao time de Integrações de Parcerias e aplique ao app antes da homologação.