Recebendo o retorno do deeplink

Para receber o retorno, basta chamar o método receiveDeeplinkResponse passando a intent atual por parâmetro.

val response = paymentDeeplink.receiveDeeplinkResponse(intent)

O resultado será um objeto do tipo PaymentResult caso a transação ocorra com sucesso ou lançará um PaymentException, exemplo de uso:

try {
    val response = paymentDeeplink.receiveDeeplinkResponse(intent)
    if (response != null)
        Log.i("Deeplink Response", response.toString())
} catch (e: PaymentException) {
        Log.e("Deeplink Response error", e.toString())
}

O que é o PaymentResponse?

É a classe que criamos para padronizar a resposta do deeplink

data class PaymentResponse(
  amount: Long,
  cardholderName: String?,
  itk: String?,
  atk: String?,
  authorizationDateTime: Date?,
  brand: String?,
  orderId: String?,
  authorizationCode: String?,
  installmentCount: Int?,
  pan: String?,
  type: String?
)

Campo

Descrição

Amount

Valor da transação

CardholderName

Nome do portador do cartão

ITK

Código único da transação gerado pelo POS

ATK

Código único da transação gerado pelo autorizador da Stone

AuthorizationDateTime

Data e hora da autorização da transação

Brand

Bandeira do cartão

OrderId

Id do pedido

AuthorizationCode

Código de autorização da transação

InstallmentCount

Número de parcelas da transação

Pan

Número do cartão mascarado

Type

Tipo da transação (CRÉDITO, DÉBITO, VOUCHER, PIX)

🚧

Atenção

Exceto pelo amount, todos os outros campos podem vir com valor null.