Jump to content
Sign in to follow this  
MediaHound

Quickbooks Merchant Service v1.0

Recommended Posts

The issue I'm having is the certificate signing request GUI provided in cPanel does not allow you to fill out the Common Name (and "pass phrase" is not mapped to it!)

IMPORTANT: When creating this certificate the Common Name (Your Name) needs to be EXACTLY your.url:your.application.name.

 

Now to figure how to do the CSR the old fashioned way...

Share this post


Link to post
Share on other sites

parmenio, could you post some code examples of what your using behind each of these, and if your not using any and left them blank, could you let us know?

 

Subscribe URL: * * Need https URL

Change URL: * * Need https URL

Cancel URL: * * Need https URL

Login URL:

Marketing URL:

Share this post


Link to post
Share on other sites
The issue I'm having is the certificate signing request GUI provided in cPanel does not allow you to fill out the Common Name (and "pass phrase" is not mapped to it!)

Now to figure how to do the CSR the old fashioned way...

 

MediaHound,

 

I will try to help you out as I have time, but I will be swamped with work for the next month. In order to create the key and CSR, you will probably need shell access to your account. I was unable to create the key / CSR from cPanel itself. To see if Shell access is enabled on your account from cPanel, in the "Security" category, you might see something that says "SSH/Shell Access," and try to connect by going to Java Telnet Applet if its available. If you cannot get in that way, you may need to email technical support of your webhost and request shell access (this is what I had to do). They should provide the details about how to get in through there. Once in, you can simply type in the commands the tutorial describes using openssl. It helps a LOT if you have some experience with basic UNIX commands to allow you to navigate your way through different directories. Otherwise, you can run the commands for openSSL in the shell prompt, and then manage the actual key, csr, and crt files you will create via File Manager in cPanel. Of course, if you are running a Windows-based server, then I suppose everything will be different.

 

I hope this is helpful and not confusing. Otherwise, be sure to let me know how you're doing! It may be helpful when I try to type up my own version of a step-by-step guide on how to get this darn thing to work. QBMS is the most difficult payment module I have ever had to work with, but it may also be one of the most secure.

 

Best of luck,

Parmenio

Share this post


Link to post
Share on other sites

That sounds great Parmenio, thanks.

 

I created my CSR, submitted it, and got it signed. I was fed back my two certificates.

 

I put them together into one file named intuit.pem and put it in a secure, non- web accessible URL.

 

I then visited my confirm appid url and got this error

 

There is a problem with sharing your financial data between applications.

 

Error Message: Auth ID does not exist

Exception from other package:

AuthException: (-90) Auth ID does not exist

 

 

Maybe these obstacles will help to prepare some step-by-step guide or be useful for others as we figure it all out.

Share this post


Link to post
Share on other sites

One thing I will suggest is to use a path for the ticket to be created in a place most people will have access to.

I wrote it to /tmp and luckily I can access /tmp but I can see this being a problem for most users.

intuit.php

<?php
//This script is accessed by Intuit's QBMS to return data from a request.

$PHP_ConnectionTicket = $_POST['conntkt'];
$PHP_AppData = $_POST['appdata'];
$PHP_AppID = $_POST['appid'];

$handle = fopen("/tmp/ticket.txt", "w");
fwrite($handle, $PHP_ConnectionTicket."\n");
fwrite($handle, $PHP_AppData."\n");
fwrite($handle, $PHP_AppID."\n");

?>

 

I presume that some people might need to change line 8 to a location thats not prevented access with a jail or cage...

Share this post


Link to post
Share on other sites
One thing I will suggest is to use a path for the ticket to be created in a place most people will have access to.

I wrote it to /tmp and luckily I can access /tmp but I can see this being a problem for most users.

intuit.php

<?php
//This script is accessed by Intuit's QBMS to return data from a request.

$PHP_ConnectionTicket = $_POST['conntkt'];
$PHP_AppData = $_POST['appdata'];
$PHP_AppID = $_POST['appid'];

$handle = fopen("/tmp/ticket.txt", "w");
fwrite($handle, $PHP_ConnectionTicket."\n");
fwrite($handle, $PHP_AppData."\n");
fwrite($handle, $PHP_AppID."\n");

?>

 

