Headless SDK (registro do iOS)


👍

SDK recomendado

Recomendamos o uso do iOS Seamless SDK para uma experiência de integração tranquila. Essa opção oferece uma solução de pagamento flexível com componentes de IU pré-criados e opções de personalização.

O Headless iOS SDK da Yuno permite que você se registre em métodos de pagamento e tokenize cartões, salvando-os para uso futuro.

As etapas a seguir descrevem o registro de um método de pagamento usando o Headless SDK da Yuno.

📘

Guia de inscrição

Esta página fornece todas as etapas para usar o Headless SDK para registrar-se em um método de pagamento. Para obter um guia completo, incluindo a criação de clientes, visite Headless SDK (Enrollment).

Requisitos

Para executar o processo de registro, você precisa fornecer os dados customer_session para iniciar o processo de registro em Etapa 3. Para adquirir o customer_session, você precisa:

  1. Criar um cliente: É necessário que um cliente se registre em pagamentos. Use o botão Criar o cliente para criar novos clientes. Na resposta, você receberá o cliente idque você usa para criar a sessão do cliente.
  2. Criar a sessão do cliente: Use o cliente id e o Criar sessão do cliente para receber o endpoint customer_session.

Uma descrição completa do processo de registro é abordada em Headless SDK (Registro).

Etapa 1: Inclua a biblioteca em seu projeto

A primeira etapa é instalar o Yuno SDK em seu projeto iOS.

📘

Verifique as versões do SDK do iOS

Para ver todas as versões disponíveis, visite a página de lançamento no repositório do SDK do Yuno iOS.

Você pode instalar o Yuno SDK de duas maneiras:

  • Cocoápodes: Se você não tiver um Podfile, siga as instruções CocoaPods para criar um. Depois de criar o Podfile, você integrará o Yuno SDK ao Cocoapods adicionando a linha abaixo ao seu Podfile:
    pod 'YunoSDK', '~> {last_version}'
  • Gerenciador de pacotes Swift: Configure o pacote Swift e adicione o Yuno SDK como uma dependência, conforme apresentado no bloco de código a seguir:
    dependencies: [
        .package(url: "https://github.com/yuno-payments/yuno-sdk-ios.git", .upToNextMajor(from: "{last_version}"))
    ]

Etapa 2: Initialize Headless SDK com a chave pública

Para initialize o Headless SDK, você precisa importar o Yuno e fornecer uma chave PUBLIC_API_KEY. Se você não tiver suas credenciais de API, acesse a página Developers (Credentials) para verificar como recuperá-las no painel.

🚧

Inicialização do UISceneDelegate

Se o seu aplicativo estiver usando um UISceneDelegatecertifique-se de colocar seu código de inicialização do Yuno em seu arquivo SceneDelegate. Saiba mais

O bloco de código abaixo apresenta um exemplo de importação e inicialização do Yuno.

importar Yuno

Yunoinitialize(
    apiKey:PUBLIC_API_KEY"
)

Etapa 3: Criar uma sessão de cliente

Para iniciar o processo de registro, você precisa fornecer os dados customer_session. Primeiro, você precisa criar um cliente. Você precisa de um cliente para registrar os pagamentos. Use o botão Criar o cliente para criar novos clientes. Na resposta, você receberá o cliente idque você usa para criar a sessão do cliente.

Depois de criar o cliente, você pode criar a sessão do cliente. Usar o cliente id e o Criar sessão do cliente endpoint. O customer_session será fornecido na resposta. Você precisa de um novo customer_session toda vez que você se inscrever em um novo método de pagamento.

Etapa 4: Crie um objeto de método de pagamento de registro

Você precisa de um objeto de método de pagamento de registro para definir a integração do Headless SDK para registro. Você pode criar um objeto usando o endpoint Enroll Payment Method (Registrar método de pagamento ). Ao criar o objeto de método de pagamento, você precisa definir em qual método de pagamento seu cliente pode se inscrever. Atualmente, somente CARD está disponível para o Headless SDK.

📘

Verificação de cartão

Para verificar cartões com autorização de valor zero antes do registro, inclua o verify ao criar o objeto de método de pagamento para a sessão do cliente.

Etapa 5: Inicie o processo de registro

Em seguida, você iniciará o processo de checkout usando o apiClientEnroll fornecendo os parâmetros de configuração necessários. Parâmetros

A tabela a seguir lista todos os parâmetros necessários e suas descrições.

ParâmetroDescrição
countryCodeEsse 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 countryCode está disponível no site Cobertura do país página.
customer_sessionRefere-se à sessão do cliente do registro atual recebida como resposta ao endpoint Criar sessão do cliente. Example: '438413b7-4921-41e4-b8f3-28a5a0141638'

O próximo bloco de código apresenta um exemplo de configuração de parâmetros.

var apiClientEnroll: YunoEnrollHeadless?

apiClientEnroll = Yuno.apiClientEnroll(
   countryCode: "CO",
    customer_session: "eec6578e-ac2f-40a0-8065-25b5957f6dd3"
)

Etapa 6: Gerar um token de cofre

Depois de coletar todas as informações do usuário, você pode iniciar o registro. Primeiro, você precisa criar um vaulted_token usando a função apiClientEnroll.continueEnrollment. Como se trata de uma função assíncrona, você pode usar do/catch para garantir que você tratará corretamente os erros acionados. Abaixo, você encontrará um exemplo de criação de um vaulted_token:

deixe enrollmentCollectedData: EnrollmentCollectedData = EnrollmentCollectedData(
    customerSession: "eec6578e-ac2f-40a0-8065-25b5957f6dd3",
    paymentMethod: CollectedData(
        type: "CARD",
        card: CardData(
            detail: CardData.Detail(
                number: "4111111111111111",
                expirationMonth: 12,
                expirationYear: 25,
                securityCode: "123",
                holderName: "Andrea",
                type: .credit
            )
        ),
        customer: Customer()
    )
)

let result = try await apiClientEnroll.continueEnrollment(data: enrollmentCollectedData)

Depois de registrar o novo cartão, você receberá o vaulted_tokenque você pode usar para fazer pagamentos no futuro sem solicitar as informações do cartão do cliente. O bloco de código a seguir apresenta um exemplo de resposta da função apiClientEnroll.continueEnrollment função. A resposta é um dicionário do tipo [String: Any].

[
 vaulted_token: "9104911d-5df9-429e-8488-ad41abea1a4b",
 status: "ENROLLED",

   EXPIRED,
   REJECTED,
   
 READY_TO_ENROLL,
    ENROLL_IN_PROCESS,
    UNENROLL_IN_PROCESS,
    IN_PROCESS,
    ENROLLED,
   DECLINED,
    CANCELED,
   ERROR,
    UNENROLLED;
 cliente: [
   session: "eec6578e-ac2f-40a0-8065-25b5957f6dd3"
 ]
]
📘

Uso de webhooks para status de registro

Considere 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.

📘

Acesse o aplicativo de demonstração

Além dos exemplos de código fornecidos, você pode acessar o repositório Yuno para obter uma implementação completa dos SDKs do Yuno para iOS.