Jump to content

FirstData payment gateway


njohn

Recommended Posts

On 3/27/2016 at 8:10 PM, njohn said:

AHA - Now I remember where I saw use auth net 

https://firstdataclientsgge4.zendesk.com/entries/23543916-CubeCart-Integration-Instructions

At the very beginning it says "CubeCart can be connected to Global Gateway e4 (GGe4) by modifying the Authorize.net SIM Module."

Then gives precise instructions on what/how to do DUH

 

Hi NJOHN,

I cannot seem to log into Zendesk.  Is there any chance you still read these forums and can send me the contents of that link?

Thanks,

Steve

 

Link to comment
Share on other sites

On 3/27/2016 at 11:43 AM, njohn said:

LinkPoint Basic

Connect 1.0 product is no longer supported. Please contact your account representative

Any other advice you can give me to get set up like you did?  I have been through the same frustrating exercise of getting the above error and am at a loss as to how this all works.

Link to comment
Share on other sites

Try this. After getting an account with FirstData/Payeezy:

For testing the Authorize.net SIM method, install the Authorize.net module and configure it.

Then, using a programmer's text editor, open the file: /modules/gateway/Authorize/gateway.class.php

Find:

$this->_url = $this->_module['testMode'] ? 'test.authorize.net' : 'secure.authorize.net';
$this->_path = '/gateway/transact.dll';

Change to:

$this->_url = $this->_module['testMode'] ? 'demo.globalgatewaye4.firstdata.com' : 'checkout.globalgatewaye4.firstdata.com';
$this->_path = '/payment';

 

Link to comment
Share on other sites

This is great!  With your help, I'm almost there. I am successfully transported to a gateway screen to fill in credit card info.  When I fill it in and submit,  I now receive this:

The following errors were detected:
The merchant login ID or password is invalid or the account is inactive.

I'm not sure how the credentials are passed.  It would seem like a bad idea to hard code them into the .php code.  Any ideas?

 

Link to comment
Share on other sites

You gotta ACTUALLY have an account. The (temp) password will be included in the "welcome" email you get when you register.

Are you (or are you representing) a Firstdata merchant?

Edited by njohn
Link to comment
Share on other sites

Oh no, I'm not sure what I did, but now it's trying to redirect me to test.authorize.net instead of demo.globalgatewaye4.firstdata.com.  I don't even get to a credit card input screen.

There is no reference to test.authorize.net anywhere in the cubecart / Authorize codebase.  I do see authorize.net referred to in config.xml and language\module.definitions.xml however.

There might be some weird caching thing going on that latched onto test.authorize.net while I was trying various things, but I've cleared the browser cache and refresh every page.

Maybe you have some suggestion because this makes no sense at all.

 

Link to comment
Share on other sites

Here is the store: http://www.fatpacking.com/cubecart/index.php

When I get to the final checkout, http://www.fatpacking.com/cubecart/index.php?_a=confirm and click the checkout button, I am brought to http://www.fatpacking.com/cubecart/index.php?_a=gateway to enter Credit Card info.  Unfortunately, before I can do anything, the cart redirects me to test.authorize.net and I'm served the error.

I'm pretty sure that the cart is caching this from a prior session when I was trying various things.  I have found that any time I change either the cart set-up configuration or any of the .php code that I have to refresh (F5) each page for the changes to take place.

If I could only refresh the gateway page, I think the error might go away although I don't know.    I am attaching gateway.class.php.  I actually messed around with it a bit so it's possible that I deleted or altered something important, but I don't think so.

 

gateway.class.php

Link to comment
Share on other sites

Update, I've had some success!!!!  I removed the extension and re-installed it to get it to work.

Now I am apparently getting through to the Gateway, but receive this

Unable to proceed with payment

We cannot proceed with payment because of technical difficulties.
Please try again later

Hosted Checkout Test Assistance

Hosted Checkout test mode detected.

Hosted Checkout uses security mechanisms to block repeated payment attempts. During integration with Hosted Checkout these may interfere with development and testing from time to time.

The result is that you may see this page, independently of whether your shopping cart, or other integration server, is configured properly.

To continue testing and developing your Hosted Checkout integration, you should try following this link to reset your session.

 

Edited by stevebo
Link to comment
Share on other sites

OMG Success!!!  Thank you both so much for all the help!  This process was way more involved than it seems like it should be.  I am going to post the steps necessary to make it work so that the next person can integrate Payeezy with Cubecart.  But for the moment, I'll post the receipt

image.png.e31cbac26e623cf366cfdbc7651fd61a.png

Link to comment
Share on other sites

If you a Cubecart user who needs to integrate with the Payeezy Gateway, here is how I did it.  Hopefully, this guide will be useful to you. Much of this guide’s content was provided by bsmither with some help from njohn and in other threads around the web.

Note:  I have not yet, "gone live" so who knows what other bugs may be out there waiting for me?  But this should get you connected to a test Gateway.

Although Cubecart officially says it doesn’t work on a Windows Server, I was able to get it running on one.  I have tried to denote these steps with WINDOWS SERVER ONLY.

Cubecart comes with many free gateway “extensions” which install the code necessary to link your Cubecart shopping cart with a Payment Gateway, for example Stripe or Paypal.  One of these is Authorize.net, which is the extension used to connect to Payeezy.


