Difference between revisions of "IOS API Documentation"

From Cloud9 Payment Processing Gateway Documentation
Jump to: navigation, search
(Installation)
(iPDCManager)
Line 10: Line 10:
 
# 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)
 
# 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)
  
==iPDCManager==
+
==API Introduction==
iPDCManager (Payment Device Controller Manager) assists communication with Cloud9 Payment Web Device Controller(PWC), which abstracts the control of payment terminals. iPDCManager includes [[Offline Store & Forward]] Support.
+
Take a look at '''iPDCApp/ViewController.m''' file
#Implement the protocol IPDCManagerNotify
+
 
# Call ''initWithDelegate'' to instantiate the iPDCManager class.
+
Class iPDCManager is the main interface.
# Call ''enableRushMode'' or ''disableRushMode'' to enable or disable [[Offline Store & Forward]], respectively
+
1. Protocol '''IPDCManagerNotify''' includes four events:
# Call ''postTransactionToUrl'' to send a JSON request to Cloud-PDC via https protocol.
+
-(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=
 
=JSON Protocol Reference=

Revision as of 01:16, 1 November 2018




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)

API Introduction

Take a look at iPDCApp/ViewController.m file

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