Releases: stone-payments/sdk-android
Releases · stone-payments/sdk-android
3.0.1
v3.0.0
Novas Implementações
- Android gradle build tools atualizado para 3.2.1
- Adicionado método
getUserModel()
noTransactionObject
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)
noSendEmailTransactionProvider
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 enumInstalmentTransactionEnum
- 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
emStone
. 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 oTransactionObject
com as informações necessárias - Todos os erros que geravam o Enum
GENERIC_ERROR
foram movidos paraUNKNOWN_ERROR
- Construtor
ValidateTransactionByCardProvider(Context, PinpadObject, UserModel)
depreciado, useValidateTransactionByCardProvider(Context, PinpadObject)
- Método
getTransactionsWithCurrentCard
deValidateTransactionByCardProvider
foi removido. UseTransactionsByCardProvider
- Classe
SendEmailProvider
removida. UseSendEmailTransactionProvider
- Enum
ErrorsEnum.TRANSACTION_NOT_APPROVED
disparado pelos providers de cancelamento e captura foi renomeado paraErrorsEnum.INVALID_TRANSACTION_STATUS
- Método
isMerchantReceipt()
,setMerchantReceipt(boolean)
doSendEmailTransactionProvider
removidos. UsesetReceiptType(ReceiptType)
- Construtor
SendEmailTransactionProvider(Context, UserModel, TransactionObject)
depreciado. UseSendEmailTransactionProvider(Context, TransactionObject)
TRANSACTION_WAITING_REMOVE
renomeado paraTRANSACTION_REMOVE_CARD
no emumAction
AMERICAN_EXPRESS
renomeado paraAMEX
no enumCardBrandEnum
- Classe
EmailClient
removida - Atributo
userModelSale
deTransactionObject
foi renomeado parasaleAffiliationKey
- Atributo
merchantSak
deUserModel
foi renomeado parasaleAffiliationKey
- Classe
Contact
foi movida - Na classe
TransactionProvider
:- Novo construtor
TransactionProvider(Context, TransactionObject, UserModel, PinpadObject)
- Método
getAuthorizationCode()
removido. A informação já retornada noTransactionObject
- Método
getGcrRequestCommand()
removido - Método removido
getStatusAsString
, você pode fazer o parse à sua maneiro doTransactionStatus
que fica noTransactionObject
- Método
writePinpadDisplay
removido. Use o providerDisplayMessageProvider
- Novo construtor
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
🇧🇷
- 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
🇧🇷
- 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
2.5.7
🇧🇷
- Provider
CancellationProvider
agora retorna o actionCode do cancelamento pelo métodocancellationProvider.getActionCode()
e o status do cancelamento pelocancellationProvider.getResponseCodeEnum()
. - Métodos
getTransactionStatus()
egetStatusAsString()
doCancellationProvider
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
doPinpadObject
.
🇺🇸
- Provider
CancellationProvider
now returns the cancellation actionCode viacancellationProvider.getActionCode()
and cancellation status viacancellationProvider.getResponseCodeEnum()
. - Methods
getTransactionStatus()
andgetStatusAsString()
fromCancellationProvider
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
onPinpadObject
.
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 (setandostoneTransaction.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 erroErrorsEnum.PINPAD_WITHOUT_KEY
durante a conexão do pinpad noBluetoothConnectionProvider
; - Novo ambiente
INTERNAL_CERTIFICATION
para validação do app pelo time de integrações da Stone; - Corrigido bug quando o
TransactionProvider
acionavaonError()
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 (settingstoneTransaction.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 theErrorsEnum.PINPAD_WITHOUT_KEY
error while connecting the pinpad onBluetoothConnectionProvider
; - New environment
INTERNAL_CERTIFICATION
for app validation by Stone integrations team; - Fixed bug when
TransactionProvider
was firingonError()
if the transaction was finished and the client was taking more than 30 seconds to remove the card.
v2.5.5
🇧🇷
- Adicionado campo
subMerchantAddress
noTransactionObject
para editar o endereço do lojista que está efetuando a transação; - Adicionado campo
subMerchantCategoryCode
noTransactionObject
para editar o mcc do lojista que está efetuando a transação; - Adicionado campo
shortName
noTransactionObject
para armazenar em banco opção setada no camposhortName
doStoneTransaction
; - Adicionado campo
capture
noTransactionObject
para armazenar em banco opção setada no campocapture
doStoneTransaction
; - Construtor
CancellationProvider(Context context, int idFromTransactionInBase, UserModel userModel)
depreciado. Em vez dele, useCancellationProvider(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
inTransactionObject
to change the address of the merchant who is transacting; - Added field
subMerchantCategoryCode
inTransactionObject
to change the mcc of the merchant who is transacting; - Added field
shortName
inTransactionObject
to store in database the option set on fieldshortName
fromStoneTransaction
; - Added field
capture
inTransactionObject
to store in database the option set on fieldcapture
fromStoneTransaction
; - Constructor
CancellationProvider(Context context, int idFromTransactionInBase, UserModel userModel)
deprecated. UseCancellationProvider(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
v2.5.4
🇧🇷
- Correção na leitura de informações de cartões ELO.
- Enum
GENERIC_ERROR
utilizado peloActiveApplicationProvider
para quando o stone code não é reconhecido foi alterado paraINVALID_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()
retornavanull
🇺🇸
- Fixed minor bug when reading ELO cards.
- Enum
GENERIC_ERROR
used byActiveApplicationProvider
when the stone code isn't valid was changed toINVALID_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 returningnull
.
v2.5.3
🇧🇷
- Corrigido bug quando o
BluetoothConnectionProvider
disparava o eventoonSuccess
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 firingonSuccess
event twice - Bug downloading tables every time app opens fixed.
- Support Library updated to
27.0.2
.