FirstData GGe4 Payment Terminal

Overview

Our script allows you to have a quick & easy payment terminal for your clients to pay with major credit cards (Visa, Master Card, American Express, Diners Club) on your website (without leaving it), as well as paypal payments through paypal gateway. Installation and configuration of the script takes less than 5 minutes (however you do need to have SSL and FirstData Global Gateway e4 merchant account, and optional paypal account). There are 3 options to pay: 1) customers can *input price themselves* and type description, 2) you can turn on *pre-defined services* and customers will select service from dropdown and 3) customers can select *recurring services from dropdown*

 

We used PayPal Website Payments Standard functionality for both onetime PayPal payments and recurring PayPal payments.

Server Requirements

1) PHP 5.0+

2) cURL must be enabled to accept payments (contact your hosting provider if unsure).

3) SSL certificate must be installed in order to go live.

Installation

Fresh installation is pretty simple. 

1) Unzip the contents of the file which you downloaded from codecanyon.net.
You will find 2 folders: “firstdata-payment-terminal” and “documentation”

2) open firstdata-payment-terminal/includes/config.php and edit all needed variables (see explanation below)

3) Upload “firstdata-payment-terminal” folder to your FTP server.

Configuration

below you will find all editable variables from includes/config.php and their meaning. 

Line 22 – global page meta title
Line 25 – notification email address where you want to receive “new payment received” emails. (can be multiple emails, comma separated)
Line 28 through 33 – non-recurring services array. You can add more by copy/pasting line 33 below it.
Line 35 – if set to true services dropdown will be available on payment page for selection, if false – fillable amount box will appear
Line 38 – Payment type switch, can be ONETIME only at this time. There are no recurring payment processing implemented.
Line 44 – Your e4 Username. It is located in welcome email from FirstData (example)
Line 45 – Live/Sandbox indicator. If set to false – you will be using TEST environment, setting this to true will enable LIVE mode.
Line 47 – Debug variable. If set to true you will see merchant gateway response when submitting payment.
Line 51 – (test) e4 ECOMM GATEWAY ID. Login to GGe4, click Administration, then go to TERMINALS TAB, select ECOMM terminal, find GATEWAY ID.
Line 52 – (test) e4 ECOMM Terminal Password. Login to GGe4, click Administration, go to TERMINALS tab, select ECOMM terminal, scroll down to “password” – click GENERATE.
Line 53 – (test) e4 HMAC key. Login to GGe4, click Administration, go to TERMINALS tab, select ECOMM terminal, and go to API access sub-tab, click on GENERATE NEW KEY next to HMAC KEY.
Line 54 – (test) e4 KEY ID. In TERMINALS tab, select ECOMM terminal, and go to API access sub-tab -> very first line is KEY ID (5-6 digits)
Line 58 – (live) e4 ECOMM GATEWAY ID. Login to GGe4, click Administration, then go to TERMINALS TAB, select ECOMM terminal, find GATEWAY ID.
Line 59 – (live) e4 ECOMM Terminal Password. Login to GGe4, click Administration, go to TERMINALS tab, select ECOMM terminal, scroll down to “password” – click GENERATE.
Line 60 – (live) e4 HMAC key. Login to GGe4, click Administration, go to TERMINALS tab, select ECOMM terminal, and go to API access sub-tab, click on GENERATE NEW KEY next to HMAC KEY.
Line 61 – (live) e4 KEY ID. In TERMINALS tab, select ECOMM terminal, and go to API access sub-tab -> very first line is KEY ID (5-6 digits)

Other than the above – you don’t need to edit any variables for FirstData settings.
Continue below for paypal settings.

Settings

In order to enable paypal payments (website payments standard) you need to change Line 75 in config.php to TRUE. Other paypal settings below:

Line 69 – PayPal payment method on/off switch.
Line 70 – PayPal merchant email.
Line 71 – PayPal success url – your customers will be taken to this page after successful paypal payment.
Line 72 – PayPal cancel url – your customers will be taken to this page if they decide not to pay through paypal.
Line 73 – PayPal ipn url – this is IPN listener file which will accept paypal responses about the payments and will notify you about new payments (if you want to update your db somehow – this is the file for paypal).
Line 74 – PayPal custom variable – you can pass any customer related variable here, serves for the purpose of updating database later in ipn listener file (optional).
Line 75 – PayPal currency.
Line 76 – PayPal Live/Sandbox mode switch. If set to true – paypal will run in TEST mode(you have to have paypal developers account and you must be logged in to developer.paypal.com)

Other than the above – you don’t need to edit any variables for PayPal.

Connect Database

In order to connect FirstData payment terminal with your existing website database, to insert new orders or update existing upon successful payment you need to place your “update order” or “insert new order” code into following places:
For regular payments (non-recuring payments): includes/form.processing.php – between line 177 and line 179
For paypal payments : paypal_listener.php – between line 61 and 63

Live / Test Modes

You need to set variable on line 45 in includes/config.php to TRUE to use LIVE MODE and switch to FALSE to use TEST MODE 

Also don’t forget to set sandbox mode to false for paypal on line 76 in same file (if paypal payments are enabled on line 69).

For test purposes you can use 4111111111111111 VISA credit card with any cvv (3 numbers) and any future expiry date.

Technical Support

We provide courtesy support for all our products to our valued customers within 48-72 hours after receiving the request through our support ticketing system. Each purchase comes with 6 months support time. After that – you may either purchase extended support through the marketplace or purchase premium support with us.

If you need any help regarding the installation of the script or any other question please read through respective product documentation first and if solution is not found – open support ticket (please note, you will need to register account and you will be required to provide your license key (item purchase code) during the registration process, which will then be validated through CodeCanyon API. If your support period has expired you may either extend it with Envato or purchasepremium support from us).

Please note that we do not provide support by email. Any email related to support and not to pre-sales questions will be replied to after any other support tickets are resolved and in general will be directed to open a ticket, since we need to validate your purchase/support period validity.

For more details about our support policy and terms of service (including what is and is not included in Basic Support) click here.

Our business hours are Monday – Friday: 9:00am – 6:00pm (EST), and support is provided only at that time. Upon opening a ticket, we make it our goal to respond within 48-72 hours, however depending on the issue you’re having it may take a bit longer, but in any case we will address the issue within specified period of time with at least “resolution time” in reply.

Changelog

v1.2 – 6 October 2015
– fixed issue with comma in the amounts.
– fixed paypal IPN listener URL
– added default timezone in config file
– fixed mktime notice

v1.1 – 6 February 2014
– replaced SOAP with CURL for better compatibility.

v1.0 – 14 December 2013
initial release

Sources, Credits, Appreciation

We’ve used the following images, icons or other files as listed.

  • jQuery UI Library – http://www.jqueryui.com
  • jQuery Library – http://www.jquery.com
  • jQuery Colorbox – http://www.jacklmoore.com/colorbox
  • jQuery Tools – http://jquerytools.org/

Once again, thank you so much for purchasing our product. 

Is this document useful? 0 0

Published: March 11, 2016 Updated: March 11, 2016

« back to all manuals