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.
Updated about 4 hours ago