GNApi-Sdk-iOS 0.3.0

GNApi-Sdk-iOS 0.3.0

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Oct 2015

Maintained by Thomaz Feitoza.



 
Depends on:
AFNetworking= 2.5.4
PromiseKit~> 1.5
RegexKitLite>= 0
 

  • By
  • thomazfeitoza

gn-api-sdk-ios

A simple lib for easy integration of your mobile app with the payment services provided by Gerencianet.

:warning: This module is under development and is based on the new API that Gerencianet is about to release. It won't work in production by now.

Requirements

  • iOS 7.0+
  • ARC

Dependencies

Installation

Via CocoaPods:

pod 'GNApi-Sdk-iOS', '~> 0.2'

Direct download:

Drag the GNApiSdk/ folder to you project and install dependencies.

Documentation

Import the sdk header file with #import "GNApiSdk.h" or #import <GNApi-Sdk-iOS/GNApiSdk.h> if you are using CocoaPods.

Instantiate a GNConfig object defining your account code. If you're in development phase, set the sandbox flag to YES:

GNConfig *gnConfig = [[GNConfig alloc] initWithAccountCode:@"YOUR_ACCOUNT_CODE" sandbox:YES];

Create an GNApiEndpoints instance passing your GNConfig:

GNApiEndpoints *gnApi = [[GNApiEndpoints alloc] initWithConfig:gnConfig];

To receive a payment token you need to create a GNCreditCard object and call paymentTokenForCreditCard: or paymentTokenForCreditCard:completion::

GNCreditCard *creditCard = [[GNCreditCard alloc] init];
creditCard.number = @"4012001038443335";
creditCard.brand = kGNMethodBrandVisa;
creditCard.expirationMonth = @"05";
creditCard.expirationYear = @"2018";
creditCard.cvv = @"123";

[gnApi paymentTokenForCreditCard:creditCard]
.then(^(GNPaymentToken *paymentToken){
NSLog(@"%@", paymentToken.token);
})
.catch(^(GNError *error){
NSLog(@"An error occurred: %@", error.message);
});

GNApiEndpoints methods always returns a promise object provided by PromiseKit library.

You can also get the installments before getting the payment token. All you need is the total amount and the method brand:

// The following code will fetch installments for a total of R$10,00 with MasterCard card brand.
GNMethod *method = [[GNMethod alloc] initWithBrand:kGNMethodBrandMasterCard total:@(1000)];
[_gnApi fetchInstallmentsWithMethod:method]
.then(^(GNPaymentData *paymentData){
NSLog(@"%@", paymentData);
})
.catch(^(GNError *error){
NSLog(@"An error occurred: %@", error.message);
});

If you want to get the payment data for a banking billet instead of a credit card you just need to init the GNMethod object with the brand kGNMethodBrandBankingBillet.

The available method brands are defined in the following constants:

  • kGNMethodBrandVisa
  • kGNMethodBrandMasterCard
  • kGNMethodBrandAmex
  • kGNMethodBrandDiners
  • kGNMethodBrandDiscover
  • kGNMethodBrandJCB
  • kGNMethodBrandElo
  • kGNMethodBrandAura
  • kGNMethodBrandBankingBillet

This project already includes a sample application. To use it just clone this repo, install dependencies with pod install and open with XCode. The example requires you to provide your account code.

License

MIT