I presume that some people might need to change line 8 to a location thats not prevented access with a jail or cage...

 

I agree that /tmp is not the best directory to use for most person's setups, and I will use another address once I write my own tutorial for the osCommerce community. I do caution you put your ticket file somewhere secure once you have received it. You do not want anybody besides yourself to be able to read that file!

Share this post


Link to post
Share on other sites

intuit.pem should look something like this:

 

-----BEGIN RSA PRIVATE KEY-----
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
keyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfokeyinfo
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
certinfocertinfocertinfocertinfocertinfocertinfocertinfocertinfo
-----END CERTIFICATE-----

Share this post


Link to post
Share on other sites

If you get this error in your /tmp/curlerrors.txt

* About to connect() to webmerchantaccount.quickbooks.com:443
* Connected to webmerchantaccount.ctcfe.quickbooks.com (12.149.175.48) port 443
* error setting certificate verify locations
* Closing connection #0

 

make sure to give the webserver permissions to read from /your/path/to/usr/share/ssl/certs/ and permission to read /your/path/to/usr/share/ssl/certs/intuit.cer

Share this post


Link to post
Share on other sites

I'm trying to follow the external tutorial found at http://idnforums.intuit.com/messageview.as...p;threadid=7743 and am stuck on step number 2. I was wondering if anyone could help me out.

 

"When creating the application, Quickbooks will ask for an “https:\\” callback url for various functions. It is VERY important that these URLs have a VALID SSL certificate issued by a recognized Certificat Authority (CA). We use RapidSSL here and have never had any trouble with their service or certificates. "

 

Does anyone know what the callback URLs would be for the following on a standard OSC installation?

 

Subscribe URL: * * Need https URL

Change URL: * * Need https URL

Cancel URL: * * Need https URL

Login URL:

Marketing URL:

 

I have https://www.mydomain.com but not sure what else would be required.

 

Any help would be greatly appreciated.

 

My client thought they were doing me a favor by signing up for Quickbook Merchant Services, but it's turning out to be an absolute nightmare making it work with OSC, which I love and can usually make work with anything :-(

 

Thank you!

Edited by montyrach

Rachel M.

Share this post


Link to post
Share on other sites
That sounds great Parmenio, thanks.

 

I created my CSR, submitted it, and got it signed. I was fed back my two certificates.

 

I put them together into one file named intuit.pem and put it in a secure, non- web accessible URL.

 

I then visited my confirm appid url and got this error

 

There is a problem with sharing your financial data between applications.

 

Error Message: Auth ID does not exist

Exception from other package:

AuthException: (-90) Auth ID does not exist

Maybe these obstacles will help to prepare some step-by-step guide or be useful for others as we figure it all out.

MediaHound,

I have cPanel too with Shell access, but I've never used the shell before. Can you walk me through setting up the CSR? Any help would be greatly appreciated!

Thanks!

Share this post


Link to post
Share on other sites

Ok so it looks like i was able to successfully get Ticket number(TGT) i also put in the IP address for the server, all the certs seem to be in place (i figured because QBMS posted the ticket) i put in the intuit.pem file i updated the info in the module... then i go and try test the server and i get

 

 

Error!

 

An error has occurred within our system while trying to process your credit card. Please try this transaction again. If the problem persists, please call 1-800-317-6958 to place your order.

Share this post


Link to post
Share on other sites

I got a little further...

 

<SignonAppCertRs statusCode="2000" statusSeverity="ERROR" statusMessage="Host in certificate does not match connected host">

 

not sure what this means though.... does anyone?

Share this post


Link to post
Share on other sites

Ok one step further but is it working.... i am not sure i am using the test and it says..

 

<CustomerCreditCardAuthRs requestID="23909" statusCode="10401" statusSeverity="ERROR" statusMessage="The request to process this transaction has been declined. " />

Share this post


Link to post
Share on other sites

I have successfully got this working in a test environment with a developer account from intuit. It completes the order, gives me the admin email, and gives me (as the customer) the order confirmation email. it all looks great.

 

But...the order is not in the osc admin area under customers->orders...

 

Any ideas?

 

Also, i know this is probably not the place to ask, but intuits support is ridiculous, but on the intuit/qbms side of it, will there be anything to show that an order was recieved, etc etc. Possibly an .iif file to import into quickbooks, from qbms?

 

