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