Headless SDK (Enrollment Android)
Esta página fornece um guia para o registro do Yuno Headless SDK Android.
O Yuno Headless SDK Android oferece uma solução flexível e sem interface de usuário para cadastrar métodos de pagamento e tokenizar cartões.
Esse SDK oferece controle total sobre o processo de registro de métodos de pagamento, o que o torna ideal para comerciantes que:
- Precisa de controle total sobre a IU e a experiência do usuário
- Deseja implementar fluxos de registro personalizados
- Exigir recursos avançados de integração
Headless SDK recursos essenciais como:
- Tokenização de cartões
- Registro de método de pagamento seguro
- Acesso direto à API
- Tratamento de erros personalizado
Para os comerciantes que precisam de uma solução de interface do usuário pré-criada ou de uma integração mais simples, considere usar nossas outras implementações de SDK:
Requisitos
Antes de iniciar a integração do Yuno Android SDK, certifique-se de que seu projeto atenda aos requisitos técnicos. Além disso, certifique-se de que os seguintes pré-requisitos estejam em vigor:
- Você deve ter uma conta Yuno ativa
- Você precisa das suas credenciais da API Yuno:
account_idpublic-api-keyprivate-secret-key
Você pode obter essas credenciais na seção Desenvolvedores do painel do Yuno. Elas são necessárias para:
- Criar um
customerque é necessário antes de registrar os métodos de pagamento - Criar um
customer_sessionque inicializa o fluxo de registro
Informações sobre a versão do SDKVerifique a versão atual do SDK acessando as notas de lançamento ou visitando o repositório do Yuno Android SDK.
Etapa 1: Criar um cliente
Crie um cliente usando o endpoint Criar cliente endpoint cadastrar métodos de pagamento.
Pré-requisitos:
- Conta Yuno ativa
- Credenciais da API
Necessário para:
- Identificar a pessoa que está registrando o método de pagamento
- Ativação da funcionalidade de método de pagamento salvo
- Rastreamento do histórico de matrículas
- Armazene o ID do cliente de forma segura para a próxima etapa.
Etapa 2: Criar uma sessão de cliente
Criar um novo customer_session usando o Criar sessão do cliente endpoint:
Pré-requisitos:
- ID do cliente da Etapa 1
- Credenciais da API
Ações necessárias:
- Incluir o ID do cliente na solicitação
- Armazene o
customer_sessionID - Gerar um novo
customer_sessionpara cada registro de método de pagamento.
Etapa 3: Adicione o SDK ao seu projeto
Pré-requisitos:
- Configuração do projeto Android
- Acesso à configuração do Gradle
- Adicione a fonte do repositório:
maven { url "https://yunopayments.jfrog.io/artifactory/snapshots-libs-release" }- Adicione a dependência do SDK:
dependencies {
implementation 'com.yuno.payments:android-sdk:{last_version}'
}
Permissão de Internet necessáriaO Yuno SDK inclui automaticamente o
INTERNETnecessária para solicitações de rede. Certifique-se de que seu AndroidManifest.xml contenha:
<uses-permission android:name="android.permission.INTERNET" />
Etapa 4: Initialize Headless SDK a chave pública
Recupere suas chaves públicas de API no painel do Yuno.
Se você não tiver implementado um aplicativo personalizado, crie um. Na seção onCreate() de sua classe de aplicativo, chame a função initialize (Yuno.initialize):
class CustomApplication : Application() {
override fun onCreate() {
super.onCreate()
Yuno.initialize(
this,
PUBLIC_API_KEY,
config: YunoConfig,
)
}
}Etapa 5: Criar uma sessão de cliente
Para iniciar o processo de inscrição:
-
Criar um cliente usando o Criar o cliente endpoint. A resposta incluirá o cliente
id. -
Crie uma sessão de cliente usando:
- O cliente
idda etapa 1 - endpoint Criar sessão do cliente
- O cliente
endpoint do endpoint fornecerá o customer_session valor necessário para a inscrição.
Geração de sessões de clientesVocê precisa gerar um novo
customer_sessiontoda vez que você registrar um método de pagamento.
Etapa 6: Crie um objeto de método de pagamento de registro
Crie um objeto de método de pagamento de inscrição usando o endpoint Enroll Payment Method endpoint configurar a Headless SDK para inscrição. Ao criar esse objeto, especifique em qual tipo de método de pagamento seu cliente pode se inscrever. Atualmente, o Headless SDK suporta Headless SDK o tipo de método de pagamento CARD.
Verificação de cartãoPara verificar os cartões (autorização de valor zero) antes do registro, inclua o
verifyao criar o objeto de método de pagamento para a sessão do cliente. Saiba mais
Etapa 7: Inicie o processo de registro
Use o apiClientEnroll função para iniciar o processo de inscrição. Essa função requer parâmetros de configuração que definem como a inscrição será processada. A tabela a seguir descreve os parâmetros necessários:
| Parâmetro | Descrição |
|---|---|
country_code | Esse parâmetro determina o país para o qual o processo de pagamento está sendo configurado. A lista completa de países compatíveis e seus respectivos country_code está disponível no site Cobertura do país página. |
customer_session | Refere-se ao registro atual sessão do cliente recebido como resposta ao Criar sessão do cliente endpoint. Exemplo: 438413b7-4921-41e4-b8f3-28a5a0141638 |
O bloco de código a seguir mostra um exemplo da configuração dos parâmetros:
override fun onCreate(savedInstanceState: Bundle?) {
val apiClientEnroll = Yuno.apiClientEnroll(
country_code = "CO",
customerSession = "eec6578e-ac2f-40a0-8065-25b5957f6dd3",
context = this
)
}Etapa 8: Gerar um token armazenado
Depois de coletar todas as informações necessárias sobre o cliente, crie um vaulted_token usando o apiClientEnroll.continueEnrollment função. Como essa é uma função assíncrona, use um try/catch bloco para lidar com quaisquer erros que possam ocorrer. O exemplo a seguir mostra como criar um vaulted_token:
apiClientEnroll.continueEnrollment(
collectedData = EnrollmentCollectedData(
customerSession = "customer_session",
métodoDePagamento = MétodoDeInscrição(
tipo = "CARTÃO",
cartão = DadosDoCartão(
salvar = verdadeiro,
detalhes = Detalhes(
mêsDeVencimento = 11,
anoDeVencimento = 55,
número = "4111111111111111",
securityCode = "123",
holderName = "Nome Sobrenome",
type = CardType.DEBIT
),
customer = Customer(
id = "id",
merchantCustomerId = "merchant_customer_id",
firstName = "firstName",
email "[email ]",
país = "CO",
documento = Documento(
tipo de documento = "PAS",
número do documento = "PAS12312"),
telefone = Telefone(
número = "321123321123",
código do país = "57")
)
),
contexto = este
)
O apiClientEnroll.continueEnrollment retorna um tipo Observable que estende LiveData. Você pode observar a resposta como um padrão LiveData com tipo SingleLiveEvent<Map<String, Any?>>. Este LiveData emite apenas uma vez e retorna um Map contendo a resposta completa. Abaixo está um exemplo de resposta da chamada apiClientEnroll.continueEnrollment:
{
"vaulted_token": "9104911d-5df9-429e-8488-ad41abea1a4b",
"status": "SUCCEEDED",
"customer": {
"session": "eec6578e-ac2f-40a0-8065-25b5957f6dd3"
}
}O bloco de código a seguir mostra um exemplo de observação da resposta:
apiClientPayment.continueEnrollment(data, context).observe(context) { response ->
val status = response["status"] as String?
val vauldtedtoken = response["vaulted_token"] as String?
}
Rastreamento de status do webhookConsidere usar o status de registro recebido via Webhooks. A Yuno recomenda sempre usar esse status para basear e tomar decisões de negócios em sua plataforma.
Atualizado há 3 meses