Quickbooks Payment Gateway for Virtuemart
- Created on Saturday, 13 June 2009 00:20
For those Joomla users out there who are also looking for a free eCommerce solution that works well with Joomla, Virtuemart seems to be the popular component. Yes, there are other free solutions, like Zen Cart. However, Virtuemart is very easy and intuitive to set up, the functionality and usability are clean, it integrates well with Joomla and comes pre-installed with a number of popular payment gateways (Paypal, authorize.net, 2checkout and more). I've just finished installing it on a site that I manage and I'm fairly happy with how the set up went.
However, as with all good extensions for Joomla, they're made outside the US, usually in places like the UK, Russia, Germany or Sweden. The problem with Virtuemart (developed in Germany) and other payment and billing related extensions is that they don't seem to support the most popular accounting software platform in the US, namely Quickbooks by Intuit. Quickbooks offers their users the opportunity to sign up for a Quickbooks Merchant Services account (QBMS), which is their payment gateway product that allows them to process credit card transactions. Of course, they offer connections and partnerships with many paid solutions, like those from GoDaddy. But if you want to do it on your own, like I did with Joomla, then good luck.
Well, that's where this little handy extension I found for Virtuemart comes in. This is not published in the Joomla extensions directory, nor officially on the Virtuemart Website. However, it will let you hookup QBMS as a payment gateway inside Virtuemart.
Here is the post reprinted...
The need: Integrate the QuickBooks Merchant Service Payment Module into a Joomla 1.5.7 web site using Virtuemart 1.1.2 as the shopping cart application.
Acknowledgments: Atandra - Many, many thanks to Atandra for the qb payment module.
To kolexndr on the Virtuemart forum that provided support when I needed it.
The problem: I am not a developer and all the documentation is skewed toward developers. This causes some confusion and a great deal of lost time. Add on top that the direction given from QuickBooks Merchant Services is (for lack of a more expressive and child-friendly term) CRAP.
Here is what I did to make the whole thing work for me:
1) Make sure you have access to the merchant account, merchant account email and password for the business you are setting this up for.
2) Go here and create a developer network user id and password for yourself: http://developer.intuit.com
In retrospect, I’m not sure if you actually will need this, but it won’t hurt. After creating a login for myself, I went through their process to “add an application”. Since I was not creating a software application per say, this did not make much sense to do, but I did it anyway.
3) Go here: http://member.developer.intuit.com/qbms/integration_center/?id=1206
At this location, are steps to setup a “Live Account”. If this link is no longer there, look under “Develop and Deploy” and “Go Live”. You need to use the “Merchant” account email and password here NOT your Developer network user id.
Also, this is where the difference between what a true developer would do and what I was doing is most apparent. If you are a developer, you will need to test a great deal more than just the hand-off for transferring/verifying credit card information. If you are like me, you simply need to make sure that the information entered in Virtuemart (for the cc processing) is making it’s way to/from QuickBooks Merchant Services.
Set yourself up to do “Live Testing” using the desktop model. By doing this, you will create a “Production” Appid, Applogin and get a “Production” Connection Ticket. Paste this information into Notepad as you will be using it later. If you are like me, setting up a “Test” Appid and Applogin is a waste of time.
4) When presented with a choice to turn on/off the Logon Security, Do Not turn it on (per Atandra, see later steps)!! You will be presented with this question when you are getting your connection ticket.
5) Information you will need for Virtuemart (which you should now have): Application ID, Application Login, Connection Ticket
6) Download and install the module from Atandra and read their documentation!!! At this point, use the Atandra documentation to properly install the module within your Virtuemart installation. If you’ve done the steps outlined above, you should not need to follow their direction for what you’ve already done at the member.developer.intuit.com, QuickBooks Merchant Services web locations. So don’t repeat the steps to create an Appid, Applogin and connection ticket. Here is their download: www.atandra.com/downloads/VirtueMart_QuickBooks_Payment_Module_v1.0.0.zip
7) Log into your web site and navigate to your Virtuemart installation.
8)Click on Store | List Payment Methods | and click Credit Cards QBMS.
9) Under the “Payment Method Form” tab, make sure it’s filled out as directed by Atandra.
10) Under the “Configuration” tab, set the following:
a) Test mode: NO (realize when you enter a transaction it will actually go through as a charge)
b) Enter the Application login, Application ID as received from the steps you performed at member.developer.intuit.com Make sure you type everything in correctly. A mistake here means you get some rude Status Code errors.
c) I entered my application version as 1.0
e) Again, click on Credit Cards QBMS
f) Click on the Configuration tab
g) Click on Show/Change the transaction key.
h) Enter the administrator password used to log into the Administrator interface to your Joomla web site.
i) Copy the connection ticket into the area for the connection ticket and re-enter your Joomla administrator password. Submit.
j) With luck on your side, and in the proper phase of the moon, your connection ticket should now be properly stored.
11) Open a web browser, run through a transaction and see what happens.