Any help is appreciated, thanks!

 

--edit--

the order is showing in my database in the orders table. I signed up as a new customer and that shows up in the customers area on osc admin.

Why the order shows up in the database, and not at ALL on customers->orders is rather puzzling...

Edited by ericTM313

Share this post


Link to post
Share on other sites

Can this module work if you are using Quickbooks "Desktop" Model instead of the web based one?

 

Just want to know ahead so as to prevent yet another nightmare with QBMS...

Share this post


Link to post
Share on other sites
Can this module work if you are using Quickbooks "Desktop" Model instead of the web based one?

 

Just want to know ahead so as to prevent yet another nightmare with QBMS...

 

hi there -

 

I was installing qbms.php on a shared host, and after going through the whole certificate/callback process realized that I had to use "Desktop" since the IP number which QBMS sees from my host is dynamic and does not match that of the website's IP. "Desktop" is also a lot easier to configure overall as theres no certificate/callback madness.

 

I adapted the XML snip posted on the Intuit support thread into qbms.php and added options for "Hosted/Desktop" and "App ID". With this version, the certificate file and originating IP are only needed if you selected "Hosted". The new version is attached to http://addons.oscommerce.com/info/5383 .

Share this post


Link to post
Share on other sites

Hi, I'm brand new to ecommerce and am researching payment vendors. I was leaning towards Quickbooks' Merchant Services as I have the Accounting software and the thought of integration sounds nice. I'm capable enough to probably get this setup, especially with some instrcution, but don't want to go with QuickBooks if what I'm hearing is true about their support. I'd rather not be out on a limb when it comes to my business.

 

Any suggestions for someone looking for a simple, yet inexpensive solution?

 

PS (apologies if this is out of scope of this forum)

 

Regards,

-Brian

Share this post


Link to post
Share on other sites

I am trying to follow this trail on the install process - I have looked over the tutorial at

 

http://idnforums.intuit.com/messageview.as...MVIEWTMP=Linear

 

and in this OSC topic - I am stuck at step

 

http://appreg.intuit.com

 

Once you have created an account with this system, you can create your project. It is important that when you do this you set the variables to the proper values.

 

 

When I login to http://developer.intuit.com/membership/MPC...pplications.asp

 

Do i have to add an application ( looks like my only option)? Where do I create the project to get the appid needed to gen the connection ticket?

 

I see this:

 

Follow the steps below to submit your integrated application. Required fields are marked with an asterisk. Once you complete the form, click the "Submit" button at the bottom of the page to complete the process. If you would like tips on what to enter in each field, click on the “Help" link to the right of each section.

 

The information you provide below will be used to properly display your listing in the QuickBooks Solutions Marketplace. Your support and contact information will be included with your listing so that QuickBooks customers can contact you directly for sales and support for your product.

 

>> all the into required relates to setting up a QB integrated app for sale - when I am just trying to get the QB payment module working on OSC.

 

I gend the SSL cert for the user and have the intuit.php file and the pem file in place - but where do I get the confirm app URL?

 

from previous posts:

 

I then visited my confirm appid url

 

http://merchantaccount.quickbooks.com/j/sd...p;appdata=10001

 

Where does the value MYAPPID come from?

 

This process is nuts - I have access to the client QB merchant account interface - there is nothing in there about gening the connection ticket. Can someone throw me a line - I am drowning here :-(

Share this post


Link to post
Share on other sites

I can tell you that I never filled this page out:

http://developer.intuit.com/membership/MPC...Application.asp

 

This is where you should add your app info:

http://appreg.intuit.com/AppReg.aspx (click add)

 

Once you do, you should see it listed here, and it will show you your appid:

http://appreg.intuit.com/

Edited by MediaHound

Share this post


Link to post
Share on other sites

ok, so im totally confused on this whole thing... :'(

I am on a shared server at NetworkSolutions. It's a basic hosting account, not ecomm. I have an SSL with them and they installed it, so I know nothing of CSR's. Do I need to generate a CSR if my host and SSL are the same? And I saw someone mention that I would need to connect via SSH/Shell....how do i do that? Thanks in advance.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×