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) |
AtençãoExceto pelo amount, todos os outros campos podem vir com valor null.

