Requisitos
Aparelho, aplicativo m-SiTef, credenciais e configuração de projeto necessários para integrar o SDK SoftPOS
Em construção
Aparelho
| Requisito | Valor |
|---|---|
| Sistema | Android 12 (API 31) ou superior |
| Hardware | NFC habilitado |
| iOS | Não suportado |
O AAR do SDK compila com minSdk 24 — ele pode ser adicionado a apps que suportam
Android 7 sem quebrar o build. A venda, porém, exige Android 12, porque é o requisito
do m-SiTef Tap on Phone. Cheque isso em runtime com isAndroidVersionSupported() antes de
mostrar a opção de cobrança.
Aparelhos com root, bootloader destravado ou sem os requisitos de integridade do Google podem ser recusados pelo próprio m-SiTef no momento da transação, mesmo rodando Android 12+.
Aplicativo m-SiTef
O m-SiTef é um aplicativo separado, da Fiserv, instalado pela Play Store. Ele não pode ser embarcado no seu APK — é regra da certificação PCI MPoC.
| Item | Valor |
|---|---|
| Package | br.com.softwareexpress.sitef.msitef |
| Action da Intent | br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF |
O SDK oferece isMSitefInstalled() e playStoreIntent() para o seu app detectar a
ausência e encaminhar o usuário à loja.
Credenciais
Peça ao time da Eagle antes de começar:
| Credencial | Onde é usada | Observação |
|---|---|---|
apiKey do tenant | Inicialização do SDK | Uma por ambiente (sandbox e produção). Enviada como Authorization: Bearer ao backend Eagle |
| URL do backend Eagle | Inicialização do SDK | Ambiente sandbox ou produção |
sellerToken | Ativação do vendedor | Emitido pelo backend da sua empresa, não pela Eagle — é o que prova que aquele vendedor é seu |
As credenciais do SiTef (empresaSitef, enderecoSitef, tokenRegistroTls) não entram
nessa lista de propósito: o app nunca as recebe para guardar. Elas são resolvidas pelo
backend Eagle a cada venda e usadas apenas para montar a Intent.
Nunca versione a apiKey do tenant no repositório do app nem a embuta em texto plano no
APK. Trate-a como segredo de build.
Configuração do projeto Android
O manifesto do AAR já declara o que a integração precisa, e o merge acontece automaticamente no seu app:
<uses-permission android:name="android.permission.INTERNET" />
<!-- Necessário no Android 11+ para resolver o m-SiTef, que é um app externo. -->
<queries>
<intent>
<action android:name="br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF" />
</intent>
<package android:name="br.com.softwareexpress.sitef.msitef" />
</queries>O AAR também carrega regras de ProGuard para consumidores (consumer-rules.pro), então
apps com minificação ativa não precisam de configuração extra.
Sem o bloco <queries>, isMSitefInstalled() retorna false em Android 11+ mesmo com o
m-SiTef instalado — o sistema esconde a existência do pacote. Se você sobrescreve o
manifesto ou usa tools:node="remove", confira o manifesto final gerado (app/build/outputs/logs).
Fluxo de onboarding do vendedor
A ativação é feita uma vez por vendedor/aparelho. O posId devolvido identifica o PDV
(sub-estabelecimento) e é o que amarra cada venda ao vendedor certo.