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 tipoUserModel
. 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étodoinit
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.