IOS API Documentation

From Cloud9 Payment Processing Gateway Documentation
Revision as of 01:27, 1 November 2018 by Zorrik (talk | contribs) (API Introduction)

Jump to: navigation, search




Cloud9 Payment Gateway Documentation. This site can also be reached at http://docs.cloud9paymentgateway.com

Sample Test Application Screenshot

Download

iOS SDK Library & Sample Application

Setup

Installation

  1. Add iPDCLib.framework to your project like other normal framework.
  2. Add "Supported external accessory protocols" to your app's info.plist with value "com.ingenico.easypayemv.spm-transaction" (there is a sample info.plist in the iPDCAPP.zip/iPDCApp/iPDCApp)
  3. If you are using Bluetooth to control the payment terminal, it is advised to enable background communication. For a BT device, add "Required background" to your app's info.plist with value "App communicates with an accessory" (there is a sample info.plist in the iPDCAPP.zip)

Basic Flow

See iPDCApp/ViewController.m file for reference to below

1. Initialize
Call initWithDelegate
2. Set general parameters
Call setProperties.
→ Note: Prop_PinpadInterface key must be explicitly set. This call must be called in main thread only once.
3. Process transactions
Call postTransactionToUrl:request:withTimeout to process transactions. Repeat as many times as necessary.
4. Get transaction response
Call TransDataReceived


API Introduction

See iPDCApp/ViewController.m file for reference.

Class iPDCManager is the main interface.

1. Protocol IPDCManagerNotify includes four events
-(void) deviceConnected; ==>trigger when pinpad connected
-(void) deviceDisconnected;==>trigger when pinpad disconnected
-(void) TransDataReceived:(NSData*)data; ==>callback function for when postTransactionToUrl api is called. Param data is the transaction return data with JSON format. This format detail can be found in our JSON API Documentation.
-(void) TrackDataReceived:(NSData*)data; ==>callback function for when readTrackData api is called. Param data is the track2 data with JSON format.This format's detail can be found in our JSON API Documentation.
2. initWithDelegate
Instantiate the iPDCManager class and set the IPDCManagerNotify delegate.
3. setProperties
Set the configurations in key-value format.
Valid Keys
Prop_RushMode: enable rush mode or not,default value is "false",valid value is "false" and "true"
Prop_UploadUrl: set where to upload the rush mode transactions ,NO default value.
Prop_CheckInterval: interval for checking rush mode transactions.default value is 60
Prop_FailedThreshold: the max count of trying transactions before enter the rush mode,default value is 3
Prop_QuickChip: enable quickchip,default value is "true",valid value is "false" and "true"
Prop_PinpadIP: Pinpad's IP address for ethernet interface, NO default value.
Prop_PinpadPort: Pinpad's port number for ethernet interface, default value is 12000
Prop_PinpadInterface: set which interface to use. valid value is "BT" and ETHERNET",NO default value,need to be set explicitly.
4. postTransactionToUrl:request:withTimeout
Process the transaction request. This will send the request to url via https protocol unless it is Store & Forward (Rush Mode). The request detail can be found in our JSON API Documentation.
5. readTrackData
Get track2 data for swipe id cards, in-house gift cards, etc

JSON Protocol Reference

The iOS facilitates payment operations via JSON Key-Value pairs. See JSON API Documentation for full functionality info.

iPassthruManager (DEPRECATED)

Passthru manager is an older version of Payment Device Controller Manager without Store & Forward. It is maintained for backward compatibility. Click on the following link for information on iPassthruManager






From the makers of Cloud9 Payment Processing Gateway and Creditline Credit Card Processing Software