Releases

Esta página reúne todas as atualizações e versões mais recentes do SDK.



v1.0.14

Não há breaking changes nessa versão do ponto de vista de implementação.

Essa é a versão mínima para o funcionamento do Multi Contas.

Destaques

  • Habilitado funcionamento do Multi Contas. O processo é realizado completamente pela própria SDK, não há impacto na implementação;
  • Melhoria nas verificações do status do estabelecimento, prevenindo que o erro "Este estabelecimento não está mais ativo para realizar transações." seja apresentado de forma incorreta;
  • Disponibilização de campos/informações adicionais no PayOsSdkTransactionStore.
    • Foram adicionados os seguintes campos:
      • auto (Código de autorização), String? = null
        • Já estava disponível através do campo authAcquirer;
      • aid: AID, String? = null
      • arqc: ARQC, String? = null
    • IMPORTANTE: Em Sandbox/Debug, esses campos provavelmente serão entregues sempre como null


v1.0.13

Não há breaking changes nessa versão do ponto de vista de implementação.

Destaques

  • Alteração da SDK Android mínima suportada: Agora, o minSdk é 23, habilitando a SDK para ser utilizada em terminais com Android 6 (A910);
  • Melhoria na reutilização do banco de dados, evitando erros de database lock;


v1.0.12

Não há breaking changes nessa versão do ponto de vista de implementação.

Destaques

  • Campo expiration do Pix: O campo expiration é uma data futura do momento da criação do Pix, sendo AGORA + 5 minutos;
  • Adicionado o método payOsSdkInstance.isInitialized, que retorna um Boolean indicando se a SDK está inicializada ou não;


v1.0.11

Não há breaking changes nessa versão do ponto de vista de implementação.

Destaques

  • Campo expiration do Pix: O campo expiration é uma data futura do momento da criação do Pix, sendo AGORA + 5 minutos; Além disso, há um offset de 1 minuto para o processo de verificação do status da transação. Sendo assim, o tempo total de verificação do status da transação é de 6 minutos.
  • Ao chamar payOsSdkInstance.abort() quando uma transação Pix está processando, a transação é CANCELADA e o callback onApproved é chamado com o objeto atualizado da transação.
📘

Aconselhável refazer o processo de init



v1.0.10

Foram realizadas melhorias para evitar que mais de um fluxo de pagamento possa ser executado ao mesmo tempo. Sendo assim, um novo fluxo só pode ser iniciado quando o anterior terminar.

❗️

É de extrema importância que ao "sair de/cancelar" um fluxo de pagamento, o método payOsSdkInstance.abort() seja executado. Caso contrário, ações podem ficar bloqueadas e pode ser necessário reiniciar o app.

🚧

Para todos os métodos que precisam do ConnectorCallback, sempre aguarde o retorno da SDK nos callbacks de onError ou onApproved.

Breaking changes:

  • Upgrade de versão do banco de dados: Qualquer registro de transações existentes até a versão v1.0.9 não estará mais disponível a partir desta versão;
  • Campo expiration do Pix: O campo expiration agora é um campo Long no formato de milissegundos (ms). Esse campo será sempre uma data futura do momento da criação da transação Pix;


v1.0.9

Não há breaking changes nessa versão do ponto de vista de implementação.

Fizemos melhorias, principalmente, relacionadas ao consumo de dados do PayOsSdk. Além disso, essa versão corrige um problema que acontecia na primeira chamada ao método de ativação, logo após o app ser instalado.

Além disso, adicionamos um novo método no PayOsSdk, chamado updateTerminalConfigurations.

Este método é responsável por atualizar os dados do estabelecimento ativo, atualizar permissões (como, por exemplo, permissão de estorno) e outros dados de personalização do marketplace (como, por exemplo, logo do recibo). Além disso, através dele, também atualiza-se dados usados para verificar a integração com o terminal.

Aconselha-se expor, no aplicativo, um botão que chame este método, de forma manual.



v1.0.8

Não há breaking changes nessa versão do ponto de vista de implementação.

Essa é a primeira versão que será disponibilizada através de repositório Maven.

