Pular para o conteúdo principal

Cancelamento

Para realizar uma Transação de Cancelamento, utilize o método cancel da classe paykit.

CancelParameter

O objeto CancelParameter, utilizado em transações de cancelamento.

CampoTipoDescrição
paymentIdStringIdentificador da transação de pagamento que será cancelada.
externalIdString?Identificador da automação comercial para a transação. Utilizado para posterior conciliação. Este campo é opcional.
amountBigDecimal?O valor total da transação de pagamento que será cancelada. Este campo é opcional.
originalPaymentTypePaymentType?Modalidade (débito, crédito, voucher, Pix, etc.) da transação de pagamento. Este campo é opcional.
originalTransactionDateDate?Data em que a transação de pagamento foi realizada. Este campo é opcional.
cancelAmountBigDecimal?O valor que será cancelado da transação para cancelamento parcial. Este campo é opcional.
autoPrintReceiptBooleanImprime automaticamente o comprovante do lojista quando o provedor de pagamento é o TEF.
printMerchantReceiptBooleanImprime (ou não) o recibo do lojista. Utilizar apenas em totens de auto atendimento.
autoConfirmBoolean?Envia a confirmação automaticamente. Só utilizada quando o provedor de pagamento é o TEF. Este campo é opcional.
Nota

Os parâmetros paymentId, amount, originalPaymentType e originalTransactionDate são utilizados para localizar a transação original que deve ser cancelada. Quando não informado será consultado no momento do cancelamento. Alguns provedores permitem cancelamento parcial (veja regras de negócio com o próprio provedor). Para esse caso possuímos o parâmetro cancelAmount que pode ser utilizado.

Exemplo

Atenção

Verifique os parâmetros da transação. Os atributos devem seguir os critérios:

  • amount: MAIOR ou igual a 0.01
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import com.linx.paykit.common.Callback
import com.linx.paykit.common.CancelResult
import com.linx.paykit.common.builder.Parameters
import com.linx.paykit.common.parameter.CancelParameter
import com.linx.paykit.core.Paykit
import com.linx.paykit.core.PaykitFactory
import java.math.BigDecimal

class MainActivity : AppCompatActivity() {

private lateinit var paykit: Paykit

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

paykit = PaykitFactory().build(Parameters(this, "Cancelamento", PaykitId("PAYKIT_ID")))

val cancelParameter = CancelParameter(
paymentId = "1", // (transactionId) NSU da Transação
amount = BigDecimal("100.00"), // Valor da original da transação
originalTransactionDate = Date() // Data original da transação
)

paykit.cancel(cancelParameter, object : Callback<CancelResult> {
override fun execute(result: CancelResult) {
Log.i("CancelResult", "ID: ${result.id}, Status: ${result.status}")
}
})
}
}

CancelResult

O objeto CancelResult, retornado no callback da transação, contém informações essenciais da adquirente.

CampoTipoDescrição
idString?Identificador único da transação.
externalIdString?Identificador externo para a transação.
processorPaymentProcessor?Indica o processador da transação (STONE, TEF, REDE, GETNET, PAGSEGURO, VERO, CIELO, SICOOB, SITEF).
statusTransactionStatusStatus da transação (PENDING, APPROVED, CANCELLED, PARTIALLY_CANCELLED, ERROR, DECLINED).
amountBigDecimal?Representa o valor da transação original.
originalIdString?Identificador da transação original.
canceledAmountBigDecimalRepresenta o valor da transação de cancelamento. Diferente de amount quando o cancelamento é parcial.
messageString?Mensagem de sucesso ou erro, caso aplicável.
dateTimeDate?Representa data e hora da transação.
nsuInfoNsuInfo?Representa dados de NSU do retorno transacional do provedor de pagamentos.
transactionInfoTransactionInfo?Representa dados de retorno transacional do provedor de pagamentos.
rawDataMap<String, String>?Retorno estilo chave/valor recebido do provedor de pagamentos.
paymentTypePaymentType?Tipo da transação de pagamento (Crédito, Débito, Voucher, Pix, etc.).
transactionTypeTransactionType?Modalidade da transação de crédito, débito, ou voucher, quando disponível.

Este conteúdo foi útil para você?