iOS SDK

📘

Primeros pasos

  • Conekta iOS SDK permite tokenizar (encriptar) los datos de la tarjeta de tu usuario final.

  • Recuerda que por motivos de seguridad NO puedes tokenizar los datos de la tarjeta desde un lenguaje backend y tampoco puedes crear cargos desde el frontend de tu proyecto.

Instalación

Via git:

$ git clone [email protected]:conekta/conekta-ios.git

Instalación general

  • Copia el folder Conekta hacia el folder de tu proyecto.
  • Crea un nuevo grupo llamado Conekta por medio de Xcode.
  • En tu xcodeproj, ve a: Build Settings > Search Paths > Library Search Path, haz doble click y establece el valor a:
$(inherited)
$(PROJECT_DIR)/Conekta
  • Agrega los archivos al grupo Conekta.
  • Para proyectos swift, cuando agregues archivos objective-c, te pedirá crear un Bridging file, incluye lo siguiente en este archivo:
# import "Conekta.h"

App Transport Security

Si estás compilando con iOS 9, agrega las siguientes líneas en tu application plist

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key><true>
</true></dict>

SDK Conekta - Tokeniza una Tarjeta

import UIKit
class ViewController: UIViewController {
  override func viewDidLoad() {
    let conekta = Conekta()
    conekta.delegate = self
    conekta.publicKey = "key_eYvWV7gSDkNYXsmr"
    conekta.collectDevice()
    let card = conekta.Card()
    card.setNumber("4242424242424242", name: "Fulanito Perez", cvc: "123", expMonth: "10", expYear: "2018")
    let token = conekta.Token()
    token.card = card
    token.createWithSuccess({ (data) -> Void in
      print(data)
    }, andError: { (error) -> Void in
      print(error)
    }) 

    super.viewDidLoad()
  } 

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
  }
}
# import "ViewController.h"
# import "Conekta.h" 

@interface ViewController ()
@end 

@implementation ViewController
- (void)viewDidLoad {
  Conekta *conekta = [[Conekta alloc] init];
  [conekta setDelegate: self];
  [conekta setPublicKey:@"key_eYvWV7gSDkNYXsmr"];
  [conekta collectDevice];
  Card *card = [conekta.Card initWithNumber: @"4242424242424242" name: @"Fulanito Perez" cvc: @"123" expMonth: @"10" expYear: @"2018"];
  Token *token = [conekta.Token initWithCard:card];
  [token createWithSuccess: ^(NSDictionary *data) {
  NSLog(@"%@", data);
  } andError: ^(NSError *error) {
  NSLog(@"%@", error);
  }];
  [super viewDidLoad];
} 

- (void)didReceiveMemoryWarning {
  [super didReceiveMemoryWarning];
}
@end

Realiza un cargo en tu servidor

Tras obtener el token, deberás enviarlo a tu servidor y generar la orden.