Skip to content

Releases: stone-payments/sdk-android

3.0.1

25 Jan 22:56
d0383f4
Compare
Choose a tag to compare

Correções

  • Correção do tratamento de Timeouts na comunicação com Bluetooth

v3.0.0

18 Jan 22:15
d0383f4
Compare
Choose a tag to compare

Novas Implementações

  • Android gradle build tools atualizado para 3.2.1
  • Adicionado método getUserModel() no TransactionObject que retorna o objeto referente ao lojista que efetuou a transação (em caso de múltiplos stone codes ativos)
  • Adicionado método setCompanyLogo(Bitmap companyLogo) no SendEmailTransactionProvider para substituir a logo padrão da Stone por uma personalizada
  • Adicionada variável boolean interest para verificar se a parcela é com ou sem juros no enum InstalmentTransactionEnum
  • Adicionado COMMUNICATION_ERROR no enum `PinpadFeedback
  • Adicionada classe TransactionsByCardProvider para obter as transações pelo PAN
  • Adicionado método getPinpadObjectList à Stone
  • Adicionado método setAppName em Stone. Obrigatório o preenchimento para transacionar.
  • Kotlin 1.2.51 adicionado às dependências
  • OkHttp 3.9.1 adicionado às dependências
  • Adicionado novos ENUMS de erro:
    • CARD_READ_ERROR - Erro de leitura do cartão
    • TRANSACTION_OBJECT_NULL_ERROR - TransactionObject passado para o provider
    • INTERNAL_ERROR - Erro interno no SDK
    • UNKNOWN_ERROR - Erro desconhecido
    • EMAIL_RECIPIENT_EMPTY - Nenhum destinatário do email foi adicionado
    • APPNAME_NOT_SET - AppName não foi setado na classe Stone
    • TRANSACTION_FALLBACK_STARTED - Erro adicional indicando que o fluxo de fallback foi iniciado
    • TRANSACTION_FALLBACK_TIMEOUT - Erro adicional indicando que o tempo de espera de um cartão de tarja foi expirado.
    • SDK_VERSION_OUTDATED - Erro de versão do SDK abaixo da mínima obrigatória

Alterações

  • Adicionado o Enum RECONNECT_WITH_PINPAD em ErrorsEnum
  • Adicionados os seguintes Enums em CancellationReasonEnum: CUSTOMER_CANCELLATION, UNSPECIFIED, SUSPECTED_MALFUNCTION, UNKNOWN.
  • Classe StoneTransaction removida. Para fazer transações, preencha diretamente o TransactionObject com as informações necessárias
  • Todos os erros que geravam o Enum GENERIC_ERROR foram movidos para UNKNOWN_ERROR
  • Construtor ValidateTransactionByCardProvider(Context, PinpadObject, UserModel) depreciado, use ValidateTransactionByCardProvider(Context, PinpadObject)
  • Método getTransactionsWithCurrentCard de ValidateTransactionByCardProvider foi removido. Use TransactionsByCardProvider
  • Classe SendEmailProvider removida. Use SendEmailTransactionProvider
  • Enum ErrorsEnum.TRANSACTION_NOT_APPROVED disparado pelos providers de cancelamento e captura foi renomeado para ErrorsEnum.INVALID_TRANSACTION_STATUS
  • Método isMerchantReceipt(), setMerchantReceipt(boolean) do SendEmailTransactionProvider removidos. Use setReceiptType(ReceiptType)
  • Construtor SendEmailTransactionProvider(Context, UserModel, TransactionObject) depreciado. Use SendEmailTransactionProvider(Context, TransactionObject)
  • TRANSACTION_WAITING_REMOVE renomeado para TRANSACTION_REMOVE_CARD no emum Action
  • AMERICAN_EXPRESS renomeado para AMEX no enum CardBrandEnum
  • Classe EmailClient removida
  • Atributo userModelSale de TransactionObject foi renomeado para saleAffiliationKey
  • Atributo merchantSak de UserModel foi renomeado para saleAffiliationKey
  • Classe Contact foi movida
  • Na classe TransactionProvider:
    • Novo construtor TransactionProvider(Context, TransactionObject, UserModel, PinpadObject)
    • Método getAuthorizationCode() removido. A informação já retornada no TransactionObject
    • Método getGcrRequestCommand() removido
    • Método removido getStatusAsString, você pode fazer o parse à sua maneiro do TransactionStatus que fica no TransactionObject
    • Método writePinpadDisplay removido. Use o provider DisplayMessageProvider

Melhorias

  • Melhorias no layout do email do comprovante.

Correções

  • Correção do bug onde o status TRANSACTION_WAITING_PASSWORD era chamado antes do pinpad estar pronto para receber a senha
  • Correção do bug onde a carga de tabela falhava no dispositivo Gertec Mobi Pin 10
  • Correção do bug onde o SDK retornava um erro ao tentar transacionart com cartões provisórios de tarja

v2.6.0

23 Oct 00:55
ea3866b
Compare
Choose a tag to compare

🇧🇷

  • Corrigido bug onde informações novas vindas de qualquer request travava a SDK, não retornando um status de erro.
  • Novos campos no StoneTransaction para editar as informações do lojista que está efetuando a transação (modelo subadquirente):
stoneTransaction.setSubMerchantCity("city") //Cidade do sub-merchant
stoneTransaction.setSubMerchantPostalAddress("00000000") //CEP do sub-merchant (Apenas números)
stoneTransaction.setSubMerchantRegisteredIdentifier("00000000") // Identificador do sub-merchant
stoneTransaction.setSubMerchantTaxIdentificationNumber("33368443000199") // CNPJ do sub-merchant (apenas números)

🇺🇸

  • Fixed bug where new information coming from any request was freezing the SDK, not returning any error status.
  • New fields in StoneTransaction to change merchant info that is doing the transaction (subacquirer model):
stoneTransaction.setSubMerchantCity("city") // sub-merchant city
stoneTransaction.setSubMerchantPostalAddress("00000000") // sub-merchant postal code (only numbers)
stoneTransaction.setSubMerchantRegisteredIdentifier("00000000") // sub-merchant identifier
stoneTransaction.setSubMerchantTaxIdentificationNumber("33368443000199") // sub-merchant Tax Identification (only numbers)

v2.5.9

03 May 14:29
3d84523
Compare
Choose a tag to compare

🇧🇷

  • 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 depreciado por não ser mais disparado.
  • Enum NEED_LOAD_TABLES 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.

🇺🇸

  • Is no longer required to use LoadTablesProvider to load tables on pinpad, the SDK will handle everything internally.
  • Enum TABLES_NOT_FOUND deprecated for not being triggered anymore.
  • Enum NEED_LOAD_TABLES deprecated for not being triggered anymore.
  • Provider DownloadTablesProvider removed because it is no longer useful.
  • Fixed bug where enum PINPAD_ALREADY_CONNECTED was not called when connecting with a pinpad already connected.
  • Fixed bug in BluetoothConnectionProvider which caused crash in the app if an unknown error occurred.
  • Improvement on card brands detection.
  • Fixed Pinpad database migration problem when upgrading from older SDK versions.

v2.5.7

23 Mar 20:43
Compare
Choose a tag to compare

2.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.

🇺🇸

  • Provider CancellationProvider now returns the cancellation actionCode via cancellationProvider.getActionCode() and cancellation status via cancellationProvider.getResponseCodeEnum().
  • Methods getTransactionStatus() and getStatusAsString() from CancellationProvider were removed for the use of the methods mentioned above.
  • Fixed bug where "Transação Aprovada" message did not appear on the pinpad in some transactions.
  • New method activate(String stoneCode) to activate and add a new stone code in the list of active stone codes.
  • New method deactivate(String stoneCode) to deactivate only one stone code from active list.
  • Fixed bug where earlier SDK versions was getting NPE on pinpads already stored without the new field acqidx on PinpadObject.

v2.5.6

27 Feb 17:35
Compare
Choose a tag to compare

🇧🇷

  • 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;
  • Corrigido bug quando o TransactionProvider acionava onError() se a transação fosse finalizada e o cliente demorava mais do que 30 segundos para remover o cartão;

🇺🇸

  • New dependency OkHttp to replace HttpUrlConnection requests to our servers;
  • Forcing TLS >= 1.2 in all SDK requests;
  • New provider CaptureTransactionProvider to capture transactions which request was made without capture (setting stoneTransaction.capture = false);
  • Fix in transactions with capture of brand SODEXO;
  • CVM capture from pinpad improved, forcing the return;
  • Managing the use of the Elavon/Stone key internally. It is no longer necessary to set Stone.setAcquirer (Acquirer acquirer). If the Pinpad doesn't have any of the two keys, the SDK will return the ErrorsEnum.PINPAD_WITHOUT_KEY error while connecting the pinpad on BluetoothConnectionProvider;
  • New environment INTERNAL_CERTIFICATION for app validation by Stone integrations team;
  • Fixed bug when TransactionProvider was firing onError() if the transaction was finished and the client was taking more than 30 seconds to remove the card.

v2.5.5

05 Feb 05:36
e3b4d4d
Compare
Choose a tag to compare

🇧🇷

  • 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 criadas quando atualizadas de versões muito antigas da SDK;

🇺🇸

  • Added field subMerchantAddress in TransactionObject to change the address of the merchant who is transacting;
  • Added field subMerchantCategoryCode in TransactionObject to change the mcc of the merchant who is transacting;
  • Added field shortName in TransactionObject to store in database the option set on field shortName from StoneTransaction;
  • Added field capture in TransactionObject to store in database the option set on field capture from StoneTransaction;
  • Constructor CancellationProvider(Context context, int idFromTransactionInBase, UserModel userModel) deprecated. Use CancellationProvider(Context context, TransactionObject transaction) instead;
  • Migration fix on Transaction table where some columns wasn't being created when the SDK is updated from very old versions.

v2.5.4-1

24 Jan 18:25
232bf78
Compare
Choose a tag to compare

🇧🇷

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

🇺🇸

  • Fixed bug when the transaction was made but wasn't being saved in db

v2.5.4

23 Jan 23:25
Compare
Choose a tag to compare

🇧🇷

  • 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

🇺🇸

  • Fixed minor bug when reading ELO cards.
  • Enum GENERIC_ERROR used by ActiveApplicationProvider when the stone code isn't valid was changed to INVALID_STONE_CODE_OR_UNKNOWN.
  • Improvement of Internal structure and performance of TransactionProvider.
  • Fix on transaction receipt sender, putting "signature" field when it wasn't needed.
  • Fixed bug when eventually the getListOfErrors() was returning null.

v2.5.3

29 Dec 20:32
Compare
Choose a tag to compare

🇧🇷

  • 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.

🇺🇸

  • Fixed bug when BluetoothConnectionProvider was firing onSuccess event twice
  • Bug downloading tables every time app opens fixed.
  • Support Library updated to 27.0.2.