Headless SDK (registro do iOS)
SDK recomendadoRecomendamos 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çãoEsta 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:
- 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. - Criar a sessão do cliente: Use o cliente
ide o Criar sessão do cliente para receber o endpointcustomer_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 iOSPara 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 UISceneDelegateSe o seu aplicativo estiver usando um
UISceneDelegatecertifique-se de colocar seu código de inicialização do Yuno em seu arquivoSceneDelegate. 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ãoPara verificar cartões com 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.
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âmetro | Descrição |
|---|---|
countryCode | 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 countryCode está disponível no site Cobertura do país página. |
customer_session | Refere-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 registroConsidere 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çãoAlé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.
Atualizado há 3 meses