Don’t get fooled by the First Data extension.  Even though First Data and Payeezy are somehow the same (but different?) installing the First Data extension just seems to generate errors. I wasn’t able to get it to work anyway, maybe you can.  As an aside, I cannot for the life of me determine whether Payeezy and First Data are one and the same, somehow related or not related at all.


Step 1 (Cubecart side):

  • Enable the Authorize.net SIM extension: https://www.cubecart.com/extensions/payment-gateways/authorize-net-aim-sim
  • Click the lightning bolt
  • Copy and paste the token into Extensions > Manage Extensions > Token on the Cubecart admin
  • Click Go to install
  • Under Available Extensions, Authorize.net should now appear.  Check the Status box and click Save to make it “live”
  • Click on Authorize.net (Dashboard > Manage Extensions > Authorize)
  • Make sure Mode is SIM unless you are writing your own Payment API (along with all the PCI security codes – who’s got the life force to do that?) in which case you’d choose AIM
  • Check Test Mode (Eventually uncheck and save when going live)
  • You will need to provide an API Login ID and a Transaction Key.  You can’t do this until you have set up a Payeezy Gateway Account (Demo account to figure this all out, but eventually a live working account).
  • On the Payeezy Gateway Side:

Step 2 (Payeezy side):

  • To establish a Demo Account. Register for a Demo Payeezy account at:   https://provisioning.demo.globalgatewaye4.firstdata.com/signup
  • Once registered you will receive welcome emails with your Demo Login Credentials.
  • You should choose Hosted Checkout (HCO) unless you want to write your own Payment API with all the security issues that come with it.  HCO allows you to press a submit button from the Cubecart Payment Confirmation page and leave the actual credit card entry page up to the Payeezy Gateway.
  • Cubecart’s free Authorize.net extension sends all the information and fields that the Payeezy Gateway expects such as price and merchant ID (your store name) in order to process the transaction.
  • Next, we’re going to link your Payeezy Demo Merchant Account with Cubecart
  • Log into Payeezy
  • Go to Payment Pages
  • Click on Payment Page ID
  • Choose 10. Hash Calculator
  • Copy x_login and transaction_key into Cubecart > Dashboard > Manage Extensions > Authorize > API Login ID & Transaction Key
  • Click Save
  • Now you are ready to modify the Authorize.net code so that it works with Payeezy.  

Step 3 (Cubecart again):

Change the following code on the server in the file <cubecart folder>/modules/gateway/Authorize/gateway.class.php

Find:
$this->_url = $this->_module['testMode'] ? 'test.authorize.net' : 'secure.authorize.net';
$this->_path = '/gateway/transact.dll';

Change to:
$this->_url = $this->_module['testMode'] ? 'demo.globalgatewaye4.firstdata.com' : 'checkout.globalgatewaye4.firstdata.com';
$this->_path = '/payment';

Also: You must capitalize CC and PAYMENT_FORM in <cubecart folder>/modules/gateway/Authorize/gateway.class.php as specified here: https://support.payeezy.com/hc/en-us/articles/204686725-First-Data-Payeezy-Gateway-Payment-Page-Field-Validation


Change
                'x_method'                => 'cc',
To 
                'x_method'                => 'CC',


Change
                'x_show_form'            => 'payment_form',
To
                'x_show_form'            => 'PAYMENT_FORM',

WINDOWS SERVER ONLY: add the following code to Web.config:


<!--This is for Cubecart!!!-->
     <system.webServer>
      <httpErrors errorMode="Detailed"/>
      <rewrite>
         <rules>
               <rule name="rule 1R" stopProcessing="true">
               <match url="^cubecart/(.*)\.html?$" />
               <action type="Rewrite" url="/cubecart/index.php?seo_path={R:1}" appendQueryString="true" />
            </rule>
         </rules>
      </rewrite>

 

WINDOWS SERVER ONLY
One other issue you might have on a Windows Server is that index.php isn’t recognized as a start page.  You can easily create a page that loads automatically that transfers control over to index.php.  So create a file called index.html consisting of the following code.  If it’s not obvious, make sure to replace YourDomain with your website’s domain name and <cubecart folder> to the directory where you installed Cubecart.


<html>
<head>
<title>[Your shopping cart name] Shopping Cart</title>
<meta http-equiv="refresh" content="0; URL=http://www.YourDomain.com/<cubecart folder>/index.php">
<meta name="keywords" content="automatic redirection">
</head>
<body>
If your browser doesn't automatically go there within a few seconds, 
<a href="http://www.YourDomain.com/<cubecart folder /index.php">Click Here</a>.
</body>
</html>

 

I’m sure there’s stuff I’ve forgotten.  For example when debugging Cubecart it helps to refresh your browser after every change you implement.   But I hope this is useful for someone else who wants to do the same integration.

Link to comment
Share on other sites

To be clear, by "Windows Server", there is the IIS webserver running on the Windows Server operating system.

Neither is supported by CubeCart Ltd. That is, getting the Rewrite URL configured on IIS (or any other webserver other than Apache), nor the peculiarities of PHP and dealing with the backslash of Windows OS directory separator.

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...