triPOS Mobile - iOS SDK Tutorial

Document created by Worldpay Developer Community Support Team on Sep 30, 2016Last modified by jhess on Jan 30, 2020
Version 35Show Document
  • View in full screen mode

How to get started with the triPOS Mobile SDK for iOS

Take payments anywhere with an omni-commerce experience that accepts payment types through a single integration.  Updates are managed through our TechLift team guiding you with best in-class security and gateway services in a single integration.

 

Use the steps below to start integrating with the triPOS Mobile iOS SDK. The SDK itself has an integration guide and technical documentation detailing how to configure and implement triPOS Mobile.  Learn how to setup test credentials, download the SDK, add a payments framework to your project and finally setup your external device.

 

1_blue.pngSetup your test credentials

If you already have  Express test credentials, please email certification@vantiv.com to be setup for processing EMV.

If you do not have Express test credentials, the first step is to create a test account.  After your account is created, you will receive an email containing values for the credentials below. These are required to process any transaction from triPOS mobile:

  • AccountID
  • AccountToken
  • ApplicationID
  • AcceptorID

 

 

2_blue.pngDownload the SDK

You may download and save the triPOS Mobile SDK attached to this document below.

 

 

3_blue.pngAdd the framework to your project

  1. Copy triPOSMobileSDK.framework to your local project folder.
  2. Open the project settings and select the application target.
  3. Open the 'General' tab...
  4. Scroll down to 'Embedded Binaries' and click the '+' symbol under the list.
  5. Click 'Add Other'...
  6. Browse to the location where the Worldpay triPOS Mobile SDK Framework was copied in step 1.
  7. Select the triPOSMobileSDK.framework folder.
  8. Click 'Open'...
  9. Scroll down to 'Linked Frameworks and Libraries' and click the '+' symbol under the list.
  10. Find and select ExternalAccessory.framework.
  11. Click 'Add'.

 

 

4_blue.pngSetup your external device

To use the supported external devices, the appropriate protocols must be added to the project settings:

  1. Open the project settings and select the application target.
  2. Open the 'Info' tab.
  3. In the 'Custom iOS Target Properties' section, add the 'Supported external accessory protocols' setting.
  4. Add each of the protocols listed below for the necessary devices:

Ingenico

  • com.ingenico.easypayemv.spm-transaction
  • com.ingenico.easypayemv.spm-networkaccess
  • com.ingenico.easypayemv.spm-sppchannel

 

 

Using the triPOS Mobile framework

The triPOS Mobile SDK Framework is used by including <triPOSMobileSDK/triPOSMobileSDK.h> then accessing the SDK functionality through the sharedVtp singleton. The SDK must be initialized before performing any functions, and if those functions require the device, the application must wait for the device to become connected.

 

#import <Foundation/Foundation.h>

FOUNDATION_EXPORT double triPOSMobileSDKVersionNumber;

FOUNDATION_EXPORT const unsigned char triPOSMobileSDKVersionString[];

#import "VTP.h"
#import "VTP+Sale.h"
#import "VTP+Refund.h"
#import "VTP+Authorization.h"
#import "VPD.h"
#import "VXP.h"

@interface triPOSMobileSDK : NSObject

+(id)sharedVtp;

+(NSString *)version;

@end

 

 

The SDK is divided into three sections:

VTP: This section is the umbrella for all initialization and built-in flows. It contains the following Methods:

 

MethodParametersNotes
processSaleRequestrequestA VTPSaleRequest class is filled in by the integrator with information such as the transaction amount for the sale.
completionHandlerA block supplied by the integrator and is called by the SDK to indicate that the sale completed successfully. It returns a VTPSaleResponse that contains information such as the result, approval code, and authorized amount.
errorHandlerA block supplied by the integrator and is called by the SDK to indicate the sale completed with an error.
processAuthorizationRequestrequestA VTPAuthorizationRequest class filled in by the integrator with information such as the transaction amount used to process the authorization.
completionHandlerA block supplied by the integrator that is called by the SDK to indicate that the authorization completed successfully. It returns a VTPAuthorizationResponse that contains information such as the result, approval code, and authorized amount.
errorHandlerA block supplied by the integrator that is called by the SDK to indicate the authorization completed with an error.
processRefundRequestrequestA VTPRefundRequest class filled in by the integrator with information such as the transaction amount used to process the refund.
completionHandlerA block supplied by the integrator that is called by the SDK to indicate the refund completed successfully. It returns a VTPRefundResponse containing information such as the result, approval code, and authorized amount.
errorHandlerA block supplied by the integrator that is called by the SDK to indicate that the refund completed with an error.

 

 

VXP: This section contains all the Express functionality including definitions for most of the classes used by Express. This is the class the integrator will use to process all Express transactions not handled by the above built-in flows. It contains the following method:

 

sendRequestrequestThis is a VXPRequest class filled in by the integrator that indicates the type of request to be sent to Express as well as all the classes and fields required by that request.
timeoutThe amount of time to wait for the response from Express.
completionHandlerA block supplied by the integrator that is called by the SDK to indicate the Express request was completed successfully. It returns a VXPResponse containing the response from Express.
errorHandlerA block supplied by the integrator that is called by the SDK to indicate the Express request completed with an error.

 

 

VPD: This section provides all the POI (point of interaction) device functionality. It is an abstraction layer that provides a common interface to different devices. The integrator only implements this once to support all devices supported by the SDK.

  • The only limitation of the available functionality is determined by the type of device. For example, if one device supports PIN entry and another does not, the PIN entry functionality is only available when using the device that supports PIN entry.
  • This section may be used by the integrator to perform functions outside the transaction flows, such as obtaining a loyalty card or prompting for a ZIP code. It contains the following functionality:

 

Function
Use
Card InputTo obtain swiped or keyed data. The output will be encrypted unless the BIN is part of a whitelist installed on the POI device, or the POI device determines the card is not a financial card.
Choice InputTo prompt the cardholder to select one of a number of choices. The number of choices and the text for each choice is specific to the device.
DisplayTo display text on the POI device.
Keyboard Numeric InputTo obtain keyboard input from the cardholder. This functionality is currently limited to postal code, cashback, and tip entry.
PIN InputTo obtain the cardholder’s encrypted PIN information.
Yes/No InputTo obtain YES or NO input from the cardholder.

 

Supported Devices

DeviceProduction SupportCert Device AvailableProduction Device Available
Ingenico iPP350 (Ethernet)December 22, 2016 (v1.1.8+)YesYes
Ingenico iSMP4 (Bluetooth and Wi-Fi)May 23, 2018 (v1.3.0+)YesYes
BBPOS Chipper 2xJanuary 30, 2020 (v1.6.2+)YesYes

 

 

triPOS Mobile SDK (iOS) Release History

  • v1.6.2 (posted January 30, 2020)
  • v1.6.0 (posted November 27, 2019)
  • v1.4.1 (posted May 7, 2019)
  • v1.4.0 (posted August 2, 2018)
  • v1.3.1 (posted February 15, 2018)
  • v1.3.0 (posted December 5, 2017)
  • v1.2.0 (posted October 13, 2017)
  • v1.1.13 (posted July 5, 2017)
  • v1.1.11 (posted March 15, 2017)
  • v1.1.10 (posted February 17, 2017)
  • v1.1.9 (posted February 2, 2017)
  • v1.1.8 (posted December 22, 2016)

 

 

 

View Previous: triPOS Mobile Overview

7 people found this helpful

Outcomes