Leia atentamente a página SmartPOS -> Desenvolvimento -> Configuração. Nela foram adicionadas todas as informações necessárias para que seu app passe a utilizar nossos repositórios Maven para obter a PayOsSdk.


Destaques

Em settings.gradle.kts, será necessário adicionar os repositórios Maven da PayOsSdk.

// Maven PayOsSdkDebug
maven {
    url = uri("URL_MAVEN_PAYTIME_PAYOSSDK_DEBUG")
    credentials {
        username = "USERNAME_MAVEN_PAYTIME_PAYOSSDK_DEBUG"
        password = "PASSWORD_MAVEN_PAYTIME_PAYOSSDK_DEBUG" 
    }
    authentication {
        create<BasicAuthentication>("basic")
    }
}

No arquivo build.gradle.kts da sua aplicação, simplificar o bloco dependencies. Agora é necessário adicionar somente a dependência do PayOsSdk (Debug e/ou Release). Todas as outras dependêncais são disponibilizadas automaticamente pelo Maven.

Como é agora (com Maven):

dependencies {
    // Outras dependencias do seu app
  
    // Implementacao do PayOsSdkDebug
    debugImplementation("com.paytime:payossdk-debug:1.0.8")
    
    // Implementacao do PayOsSdkRelease
    // Apos a homologacao e receber as credencias do repositorio release
    // voce podera adicionar a dependencia de release
    releaseImplementation("com.paytime:payossdk-release:1.0.8")
}

Como era antes (sem Maven):

dependencies {
   // GSON
   implementation("com.google.code.gson:gson:2.13.2")

   // Room Database
   val roomVersion = "2.8.4"
   implementation("androidx.room:room-runtime:$roomVersion")
   kapt("androidx.room:room-compiler:$roomVersion")
   implementation("androidx.room:room-ktx:$roomVersion")

   // Retrofit
   implementation("com.squareup.retrofit2:retrofit:2.9.0")
   implementation("com.squareup.retrofit2:converter-gson:2.9.0")
   implementation("com.squareup.retrofit2:adapter-rxjava2:2.3.0")
   implementation("io.reactivex.rxjava2:rxjava:2.1.14")
   implementation("io.reactivex.rxjava2:rxandroid:2.0.2")
   implementation("com.squareup.okhttp3:okhttp:4.9.3")
   implementation("com.squareup.okhttp3:logging-interceptor:4.9.3")

   // Logger
   implementation("com.github.lucasAguiar11:kotlin-baselime-logger:1.4.0")

   // DataStore
   implementation("androidx.datastore:datastore:1.2.0")
   implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0")
   // Local AARs dependencies
   // Create a "libs" folder inside the "app" module and add the files
   implementation(
       files(
           "libs/BCPax_v2.12_13112025_release.aar",
           "libs/TectoyLib_v1.4.9_release.aar",
           "libs/dm_sdk-debug.aar",
           "libs/payment_tectoy_pos-debug.aar",
           "libs/payossdk-dev-debug.aar",
       )
   )
}


v1.0.7

Não há breaking changes nessa versão.



v1.0.6

Não há breaking changes nessa versão.



v1.0.5

Não há breaking changes nessa versão, porém é a versão que possui diversas melhorias de segurança para a operação e é de suma importância que seja utilizada.



v1.0.4

Este guia tem como objetivo auxiliá-lo na migração da versão v1.0.3 para a v1.0.4, uma vez que essa atualização inclui alterações que podem impactar ou quebrar sua integração atual.


1) Alterações em permissões

1.1) A permissão READ_PRIVILEGED_PHONE_STATE deve ser removida do arquivo AndroidManifest.xml da sua aplicação. Ela não é mais necessária e não impacta na utilização da SDK.


2) Instância de pagamento (PayOsSdkPayment)

2.1) Houve uma alteração que quebra a integração com SDK. A instância principal, de pagamentos, foi renomeada de PayOsSdk para PayOsSdkPayment. Não houve nenhuma alteração na interface e nem nos métodos disponíveis.


3) Instância de dispositivo (PayOsSdkDevice)

