tamojuno / direct-checkout-ios

SDK para criptografia e validação de dados do cartão de crédito para integração com a API de pagamentos da Juno/BoletoBancário.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DirectCheckout iOS

Build Status CocoaPods Compatible Platforms Languages

Caso necessite, confira a documentação para Objective-C.

SDK para criptografia e validação de dados de cartão de crédito para integração com a API de pagamentos da Juno/BoletoBancário.

Visando garantir a segurança das transações realizadas em nossa plataforma, a API da Juno adota uma política de criptografia dos dados de cartão de crédito de ponta-a-ponta.

Para mais informações acesse nossa página de integração:

Integração via API

Instalação

Cocoapods

Adicione o SDK nas dependências do seu aplicativo inserindo a seguinte linha no arquivo Podfile:

pod 'DirectCheckout'

Em seguida, instale as dependências pelo comando:

pod install

Na inicialização do aplicativo, preferencialmente na classe AppDelegate, faça a inicialização do SDK passando como parâmetro o seu token público, que pode ser obtido em nossa página de integração:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {

    DirectCheckout.initialize(publicToken: "AC2261A2ECC7FD90D205502092571F5C1C0831935E35073AA95AEBEB68D7E5C5")

    return true
}

Opcionalmente também é possível escolher o ambiente de testes (Sandbox):

DirectCheckout.initialize(publicToken: "AC2261A2ECC7FD90D205502092571F5C1C0831935E35073AA95AEBEB68D7E5C5", environment: .sandbox)

Utilização

Detalhamos a seguir um exemplo de utilização de nossa biblioteca de como obter o hash do cartão de crédito:

let card = Card(cardNumber: "5448280000000007",
                holderName: "Antônio",
                securityCode: "123",
                expirationMonth: "01",
                expirationYear: "2020")

DirectCheckout.getCardHash(card) { result in
    do {
        let hash = try result.get()
        /* Sucesso - A variável hash conterá o hash do cartão de crédito */

    } catch let error {
        /* Erro - A variável error conterá o erro ocorrido ao obter o hash */
    }
}

Funções Auxiliares

A biblioteca disponibilizada também possui uma série de métodos auxiliares para a validação de dados do cartão de crédito, conforme demonstrado a seguir:

/* isValidCardNumber: Valida número do cartão de crédito (retorna true se for válido) */
DirectCheckout.isValidCardNumber("9999999999999999")

/* isValidSecurityCode: Valida código de segurança do cartão de crédito (retorna true se for válido) */
DirectCheckout.isValidSecurityCode("111", "9999999999999999")

/* isValidExpireDate: Valida data de expiração do cartão de crédito (retorna true se for válido) */
DirectCheckout.isValidExpireDate(month: "05", year: "2021")

/* getCardType: Obtém o tipo de cartão de crédito (bandeira) */
DirectCheckout.getCardType("9999999999999999")

Algumas funções também podem ser acessadas diretamente da classe Card:

let card = Card(cardNumber: "5448280000000007",
                holderName: "Antônio",
                securityCode: "123",
                expirationMonth: "01",
                expirationYear: "2020")

/* getType: Obtém o tipo de cartão de crédito (bandeira) */
card.getType()

/* validateNumber: Valida número do cartão de crédito (retorna true se for válido) */
card.validateNumber()

/* validateCVC: Valida código de segurança do cartão de crédito (retorna true se for válido) */
card.validateCVC()

/* validateExpireDate: Valida data de expiração do cartão de crédito (retorna true se for válido) */
card.validateExpireDate()

/* validate: Realiza todas as validações do cartão de crédito (retorna true se for válido ou lança um CardError especificando a falha) */
card.validate()

Contato

Para mais informações entre em contato com a Juno:

About

SDK para criptografia e validação de dados do cartão de crédito para integração com a API de pagamentos da Juno/BoletoBancário.

License:Apache License 2.0


Languages

Language:Swift 97.4%Language:Ruby 1.5%Language:Objective-C 1.1%