Todas as informações exibidas aqui também podem ser conferidas nos apps de exemplo no link abaixo
Apps Stone
É necessário garantir que o POS tenha toda a suite de Apps Stone instalada.
Caso seu POS não tenha os applicativos, por favor, entre em contato com a equipe de parcerias da Stone para receber os apps e poder iniciar a integração!
Importando o artefato no build.gradle
dependencies {
...
implementation "br.com.stone:payment-deeplink:1.16.7"
...
}
Configurando o AndroidManifest.xml para Pagamento
No arquivo AndroidManifest.xml, os seguintes intent-filter e launchMode devem ser adicionados na activity que receberá o retorno do deeplink (falaremos mais sobre ele adiante).
<application>
...
<activity
android:launchMode="singleTop"
android:name=".MainActivity">
...
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="pay-response"
android:scheme="$scheme" />
</intent-filter>
...
</activity>
...
</application>
A variável $scheme no atributo "android:scheme" deve ser substituído por uma string de sua preferência.
Já o atributo "android:host" não deve ser alterado!
Activity de Pagamento
Na activity onde o pagamento será feito, precisaremos de uma instância do objeto PaymentDeeplink.
Por receber o contexto da aplicação como parâmetro, não deve ser inicializada antes do onCreate do ciclo de vida da aplicação ou deve ter a inicialização tardia, como no exemplo abaixo.
class MainActivity : AppCompatActivity() {
...
private val paymentDeeplink by lazy { PaymentDeeplink(applicationContext) }
}