Payeezy Direct API Integration Guide

April 2015

......................................Contents Quickly integrate your applications with Payeezy Direct API ... 2 ................................................................. 8 © 2009–2015 First Data Corporation................ 7 Security related (HMAC............ 4 Submitting/Generating transaction (method of payments) with example ............................................................................................................................. Token generation) with example ............................ 3 Steps to integrate code with Payeezy Direct API ..................................................... service marks and trade names referenced in this material are the property of their respective owners.... All trademarks........................................ 3 Getting started..................................................................................................................................... 3 Payeezy Integration for Java binding ...................................... 7 Additional capabilities API (if applicable) ............................................................................................................................ All Rights Reserved.................................................................... 3 Payeezy Direct API initialization ......

to get an overview of our developer portal. The Payeezy eCommerce Solution empowers SMBs to expand their horizons and easily grow their business online or via mobile by reaching new customers no matter where they are.Quickly integrate your applications with Payeezy Direct API If you want to enable secure and convenient payments to your payment applications.pdf Getting started Using GitHub Clone Payeezy SDK using with HTTPS or Subversion Using clone command: git clone https://github. Download the Payeezy Direct API Client library from GitHub 2. click http://github. InsighticsSM. nodeJS and curl programming languages. Define merchant Token.com/payeezy/payeezy_direct_API/archive/master. this guide will get you up and running quickly. Python.pdf Note: The merchant/third party is responsible for PCI compliance and may be required to provide First Data with additional documentation and/or their attestation of compliance Steps to integrate code with Payeezy Direct API 1. Henceforth. all references to Payeezy are in relation to Payeezy APIs. To know more about GitHub. PayeezySM.zip. Call transaction method and pass the required parameters For test credit card/eCheck (telecheck) test data. Apikey and ApiSecret (respective file) 3. It is simple to create a developer test account and apply for a merchant account through our developer portal. Payeezy handles all the heavy lifting of the complex tokenization and protects your customers’ transactions.com/payeezy/get_started_with_payeezy/blob/master/get_started_with_payeezy042015. Link for prerequisites https://github.git Or simply download zip file: https://github. is part of the Small Business Solutions Suite.com/payeezy/testing_payeezy/blob/master/payeezy_testdata042015. ruby. refer https://github. This document refers to the Direct API integration method included within the overall Payeezy eCommerce Solution. which includes CloverTM.com © 2009–2015 First Data Corporation. Payeezy Direct API provides client libraries for Java. 3 . PerkaTM and TransArmor®.com/payeezy/payeezy_direct_API. All trademarks. All Rights Reserved. from First Data. service marks and trade names referenced in this material are the property of their respective owners. Payeezy Direct API initialization Please go through prerequisites . PHP.

5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.springframework</groupId> <artifactId>spring-test</artifactId> <version>3. service marks and trade names referenced in this material are the property of their respective owners.10</version> <scope>test</scope> </dependency></dependencies> You can also import code as Java project © 2009–2015 First Data Corporation.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1. All Rights Reserved.4</version> </dependency> <dependency> <groupId>org.8.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.Payeezy Integration for Java binding Build/install .springframework</groupId> <artifactId>spring-test</artifactId> <version>2.Maven dependencies <dependencies> <dependency> <groupId>org.8.4</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1. All trademarks.8</version> </dependency> <dependency> <groupId>org.3. 4 .RELEASE</version> </dependency> <dependency> <groupId>org.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.6.2.apache.6.

All Rights Reserved. securedSecret and token © 2009–2015 First Data Corporation. Please go to $PAYEEZY \src\main\resources\META-INF\spring\core-rest-client-v2-context. All trademarks. 5 . service marks and trade names referenced in this material are the property of their respective owners.xml And update with your appid.Note that you need to run maven command in order to compile the code. Customize Update properties file.

6 . service marks and trade names referenced in this material are the property of their respective owners. All Rights Reserved.java Use/execute Please go to download directory and run $ mvn clean install © 2009–2015 First Data Corporation.Where For example: $PAYEEZY = C:\firstapi-client Note that securedSecret = API Secret appid = API Key token= Merchant token Please go through $PAYEEZY \src\test\java\com\firstdata\firstapi\client\FirstDataAPIClientV2Test. All trademarks.

com/payeezy-api-reference/apis/get/transactions © 2009–2015 First Data Corporation. 7 . Supports complex filtering. All trademarks.com/payeezy-api-reference/apis Additional capabilities API (if applicable)  Partner Reporting API . service marks and trade names referenced in this material are the property of their respective owners. PHP. click here Method of Payments Or click on the link https://developer.payeezy.For Payeezy ruby. This is exclusively for Third Party Partners and applicable for a live environment only.Use our powerful query engine to retrieve payment records. pagination and more. All Rights Reserved. refer to GitHub@ https://github. For Reporting API processing details. nodeJS bindings. sorting. Python. click here https://developer.com/payeezy/payeezy_direct_API Submitting/Generating transaction (method of payments) with example Payeezy supports the following method of payments  Credit Card Payments  PayPal Transactions  Gift Card (via ValueLink) Transactions  eCheck (via TeleCheck) Transactions  3D Secure Transactions For API processing details.payeezy.

get(TIMESTAMP)). All trademarks.String> data) throws Exception{ Mac mac=Mac.Security related (HMAC.toString( macHash)). d. public String getMacValue(Map<String. } For more details refer com. log.get(NONCE)) .get(APIKEY)).get(PAYLOAD)).firstdata. SecretKeySpec secret_key = new SecretKeySpec(apiSecret. buff. nonce . apikey .get(PAYLOAD)!=null) buff.append(data.Actual body content passed as post request.append(data.secure random number.info("MacHAsh:{}". byte[] macHash=mac.get(APISECRET).FirstAPIClientV2Helper. log. String authorizeString=Base64.Arrays. All Rights Reserved. timestamp – epoch timestamp in millisesconds.client. Token generation) with example Construct the data param by appending the parameters below in the same order as shown.toString()).info("Authorize: {}".authorizeString).apiSecret). c.doFinal(buff. mac.get(TOKEN)). 8 . Compute HMAC SHA256 hash on the above data param using the key below f. b.append(data.debug("API_SECRET:{}". log. a. "HmacSHA256").java class © 2009–2015 First Data Corporation.append(data.init(secret_key).append(data. String apiSecret= data.getInstance("HmacSHA256"). service marks and trade names referenced in this material are the property of their respective owners. payload .info(buff.getBytes(). apiSecret .toString(). StringBuilder buff=new StringBuilder().firstapi.encodeBase64String(toHex(macHash)). return authorizeString.Consumer Secret token for the given api key Calculate the base64 of the hash which would be our required Authorization header value. if(data. log. e.Merchant Token.API key of the developer. if(data.get(TOKEN)!=null) buff. token .getBytes("UTF-8")).