Changelog

Alterações realizadas na aplicação

V4.10.2 (9/12/2024)

Correções

  • ⬆️ Atualização da HAL
  • 🐛 Correção do abortPayment

V4.9.5 (21/08/2024)

Correções

  • 🐛 Corrige abort para fluxo de pix
  • 🐛 Corrige onError sendo chamado multiplas vezes ao usar abortPayment
  • 🐛 Melhora performance na inicialização do Mifare

V4.9.2 (24/07/2024)

Novas Features

  • ✨ Sonda Pix

Correções

  • 🐛 Correção do mifare para Positivo (L3, L400)

V4.8.9 (10/07/2024)

Correções

  • ⬆️ Atualiza biblioteca da fabricante Sunmi
  • 🐛 Corrige bug que ao chamar o abortPayment o callback do provider de pagamento não era chamado.

V4.8.7 (24/01/2024)

Novas Features

  • ✨ Ações enviadas no fluxo de transação onResult depois da remoção do cartão

Correções

  • 🐛 Correção da chamada de erro duplicada

V4.8.6 (12/01/2024)

  • ⬆️ Upgrade Hal Stone API
  • ⬆️ Upgrade Hal Ingenico API

V4.8.5 (21/12/2023)

  • ⬆️ Upgrade Hal Stone API

V4.8.4 (18/12/2023)

  • 🐛 Correção do retorno da impressão no modelo L4

V4.8.3 (11/12/2023)

  • 🐛 Chamada do Callback onError quando o Status do QR_CODE
  • ♻️ Ajuste no status de error do Pix para serem capturados pela Sonda do POS.

V4.8.1 (27/10/2023)

  • 🛂 Add fine location permission to allow Android 10+ manage wifi without issues

V4.8.0 (26/09/2023)

  • ✨ Suporte aos novos modelos Positivo L3/ Positivo L400

V4.7.7 (17/07/2023)

Correções

  • 🐛 Correção do fluxo de abortPayment() no fluxo de QrCode.

V4.7.6 (27/06/2023)

Correções

  • 🐛 Correção de timeout do QrCode por pagamento via QrCode ou via Pix.

V4.7.5 (27/06/2023)

Correções

  • 🐛 Atualização biblioteca de impressão. Corrigindo Impressão de comprovante de pagamento via Pix.

V4.7.3 (12/06/2023)

Novas Features

  • ✨ Adiciona suporte a crédito pré-pago. Adiciona método getQualifiers ao provider de transação, que retorna uma lista de qualificadores. Quando a transação for crédito pré-pago será incluído o valor "Prepaid" nessa lista.
  • ✨ Atualiza biblioteca da Gertec para o GPOS700X. Incluindo melhorias e correções por parte das fabricantes.

Correções

  • 🐛 Corrige problema de async task na detecção do Mifare. Quando o provider era iniciado múltiplas vezes era possível que a detecção parasse de funcionar.

V4.5.6 (26/04/2023)

Correções

  • 🐛 Corrige campo AUT não é impresso no comprovante.

V4.5.4 (17/03/2023)

Correções

  • ✨ Atualiza biblioteca da Gertec para o GPOS700X. Incluindo melhorias e correções por parte das fabricantes.

V4.5.3 (03/03/2023)

Correções

  • 🐛 Corrige NullPointerException em getTransType no modelo APOS A8.
  • ✨ Atualiza bibliotecas das fabricantes. Incluindo melhorias e correções por parte das fabricantes.

V4.5.2 (01/02/2023)

Correções

  • 🐛 Funcionamento do envio de comprovante por email restaurado.

V4.5.0

Novas Features

  • ✨ Pix

V4.4.0 (11/10/2022)

Novas Features

  • ✨ Parcelamento 18x

V4.3.11 (22/08/2022)

Novas Features

  • ✨ Novo status de erro PED_NO_KEY_FOUND_ERROR - POS Sem chaves

Correções

  • 🐛 Correção mifareProvider has not been initialized

V4.3.9 (11/08/2022)

Correções

  • 🐛 Erro ao mapear na tabela de Transaction o campo cardBrandName

