Estornos
Para realizar um estorno utilize o método startTransaction(), passando os parâmetros da transação, os parâmetros de autenticação e o
contexto que o iniciou.
Os parâmetros de transação necessários para que o estorno seja efetuado são os seguintes:
| Parâmetro | Tipo | Descrição |
|---|---|---|
amount | BigDecimal | O valor da transação que está sendo estornada |
paymentType | PaymentType | O tipo de pagamento da transação que está sendo estornada |
refund | Boolean | Sempre true |
refundCode | String | Usado para realizar reembolsos, retornado no TransactionResponse da transação de pagamento que se deseja estornar |
nsuHost | String | DEPRECIADO: Identificador da transação, retornado na resposta da transação de pagamento que se deseja estornar |
transactionTimestamp | Long | DEPRECIADO: Timestamp exato de quando a transação ocorreu, retornado na resposta da transação de pagamento que se deseja estornar |
OBS: Campos riscados estão depreciados e não devem ser usados. Em futuras atualizações, eles são removidos.
TransactionActivity.kt
class TransactionActivity() : ComponentActivity {
val transactionParams = TransactionParams(
amount = BigDecimal("1234"), // R$ 12,34
paymentType = PaymentType.CREDIT,
refund = true,
refundCode = "<Insira_seu_refundCode>"
// ou
// nsuHost = "<Insira_seu_nsuHost>",
// transactionTimestamp = <Insira_seu_timestamp>
)
val authParams = AuthParams(token = "<Insira_seu_token>")
//...
fun doRefund() {
lifecycleScope.launch {
val transactionResponse = paymentProvider.startTransaction(this@MainActivity, transactionParams, authParams)
if (transactionResponse.status == OperationStatus.SUCCESS) {
Log.d("Transação", "Estorno realizado com sucesso!")
Log.d("Transação", "Comprovante: ${transactionResponse.customerReceipt}!")
} else {
Log.e("Transação", "Erro: ${transactionResponse.status} - ${transactionResponse.message}")
}
}
}
}