Skip to content

TransactionBuilder

TransactionBuilder

Classe que auxilia no processo de parametrização de uma transação. É através dela, que podemos definir o tipo da transação e podemos informar os parâmetros necessários para processar a transação solicitada.

As informações que não foram previamente capturadas pelo App e passadas para o MobileSDK, através do Transaction, serão solicitadas ao usuário durante o fluxo transacional, caso necessário. Essa interação ocorre como chamadas aos callbacks definidos na interface UICallback.

Método Descrição
from(TransactionType) Cria uma instância genérica de TransactionBuilder com métodos auxiliares para definição de parâmetros gerais de uma transação.
debit() Cria uma instância de DebitTransactionBuilder, que auxilia na parametrização da transação de débito.
credit() Cria uma instância de CreditTransactionBuilder, que auxilia na parametrização da transação de crédito.
voucher() Cria uma instância de VoucherTransactionBuilder, que auxilia na parametrização da transação de voucher.
cancel() Cria uma instância de CancelTransactionBuilder, que auxilia na parametrização da transação de cancelamento.
confirm() Cria uma instância de ConfirmationTransactionBuilder, que auxilia na parametrização da transação de confirmação.
undo() Cria uma instância de UndoTransactionBuilder, que auxilia na parametrização da transação de desfazimento.

Parâmetros da transação

Método Descrição
withAmount Valor da transação.
withCpf CPF do cliente, se for necessário para transação.
withInstallment Número de parcelas.
withCardNumber Número do cartão, quando transação digitada habilitada para o estabelecimento.
withFinancialType Tipo do financiamento, normalmente utilizado para operação de crédito e débito.
withNsu Nsu da transação, normalmente utilizada no cancelamento e reimpressão de comprovante.
withApplicationName Nome do App.
withBillOfSale Código do cupom fiscal.
withDateOfSale Data do cupom fiscal.
withHourOfSale Hora do cupom fiscal.
withEnablePinpad Desabilita o leitor de cartão para a transação.
Obs.: Verificar com a equipe e homologação, quando é possível utilizar essa parametrização, caso necessário.
withDateAndHourOfSale Data e hora do cupom fiscal.
withCardNumberTypingEnable Desabilita a captura digitada do cartão. Quando a leitura do cartão for cancelada pelo usuário, não será solicitada a digitação.
withOriginalTransactionDate Data da transação original.
Ex.: Transação de reimpressão e cancelamento.
withInstallment Número de parcelas.
withInstallmentEntryAmount Valor da entrada.
withInstallmentFirstAmount Valor da primeira parcela.
withInstallmentFirstDate Data da primeira parcela. Formato dd/mm/yy.
withPreDated Data do agendamento. Formato dd/mm/yy.
build() Retorna um Intent, configurado para o tipo de transação e parâmetros definidos.

Alguns exemplos de utilização baseados no tipo de financiamento:

ONE_INSTALMENT - À vista
new TransactionBuilder(TransactionType.CARTAO_DEBITO)
        .withFinancialType(FinancialType.ONE_INSTALMENT)
        .withApplicationName("AppMobile") // nome da aplicação
        .withEnablePinpad(true)
        .withAmount(getRandomAmount())
        .build();
WITH_INSTALMENT_CASH - Parcelamento com entrada
new TransactionBuilder(TransactionType.CARTAO_DEBITO)
      .withFinancialType(FinancialType.WITH_INSTALMENT_CASH)
      .withInstallment(2) // número de parcelas
      .withInstallmentEntryAmount(100.00) // valor da entrada
      .withApplicationName("AppMobile") // nome da aplicação
      .withAmount(200.00) // valor da transação
      .build();
WITHOUT_INSTALMENT_CASH - Parcelamento sem entrada
 new TransactionBuilder(TransactionType.CARTAO_DEBITO)
      .withFinancialType(FinancialType.WITHOUT_INSTALMENT_CASH)
      .withInstallment(3) // número de parcelas
      .withInstallmentFirstAmount(50.00) // valor da primeira parcela
      .withInstallmentFirstDate("20/04/24") // data da primeira parcela
      .withApplicationName("AppMobile") // nome da aplicação
      .withAmount(200.00) // valor da transação
      .build();
PRE_DATED - Pré-datado
 new TransactionBuilder(TransactionType.CARTAO_DEBITO)
      .withFinancialType(FinancialType.PRE_DATED)
      .withPreDated("15/04/24") // data do agendamento
      .withApplicationName("AppMobile") // nome da aplicação
      .withAmount(200.00) // valor da transação
      .build();