TransactionDAO é o objeto responsável por controlar o banco de dados do SDK. Este objeto diponibiliza alguns métodos para buscar dados das transações salvas no banco.
Os métodos disponíveis são:
| Método | Tipo do retorno | Descrição |
|---|---|---|
| getLastTransactionId() | int | Retorna o TRANSACTION_ID da última transação processada pelo SDK |
| getAllTransactionsOrderByIdDesc() | List<TransactionObject> | Retorna todas as trasnações processadas pelo SDK ordenadas do maior TRANSACTION_ID para o menor |
| getAllTransactions() | List<TransactionObject> | Retorna todas as trasnações processadas pelo SDK |
| findTransactionWithId(Integer transactionId) | TransactionObject | Busca uma transação pelo TRANSACTION_ID |
| findTransactionWithAuthorizationCode(String authorizationCode) | TransactionObject | Busca uma transação pelo AUTHORIZATION_CODE |
| findTransactionWithInitiatorTransactionKey(String initiatorTransactionKey) | TransactionObject | Busca uma transação pelo INITIATOR_TRANSACTION_KEY |
| findTransactionByFilter(Map<String, String> filters) | List<TransactionObject> | Busca uma transação de acordo com o filtro escolhido (CHAVE, VALOR) (Ex: "ATK", "32019832938120") |
| findTransactionWithATK() | TransactionObject | Busca uma transação através do ATK (NSU, StoneID) passado. |
A base de dados contém os seguintes campos:
| Campo | Tipo | Descrição |
|---|---|---|
| TRANSACTION_ID | Int | Id da transação |
| ATK | String | Identificador da transação que é retornado pelo autorizador ( RECIPIENT_TRANSACTION_IDENTIFICATION, StoneID ou ATK) |
| INITIATOR_TRANSACTION_KEY | String | Identificador da transação gerador pela aplicação que iniciou a transação (ITK) |
| AMOUNT | String | Valor da transação |
| TYPE_OF_TRANSACTION | String | Tipo de transação |
| INSTALMENT_TYPE | String | Tipo de parcelamento |
| NUMBER_OF_INSTALMENT | String | Quantidade de parcelas |
| CARD_HOLDER_NUMBER | String | Cartão usado na transação no formato 65434******'834 |
| CARD_BRAND | String | Bandeira do cartão |
| CARD_HOLDER_NAME | String | Nome do portador do cartão |
| AUTHORIZATION_CODE | String | Código de autorização gerado pelo emissor do cartão |
| DATE | String | Dia da transação no formato: yyyy-MM-dd |
| TIME | String | Hora da transação no formato: HH:mm:ss |
| TIME_TO_PASS_TRANSACTION | String | Tempo de execução da transação |
| SHORT_NAME | String | Nome customizado exibido na fatura do portador do cartão (máximo de 14 caracteres) |
| EMAIL_CLIENT | String | Email do cliente (usado para enviar o comprovante) |
| ACTION_CODE | String | Código de retorno da transação |
| STATUS_OF_TRANSACTION | String | Status da transação |
| BALANCE | String | Saldo do voucher (ex.: Ticket, Sodexo) |
| CAPTURE | String | Define se a transação foi realizada com captura automática ou não. |
| PINPAD_USED | String | Pinpad utilizado na transação |
| CANCELLATION_DATE | String | Data do cancelamento no formato: yyyy-MM-dd |
| SUB_MERCHANT_CATEGORY_CODE | String | MCC do lojista que efetuou a transação (Campo restrito para subAdquirentes) |
| SUB_MERCHANT_ADDRESS | String | Endereço do lojista que efetuou a transação (Campo restrito para subAdquirentes) |
AtençãoO campo TRANSACTION_ID é utilizado como chave de busca no banco de dados local. Durante a consulta, o valor de TRANSACTION_ID deve ser igual ao campo_ idFromBase_ do objeto transacional, garantindo que o registro correto seja recuperado.