V4.3.8 (09/08/2022)

Correções

  • 🐛 SDK salva cache da ativação mesmo após restaurar dados

V4.3.1 (24/07/2022)

Correção

  • 🐛 Remoção do status PARTIAL_APPROVED

V4.3.0 (21/07/2022)

Novas Features

  • ✨ Atualizar affiliationKey no job de ativação

Correções

  • 🐛 Correção do fluxo de Retap (NFC)

V4.0.8 (24/03/2022)

  • Melhoria no fluxo de validação das URLs externas
  • Correção no fluxo que busca informações sobre o dispositivo

V4.0.7 (14/03/2022)

  • Correção do fluxo de transações não sendo revertidas automaticamente
  • Correção do cancelamento por ITK
  • Desabilitado o uso do useAdvanced no fluxo de reversão
  • Melhoria no fluxo de teste automatizado

V4.0.6 (22/02/2022)

  • Correção no retorno de erro. Retornava CARD_READ_ERROR quando deveria retornar EMV_NO_APP_ERROR.
  • Correção Indicador de Fallback habilitado em contactless.
  • Atualização HAL Gertec 1.20.0

V4.0.5 (15/02/2022)

  • Novo campo "cardBrandName" no TransactionObject.
  • Adiciona log com stacktrace no método abortPayment.
  • Remove código legado que não estava mais sendo usado.

V4.0.4 (08/02/2022)

  • Correção onResult sendo chamado duas vezes.

V4.0.3 (25/01/2022)

  • Controle de Fallback de Redes usando o parâmetro useAdvancedHttp no construtor dos providers transacionais

V4.0.2 (13/01/2022)

  • Refatoração dos fluxos de ativação, pagamento, captura, cancelamento e reversão (Melhoria no desempenho)
  • Removido metodo setEnvironment. (Nova forma de configurar ambiente)
  • Remoção do Jcenter.
  • Refatora PosAndroidDevice para classe, pode ser usado para recuperar o serial, modelo do dispositivo. Stone.getPosAndroidDevice()
  • Correção no fluxo de abortPayment, transação não era revertida quando abortada no meio da request.
  • Melhoria no fluxo de reversão.
  • Dois novos status adicionados no TransactionStatusEnum (PENDING e REVERSED).
  • Adicionado host pagarme.

V3.14.13 (13/12/2021)

  • Correção de Null Pointer Exception no FncCommand.
  • Correção de bug onde a transação não era revertida em alguns casos de erros.

V3.14.12 (08/12/2021)

  • Correção de bug ao carregar tabelas.
  • Deprecia PrintProvider e PrintReceiptProvider.

V3.14.10 (18/11/2021)

  • Correção de problemas de instabilidade no pinpad.
  • Otimizações no fluxo de pagamento com pinpad.

V3.14.8 (09/11/2021)

  • Correção na ativação de dispositivos mobile.

V3.10.0 (11/12/2020)

  • Atualização de SDK e HAL da Gertec.
  • Utilização de Modulo OWL para envio de e-mail.
  • Correção de bug de nro de Parcelas na Filipeta.
  • Correção de bug que impedia a transação de app com PackageId maior que 35 chars.

V3.7.0 (17/06/2020)

  • Padronização de mensageria para o autorizador da Stone.

V3.6.0 (10/04/2020)

  • Integração com Data Container 1.0.0: Funções de Pagamento compartilhadas com POS Android
    • Reversão
    • Cancelamento
    • Ativação
    • Relatórios

V3.5.0 (19/02/2020)

  • Suporte inicial à HW Gertec (GPOS700).
  • Implementação de API Mifare para GPOS700
  • Atualiza a versão da lib PAL para 2.10.0

V3.4.3.2 (25/03/2020)

  • Correção nas configurações de segurança locais do POS (KAP).

V3.4.3 (09/01/2020)

  • Correção de duplicidade na resposta da ativação.

V3.4.2 (06/11/2019)

  • Correção de ativação do POS Android
  • Correção de inicialização ao usar o SDK exclusivamente com Pinpads