3.1) Todos os métodos da interface foram alterados para melhor lidar com tratamento de erros, fazendo uso da union Result.

3.2) Novos métodos foram adicionados à interface:

fun getDeviceInfo(): Result<PayOsSdkDeviceInfo>
fun getModel(): Result<String>
fun getSerialNumber(): Result<String>

4) Instância de impressora (PayOsSdkPrinter)

4.1) Todos os métodos da interface foram alterados para melhor lidar com tratamento de erros, fazendo uso da union Result.



v1.0.3

Este guia tem como objetivo auxiliá-lo na migração da versão v1.0.2 para a v1.0.3, uma vez que essa atualização inclui alterações que podem impactar ou quebrar sua integração atual.


1) Alterações em dependências

1.1) No arquivo build.gradle.kts da sua aplicação, remover o plugin id("kotlin-kapt") e adicionar o plugin id("com.google.devtools.ksp") version "2.3.5".

1.2) Dentro do bloco android do arquivo build.gradle.kts, adicionar o seguinte bloco:

kotlin {
    jvmToolchain(11)
}

1.3) Atualizar a versão do Room de 2.7.2 para 2.8.4.

1.4) Atualizar a versão do Datastore de 1.1.7 para 1.2.0.


2) Alterações em permissões

2.1) Adicionar a permissão abaixo ao arquivo AndroidManifest.xml da sua aplicação:

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" tools:ignore= "ProtectedPermissions" />

3) Alterações na transação

3.1) Houve uma alteração nos parâmetros do método makeTransaction. O campo typeTransaction agora é do tipo PayOsSdkTransactionType.

3.2) O retorno do callback de onApproved dos métodos makeTransaction e revertTransaction agora é do tipo PayOsSdkTransactionStore.

3.3) O retorno do callback de onApproved do método listTransactions agora é do tipo List<PayOsSdkTransactionStore>.

3.4) O campo transactionStatus (entidade PayOsSdkTransactionStore) agora é do tipo PayOsSdkTransactionStatus e foi simplificado e agora apresenta somente os
seguintes valores possíveis: PENDING, CONFIRMED, CANCELLED, FAILED, REFUNDED.

  • PENDING - transação pendente (ainda não paga/cancelada);
  • CONFIRMED - transação paga;
  • CANCELLED - transação cancelada ou estornada (somente cartão);
  • REFUNDED - transação estornada;
  • FAILED - apenas para transações PIX, quando há falha ao criar a transação junto ao processador de pagamentos;

3.5) O campo typeTransaction (entidade PayOsSdkTransactionStore) agora é do tipo PayOsSdkTransactionType e agora apresenta somente os seguintes valores possíveis: PIX, CREDIT, DEBIT, NONE.

3.6) A nova entidade PayOsSdkTransactionStore conta com novos campos que padronizam transações PIX e CREDIT/DEBIT e tornam possível verificações sobre o status da sincronização entre transações no dispositivo e em nuvem.

  • expiration - existe somente para transações do tipo PIX e indicam a data/hora da
    expiração do QR Code;
  • gatewayKey - é o ID da transação, tanto local quanto em nuvem. Todos as ações que
    possam ser realizadas em cima de um único item necessitam do gatewayKey para
    identificar esse item, tanto no dispositivo quanto em nuvem.
  • syncedToCloudAt - indica a data/hora em que a transação foi sincronizada com a
    nuvem. Quando for null, pode-se considerar que a transação não foi sincronizada (por diversos motivos, como erro de network, por exemplo). É possível realizar uma sincronização manual através do método syncTransactionToCloud.
  • cancelledAt - indica a data/hora em que uma transação de cartão foi estornada/cancelada (através do método revertTransaction). Quando o cancelledAt existir, o campo syncedToCloudAt deve ser maior (mais recente) que cancelledAt, para indicar que a transação está sincronizada com a nuvem. Caso contrário, é necessário sincronizar manualmente.


v1.0.2

Adicionados os métodos tableLoad(), getActiveEstablishmentDetails() e listTransactions() na interface PayOsSDKPayment.



v1.0.0

Release inicial.



Did this page help you?