Configuração Deeplink

📘

Todas as informações exibidas aqui também podem ser conferidas nos apps de exemplo no link abaixo

Deeplink demo

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) }
}