V3.4.1 (28/10/2019)

  • Suporte a novos cartões da bandeira Master Card
  • Correção de captura de transações voucher

V3.4.0 (10/10/2019)

Suporte oficial ao POS Android Ingenico A8

  • Nas verões anteriores existia uma distinção para o uso em dispositívos POS Android através de branchs RC (Release Candidate). Para mais informações clique aqui .

Modificações recomendadas

  • Suporte multidex para aplicações com versão da minSdkVersion inferiores à 21. Para mais informações clique aqui .

v3.3.2 (25/09/2019)

Novas Implementações

  • Novas dependências. Para atualizá-las, é preciso atualizar o arquivo build.gradle a nível de projeto:
/**
* Foi adicionado uma nova URL do package cloud.

* -> maven { url "https://packagecloud.io/Stone/pos-android-service-
container/maven2" }

**/
allprojects {
repositories {
jcenter()
maven { url "https://packagecloud.io/stone/sdk-android/maven2" }

maven { url "https://packagecloud.io/stone/sdk-android-
snapshot/maven2" }

maven { url "https://packagecloud.io/Stone/pos-android-service-
container/maven2" }

google()
}
}

E depois atualizar o arquivo build.gradle a nível de app:

/**
* Foi atualizado a versão do sdk para a versão 3.3.2.
**/
dependencies {
implementation 'br.com.stone:stone-sdk:3.3.2'
implementation 'br.com.stone:stone-sdk-posandroid:3.3.2'

implementation 'br.com.stone:stone-sdk-posandroid-
ingenico:3.3.2'

}
  • Adicionado nova ação: TRANSACTION_REQUIRES_CARDHOLDER_TO_CHECK_DEVICE
  • Adicionado novos erros:
    EMV_GENERIC_ERROR
    EMV_FAILED_CARD_CONN_ERROR
    EMV_NO_APP_ERROR
    EMV_INITIALIZATION_ERROR
    EMV_CAPK_ERROR
    EMV_TLV_ERROR
    EMV_NO_CAPK_ERROR
    EMV_AID_ERROR
    PRINTER_GENERIC_ERROR
    PRINTER_INVALID_DATA_ERROR
    PRINTER_OVERHEATING_ERROR
    PED_PASS_GENERIC_ERROR
    PED_PASS_INIT_ERROR
    PED_PASS_CRYPT_ERROR
    TRANS_GENERIC_ERROR
    TRANS_APP_INVALID_ERROR
    TRANS_CVV_NOT_PROVIDED_ERROR
    TRANS_CVV_INVALID_ERROR
    TRANS_APP_INVALID_INDEX_ERROR
    TRANS_ONLINE_PROCESS_ERROR_ERROR
    CARD_GENERIC_ERROR
    SWITCH_INTERFACE
    CARD_READ_MULTI_ERROR
    PINPAD_CLOSED_CONNECTION
    NOT_STONE_POS_OR_POS_MISCONFIGURED
    COULD_NOT_ACTIVATE_ALL_STONE_CODES

Melhorias

  • Adicionando na classe Stone.java a possibilidade de checagem referente a inicialização do SDK.
if(Stone.isInitialized()) {
//SDK Initialized
}
Stone.setOnInitializeListener(object : StoneStart.OnInitializeListener {
override fun onSuccess() {
// SDK Initislized with success
}
override fun onError() {
// SDK Initislized with error
}
})

Alterações

  • Adição de novo atributo external_id ao TransactionObject

Correções

  • [FIXED] Mudança de utilização da lib Koin através de instância local

v3.1.0 RC9 (07/06/2019)

Novas Implementações

  • Adicionado novo erro especifico para switch interface:
    ErrorsEnum.SWITCH_INTERFACE

Esse erro acontece quando ocorre um erro na leitura de um cartão NFC de
pagamento e é necessário inserir o chip. Aconselhamos que seja exibida uma
a mensagem: "Ocorreu um erro na leitura. Insira o chip."

Correções

  • [FIXED] Corrigidas atualização e persistência do TransactionObject no fluxo do POS
    Android
  • [FIXED] Fluxo de fallback contactless
  • [FIXED] AID sendo impresso na via do lojista

v3.1.0 RC8 (25/03/2019)

Novas Implementações

  • Agora retornando ErrorsEnum.CARD_READ_TIMEOUT_ERROR quando o usuário não insere/retira o cartão 30 segundos após pedirmos

Quando pedimos para o cliente inserir ou remover o cartão, esperamos apenas 30 segundos para essa ação acontecer, com o objetivo de não travar o pinpad nem consumir recursos desnecessários. Agora, em cenários como esse, retornamos o ErrorsEnum.CARD_READ_TIMEOUT_ERROR na lista de erros (seja no callback de OnSuccess ou de OnError). Para tratar especificamente esse erro, basta fazer como indicado na nossa demo (transactionProvider?.listOfErrors) e procurar por esse enum.

Correções

  • [FIXED] Corrigido bug na função de validação de cartão que causava crash.

v3.1.0 RC7 (18/03/2019)

  • [FIXED] Corrigido bug no envio de comandos para o pinpad.
  • [FIXED] Corrigido crash no recibo quando cvm é nulo.

v3.1.0 RC6 (22/01/2019)

Novas Implementações

  • Adicionado ao ErrorsEnum o enum SDK_VERSION_IS_OUTDATED.
  • Adicionada a classe PosTransactionProvider o método onCardReTap.
  • Adicionada a classe PaymentFlowWrapper os métodos installApk e o uninstallApk.

v3.1.0 RC5 (17/12/2018)

  • [FIXED] Atualização da biblioteca de integração com POS Android, incluindo correção de módulo NexGo e outras correções menores.

v3.1.0 RC4 (11/12/2018)

  • [ADDED] Adicionado suporte à nova versão do POS Ingenico APOS A8 com teclado estático.

v3.0.0 RC6 (06/08/2018)

  • [FIXED] Correção de erro nas transações com cartões Santander Visa para equipamento NexGo (Outros equipamentos não foram afetados);
  • [FIXED] Correção de erro nas transações com cartões Alelo para equipamento NexGo (Outros equipamentos não foram afetados).

v3.0.0 RC5 (26/07/2018)

  • Correção do bug nas transações com cartões Bradesco Visa em terminais da NexGo.

v3.0.0 RC4 (20/07/2018)

  • Correção do bug onde transações mastercard débito estavam sendo negadas
  • Correção do bug onde a SDK parava de responder após o evento TRANSACTION_SENDING com cartões nubank
  • SDK da Nexgo atualizada para v2.0.7

v3.0.0

  • Classe StoneTransaction removida da SDK. Agora para fazer transações, preencha diretamente o TransactionObject com as informações necessárias.

  • Novo provider PosTransactionProvider para efetuar transações com o POS Android.

  • Novo provider PosPrintProvierpara impressão no POS Android

  • Método String getAuthorizationCode() removido do TransactionProvider por já ter esse campo no TransactionObject;

  • Adicionado CONTACTLESS no EntryMode enum.

  • Todos os erros que geravam o Enum GENERIC_ERROR foram movidos para UNKNOWN_ERROR

  • Nova permissão SYSTEM_ALERT_WINDOW para desenhar os dígitos da senha em tela no POS android.

  • Novos Enums de erro:
    /** SWIPE_INCORRECT, TOO_MANY_CARDS, UNKNOWN_ERROR, INTERNAL_ERROR, // Erros de impressão do POS PRINTER_PRINT_ERROR, PRINTER_BUSY_ERROR, PRINTER_INIT_ERROR, PRINTER_LOW_ENERGY_ERROR, PRINTER_OUT_OF_PAPER_ERROR, PRINTER_UNSUPPORTED_FORMAT_ERROR, // PED ERROR PED_PASS_KEY_ERROR, PED_PASS_USER_CANCELED_ERROR, PED_PASS_NO_PIN_INPUT_ERROR, PED_PASS_TIMEOUT_ERROR, // TRANS ERROR TRANS_APP_BLOCKED_ERROR, TRANS_SELECT_TYPE_USER_CANCELED_ERROR, TRANS_INVALID_AMOUNT_ERROR, TRANS_PASS_MAG_BUT_IS_ICC_ERROR, TRANS_NO_TRANS_TYPE_ERROR, TRANS_WRONG_TRANS_TYPE_ERROR, // CARD ERROR CARD_ERROR, CARD_READ_ERROR, CARD_READ_TIMEOUT_ERROR, CARD_READ_CANCELED_ERROR, CARD_REMOVED_ERROR, CARD_UNSUPPORTED_ERROR, TRANSACTION_OBJECT_NULL_ERROR,

  • android gradle build tools atualizado para 3.0.1

v2.5.9 (03/04/2018)

  • Agora não é mais necessário usar o LoadTablesProvider para efetuar a carga de tabelas no Pinpad, todo o gerenciamento será feito internamente pela SDK.
  • Enum TABLES_NOT_FOUND foi depreciado por não ser mais disparado.
  • Enum NEED_LOAD_TABLES foi depreciado por não ser mais disparado.
  • Provider DownloadTablesProvider removido por não ter mais utilidade.
  • Corrigido bug onde o enum PINPAD_ALREADY_CONNECTED não era chamado ao conectar com um pinpad já conectado.
  • Corrigido bug no BluetoothConnectionProvider que causava crash no app se ocorresse um erro desconhecido.
  • Melhoria na detecção das bandeiras.
  • Corrigido problema na migration do banco de pinpads quando atualizado de versões muito antigas da SDK.
  • Essa versão corrige o problema de atualização da mobox/sweda.

v2.5.8

  • Timeout das requests http aumentado para 1 minuto
  • Corrigido bug da SDK deixar 2 ou mais stone codes iguais ficarem ativos no ActiveApplicationProvider
  • Adicionado stacktrace das exceptions no BluetoothConnectionProvider

v2.5.7

  • Provider CancellationProvider agora retorna o actionCode do cancelamento pelo método cancellationProvider.getActionCode() e o status do cancelamento pelo cancellationProvider.getResponseCodeEnum().
  • Métodos getTransactionStatus() e getStatusAsString() do CancellationProvider foram removidos em prol dos novos métodos citados acima.
  • Corrigido bug onde a mensagem de "Transação Aprovada" não aparecia no pinpad em algumas transações
  • Novo método activate(String stoneCode) para ativar e adicionar um novo stone code na lista de stone codes ativos.
  • Novo método deactivate(String stoneCode) para desativar somente um stone code da lista de ativos
  • Corrigido bug onde versões anteriores da SDK recebiam NPE em pinpads já salvos sem o campo novo acqidx do PinpadObject.

v2.5.6

Nova dependência OkHttp para substituir o HttpUrlConnection nas requests da SDK para nossos servidores;
Forçando TLS >= 1.2 em todas as requests da SDK;
Novo Provider CaptureTransactionProvider para capturar transações cuja requisição foi feita com captura posterior (setando stoneTransaction.capture = false);
Correção na efetuação de transações da bandeira SODEXO;
Melhoria na captura do CVM do pinpad, forçando o retorno;
Gerenciando o uso da chave Elavon/Stone internamente. Não é mais necessário setar Stone.setAcquirer(Acquirer acquirer). Se o Pinpad não tiver nenhuma das duas chaves, a SDK retornará o erro ErrorsEnum.PINPAD_WITHOUT_KEY durante a conexão do pinpad no BluetoothConnectionProvider;
Novo ambiente INTERNAL_CERTIFICATION para validação do app pelo time de integrações da Stone;

v2.5.5

  • Adicionado campo subMerchantAddress no TransactionObject para editar o endereço do lojista que está efetuando a transação;

  • Adicionado campo subMerchantCategoryCode no TransactionObject para editar o mcc do lojista que está efetuando a transação;

  • Adicionado campo shortName no TransactionObject para armazenar em banco opção setada no campo shortName do StoneTransaction;

  • Adicionado campo capture no TransactionObject para armazenar em banco opção setada no campo capture do StoneTransaction;

  • Construtor CancellationProvider(Context context, int idFromTransactionInBase, UserModel userModel) depreciado. Em vez dele, use CancellationProvider(Context context, TransactionObject transaction)

  • Correção no migration da tabela de Transaction onde algumas colunas não estavam sendo inseridas quando atualizadas de versões muito antigas da SDK;

  • Novos Enums de erro:
    /** SWIPE_INCORRECT, TOO_MANY_CARDS, UNKNOWN_ERROR, INTERNAL_ERROR, // Erros de impressão do POS PRINTER_PRINT_ERROR, PRINTER_BUSY_ERROR, PRINTER_INIT_ERROR, PRINTER_LOW_ENERGY_ERROR, PRINTER_OUT_OF_PAPER_ERROR, PRINTER_UNSUPPORTED_FORMAT_ERROR, // PED ERROR PED_PASS_KEY_ERROR, PED_PASS_USER_CANCELED_ERROR, PED_PASS_NO_PIN_INPUT_ERROR, PED_PASS_TIMEOUT_ERROR, // TRANS ERROR TRANS_APP_BLOCKED_ERROR, TRANS_SELECT_TYPE_USER_CANCELED_ERROR, TRANS_INVALID_AMOUNT_ERROR, TRANS_PASS_MAG_BUT_IS_ICC_ERROR, TRANS_NO_TRANS_TYPE_ERROR, TRANS_WRONG_TRANS_TYPE_ERROR, // CARD ERROR CARD_ERROR, CARD_READ_ERROR, CARD_READ_TIMEOUT_ERROR, CARD_READ_CANCELED_ERROR, CARD_REMOVED_ERROR, CARD_UNSUPPORTED_ERROR, TRANSACTION_OBJECT_NULL_ERROR,

  • android gradle build tools atualizado para 3.0.1

v2.5.4-1

  • Corrigido bug onde a transação era efetuada mas não era salva no banco.

v2.5.4

  • Correção na leitura de informações de cartões ELO.
  • Enum GENERIC_ERROR utilizado pelo ActiveApplicationProvider para quando o stone code não é reconhecido foi alterado para INVALID_STONE_CODE_OR_UNKNOWN.
  • Melhoria na estrutura interna e na performance do TransactionProvider.
  • Correção no envio do comprovante por email, colocando campo "assinatura" quando não era necessário.
  • Corrigido bug onde eventualmente o método getListOfErrors() retornava null

v2.5.3

  • Corrigido bug quando o BluetoothConnectionProvider disparava o evento onSuccess duplicado.
  • Corrigido bug da SDK baixando tabelas toda vez que abria o app.
  • Support Library atualizado para 27.0.2.

v2.5.2

  • Adicionado campo cancellationDate no TransactionObject para armazenar a data do cancelamento;
  • Adicionado campo lastConnectionAt no PinpadObject para armazenar a data da última vez que houve conexão com o pinpad;
  • Todos os erros durante a conexão com o device bluetooth que retornavam em dialog. Agora os erros são adicionados no array de erros do provider. Segue exemplo de uso:
BluetoothConnectionProvider.setConnectionCallback(new StoneCallbackInterface() {

    public void onSuccess() {
        //handle success
    }

    public void onError() {
        List<ErrorsEnum> listOfErrors = bluetoothConnectionProvider.getListOfErrors();
        if (listOfErrors.contains(ErrorsEnum.PINPAD_ALREADY_CONNECTED)) {
            //Do something
        } else if (listOfErrors.contains(ErrorsEnum.TIME_OUT)) {
            //Do something
        } else if (listOfErrors.contains(ErrorsEnum.DEVICE_NOT_COMPATIBLE)) {
            //Do something
        } else if (listOfErrors.contains(ErrorsEnum.IO_ERROR_WITH_PINPAD)) {
            //Do something
        }
    }
});
  • O método Stone.getPinpadListSize() não mais retorna null quando a lista de pinpads estiver vazia
  • Refatorado o gerenciamento das versões das tabelas, corrigindo o problema de carregar tabelas a cada transação;
  • Construtores LoadTablesProvider(Context, GcrRequestCommand, PinpadObject) e LoadTablesProvider(Context, String, PinpadObject) depreciados. Use LoadTablesProvider(Context context, PinpadObject) em vez disso;

v2.5.1

  • SendEmailProvider depreciado em prol do uso do SendEmailTransactionProvider
  • Adicionado flag merchantReceipt (default false) pra informar se é pra enviar a via do cliente ou do estabelecimento no SendEmailTransactionProvider
  • Método setEmailToSent e setEmailsToSent da classe SendEmailTransactionProvider depreciado, usar addTo()/setTo() para setar o destinatário do email
  • Possibilidade de definir o remetente do email no SendEmailTransactionProvider no método setFrom
  • Adicionado campo balance no TransactionObject pra transações voucher (SODEXO, Ticket, etc...)
  • Bug de cartões (principalmente HIPER) retornando UNKNOWN fixed
  • Novos métodos (findTransactionWithAuthorizationCode(), findTransactionWithInitiatorTransactionKey() e findTransactionByFilter() ) no TransactionDAO para busca das transações no banco local da SDK.

v2.5.0

  • Permissões android.permission.VIBRATE e android.permission.ACCESS_WIFI_STATE removidas da SDK
  • Novos campos cvm e serviceCode no TransactionObject
  • appcompat-v7 atualizado para 26.1.0
  • Enum de feedback CARD_REMOVE deprecated por não ser uma mensagem alterável.
  • Enum de feedback REVERSAL deprecated pois não mandamos nenhuma mensagem para o pinpad
  • Revertendo transações quando negado pelo cartão
  • Bug de mostrar mensagem RETIRE O CARTÃO em cartões mágnéticos fixed
  • gson atualizado de 2.8.1 para 2.8.2
  • Várias melhorias de performance

v2.4.8

  • Adicionando REVERSING_TRANSACTION_WITH_ERROR ao enum Action
  • Revertendo transações automaticamente, quando ocorrer um erro

🚧

As transações que não foram processadas por um erro de conexão devem ter canceladas utilizando o ReversalProvider

v2.4.7

  • Adicionando o status WITH_ERROR para transações com erro e que precisam ser canceladas (ex: timeout)
  • Adicionando o ReversalProvider para varrer o banco de transações e cancelar as transações com o status WITH_ERROR
  • Correção no cancelamento de transações
ReversalProvider reversalProvider = new ReversalProvider(this);
reversalProvider.setDialogMessage("Cancelando transação com erro");
reversalProvider.isDefaultUI();
reversalProvider.setConnectionCallback(new StoneCallbackInterface() {
      @Override
      public void onSuccess() {
        // code code code
      }

      @Override
      public void onError() {
        // code code code
      }
});

v2.4.6

  • Downgrade da targetSdkVersion de 26 para 25 devido a problemas de compatibilidade com APIs antigas
  • URL de ativação do ambiente CERTIFICATION alterada
  • Corrigido bug ao executar a migration de versões anteriores à 2.3.0
  • Downgrade da XStream para 1.4.7 devido a problemas com Java8 nas versões mais novas
  • Remoção da permissão READ_PHONE_STATE da SDK!

v2.4.5

Localização do BluetoothConnectionProvider corrigida.

v2.4.4

  • Melhoria e update das dependências
  • Personalização das mensagens exibidas no Pinpad. No TransactionProvider, dois novos métodos foram implementados
  • Novos Métodos:
setPinpadFeedbackMessage(PinpadFeedback key, String message) para customizar uma mensagem específica
setPinpadFeedbackMessages(Map<PinpadFeedback, String> pinpadFeedbackMessages) para personalizar todas as mensagens de uma vez
Mensagens disponíveis para personalização e suas mensagens default (em comentário):

PinpadFeedback.DENIED //"TRANSAC NEGADA"
PinpadFeedback.PROCESSING //"PROCESSANDO.."
PinpadFeedback.APPROVED //"TRANSAC APROVADA"
PinpadFeedback.CARD_REMOVE //"RETIRE O CARTAO"
PinpadFeedback.CARD_WITH_PROBLEMS //"ICC COM PROBLEMAS"
PinpadFeedback.DENIED_BY_NET //"TRANSAC NEGADA PELA REDE"
PinpadFeedback.CARD_INVALIDATED //"CARTAO ESTA INVALIDADO"
PinpadFeedback.DENIED_BY_CARD //"TRANSAC NEGADA PELO CARTAO"

v2.4.2

  • Melhorias de perfomance

v2.4.1

  • Adicionando suporte para conexões via cabo (ethernet)

  • Campo signature em caso de necessidade de armazenar a assinatura da transação.

  • Melhorias de perfomance

v2.4.0

  • Agora a SDK está em no artifactory! siga as instruções de instalação no readme.

  • Possibilidade de escolher o uso de Pinpads Elavon (que não possuem chaves Stone)

  • Todos os Providers recebem Context em vez de Activity no construtor

  • Nova interface StoneActionCallback com um método void onStatusChanged(Action action) para receber eventos adicionais do provider. Esta interface herda de StoneCallbackInterface, então seu uso é opcional. Por enquanto existem somente eventos para transação, mas em breve terá eventos para outros providers.

Eventos disponíveis:

  • TRANSACTION_WAITING_CARD Esperando cartão ser inserido/passado

  • TRANSACTION_WAITING_PASSWORD Esperando senha do cartão (se houver)

  • TRANSACTION_SENDING Enviando transação para o servidor

  • TRANSACTION_WAITING_REMOVE Esperando a remoção do cartão do pinpad (se for chip)

v2.3.2

  • Agora você pode desativar a SDK usando deactivate() em ActiveApplicationProvider

  • Método execute() do ActiveApplicationProvider descontinuado. Em vez disso, use o método activate(List stoneCodes)

  • Corrigido bug em LoadTablesProvider no qual pedia um objeto desnecessário no construtor.

  • Novo campo entryMode no model da transação informando se a transação foi efetuada com chip ou tarja.

  • Campos e métodos descontinuados.

v2.3.1

  • Corrigido problema na seleção do ambiente de SANDBOX

Para atualizar o projeto para transacionar no ambiente de integração deve-se fazer os seguintes passos:

  • Baixar o arquivo sdk_stone_2.3.1.aar no nosso repositório do GitHub

  • Após baixado o arquivo deve ser colocado na pasta "SEU_PROJETO"\app\libs

  • Com seu projeto aberto acrescente o código abaixo:

No build.grandle (Project):

allprojects {
    repositories {
        jcenter()
        flatDir {
            dirs 'libs'
        }
    }
}

No build.grandle (Module:App):

dependencies {
    compile name: 'sdk_stone_2.3.1', ext: 'aar'
}

🚧

É recomendado utilizar o comando Clean Project e Rebuild Project antes dos testes caso esteja utilizando a IDE Android Studio.

v2.3.0

  • Nova forma de instalação da lib, utilizando aar, em breve teremos um repositório para distribuir nossas bibliotecas!
  • Agora você pode definir qual ambiente você quer usar em runtime, usando:
// para integração
Stone.setEnvironment(Environment.SANDBOX)

// produção
Stone.setEnvironment(Environment.PRODUCTION)
  • Stone.developerMode() deprecated em prol do novo modo de escolha de ambiente mencionado acima.
  • Suporte para novas bandeiras: Elo, Alelo. (Verifique disponibilidade da bandeira no seu stone code com o time de integrações)
  • Correções no envio de algumas transações para stone.
  • Bug ao desconectar o pinpad fixed.

v2.2.10

  • Hot fix do endpoint do TMS.
  • Correções de erro na ativação e download das tabelas AID e CAPK.

v2.2.9

  • Correção do ambiente de homologação.

v2.2.8

  • Suportando a bandeira Ticket.

v2.2.7

  • Correções do erro ClassNotFoundExceptionem algumas classes da SDK.

v2.2.6

  • Opção de enviar uma transação não capturada:
StoneTransaction stoneTransaction = new StoneTransaction();
// set dos valores da transação
stoneTransaction.disableCapture(); // desabilita a captura da transação

🚧

Default

Por padrão, a transação é capturada!

v2.2.5

  • Transações com tarja sem senha e com senha.
  • Correções nas conexões com a internet.