Registro do Terminal (Ativação)
Há dois fluxos de credenciamento. O fluxo atual é CNPJ + Código de Verificação (register); o fluxo email + senha (authenticate) é mantido para reuso futuro.
Registro (CNPJ + Token)
Os fields são preenchidos pelo operador conforme o registrationSchema retornado em getTerminalConfig. A chave de cada campo é o id definido no schema (ex.: "cnpj", "token"). O registro vincula o terminal a um único merchant e retorna o merchantId usado na inicialização.
val registration = posPinpad.register(
fields = mapOf(
"cnpj" to operatorCnpj,
"token" to operatorToken
),
partnerSlug = "partner-slug"
)
if (!registration.success || registration.merchantId.isNullOrBlank()) {
showError(registration.error?.message ?: "Falha no registro do terminal.")
return
}
val merchantId = registration.merchantId!!
Autenticação (email/CNPJ + senha)
val response = posPinpad.authenticate(
AuthenticationRequest(
identifier = "email-ou-cnpj", // o SDK detecta o tipo automaticamente
password = "<senha>"
)
)
if (response.success) {
val user = response.user
}
Logout
posPinpad.logout()