Configuração

Configuração

Aviso

Esse método é obrigatório, sem ele, toda chamada à pay ou initialize vai retornar o erro TapOnPhoneError.setConfigNotCalled

Comece importando a biblioteca no fluxo onde ela será utilizada no seu projeto:

import TapOnPhoneSDK

Para configuração, é necessário passar um objeto do tipo ConfigParameters para o método TapOnPhone.setConfig

Config Parameters

  public struct ConfigParameters {
    let credentials: TapOnPhoneCredentials
    let environment: TapOnPhoneEnvironment = .production
    let logLevel: TapOnPhoneLogLevel = .error
    let sdkConfig: SdkConfig = SdkConfig() // tema padrão
  }

Configuração de Credenciais

Para utilizar o SDK é preciso possuir as credenciais fornecidas pela Zoop no processo de Onboarding. Essas credenciais serão utilizadas para criar um objeto do tipo TapOnPhoneCredentials que será usado na inicialização.

let credentials = TapOnPhoneCredentials(
	marketplace: "{MARKETPLACE-ID}",
	seller: "{SELLER-ID}",
	accessKey: "{ACCESS-KEY}"
)
  • marketplace: ID do marketplace recebido no processo de Onboarding.
  • seller: ID do seller recebido no processo de Onboarding.
  • accessKey: Chave de acesso recebida no processo de Onboarding.

Definição de ambiente

Também durante a configuração, deve-se ser definido o tipo de ambiente: produção ou desenvolvimento. A enumeração abaixo apresenta a definição correta de cada tipo de ambiente e é definido por TapOnPhoneEnvironment.

/// The environment which the transactions will be performed.
public enum TapOnPhoneEnvironment: String {
    /// Staging/development environment.
    case staging
    
    /// Production environment.
    case production
}

Configuração de Logs

Durante a configuração é possível definir o nível de log deseja e estes obedecem o nível de log do SDK. Cada nível possui uma numeração associada e sempre que for disparado um log, o SDK apenas repassa os logs que forem daquele nível ou inferior. Por exemplo: se o nível for .error, garantirá a inclusão dos níveis .error, .warning e .information. Segue a ordenação dos níveis de logs:

  1. TapOnPhoneLogLevel.information
  2. TapOnPhoneLogLevel.warning
  3. TapOnPhoneLogLevel.error
  4. TapOnPhoneLogLevel.critical
  5. TapOnPhoneLogLevel.log
  6. TapOnPhoneLogLevel.debug
  7. TapOnPhoneLogLevel.trace
  8. TapOnPhoneLogLevel.metric
  9. TapOnPhoneLogLevel.none

SdkConfig - Configurações de tema

É possível utilizar o esquema padrão, que usa o esquema de cores da tela proprietária da apple.

Caso haja necessidade de customização, seguir o exemplo disponível aqui.

Realizando a configuração

Ela é feita utilizando o método TapOnPhone.setConfig(configParameters)

// Neste exemplo, vamos criar utilizando o tema padrão. Para criar o tema customizado utilizar o exemplo na página de tema.


// Obrigatório
let credentials = TapOnPhoneCredentials(
	marketplace: "{MARKETPLACE-ID}",
	seller: "{SELLER-ID}",
	accessKey: "{ACCESS-KEY}"
)

let environment = .production // Valor padrão não obrigatório
let logLevel = .error // Valor padrão não obrigatório
let sdkConfig = SdkConfig() // Valor padrão não obrigatório

TapOnPhone.setConfig(
      configParameters: ConfigParameters(
        credentials: credentials,
        environment: environment,
        logLevel: logLevel,
        sdkConfig: sdkConfig
      )
    )