I posted the following on the QBMS SDK forum: http://idnforums.intuit.com/messageview.as...p;enterthread=y These findings illustrate a couple of bugs that could be fixed for the next version: I installed OS Commerce and the QBMS plugin available ( http://www.oscommerce.com/community/contributions,5383 ) on my machine to see what problems other developers may be having. Here are some tips and things I learned along the way (note, that as the developers of the plugin make changes, some of these issues may be resolved. I was using "Quickbooks Merchant Service v1.3"). This pertains to the Desktop Security Model configuration: 1. In the plugin configuration, if you have chosen the Desktop Model, you will need to clear out the IP Address field. It is set to 188.8.131.52 by default, but you need to delete this for the plugin code to execute correctly - if the value is non-null, the code assumes you are using the hosted model, which causes things to break. 2. In qbms.php, if you are using the desktop model, look for this snippet of code: if(MODULE_PAYMENT_QBMS_TEST == 'True') $QBMS_ApplicationPath = 'https://webmerchantaccount.ptc.quickbooks.com/j/AppGateway'; else $QBMS_ApplicationPath = 'https://webmerchantaccount.quickbooks.com/j/AppGateway'; You will need to manually edit the links so that they point to urls without the 'web' prefix (the 'web' prefix is only used in the hosted security model): if(MODULE_PAYMENT_QBMS_TEST == 'True') $QBMS_ApplicationPath = 'https://merchantaccount.ptc.quickbooks.com/j/AppGateway'; else $QBMS_ApplicationPath = 'https://merchantaccount.quickbooks.com/j/AppGateway'; 3. If you are running this on a Windows machine and get curl error number 60 when attempting to send a transaction, then this site (http://www.vividreflection.com...url-in-php-on-windows/ ) explains what may be happening. Essentially, you need to download the standalone version of curl from http://curl.haxx.se/latest.cgi?curl=win32-ssl and place the url-ca-bundle.crt file in a location accessible to your web server. Then you need to add a line to qbms.php after curl_init(): curl_setopt($clientURL, CURLOPT_CAINFO, "c:/www/curl-ca-bundle.crt"); 4. This is mentioned in qbms.php, but the plugin only allows one transaction per customer per 15 minute period. The transaction will show as successful in OS Commerce, but no funds will be transferred, as it is treated as a duplicate at the QBMS SDK end because the transcation id is the same. This is just a limitation of the plugin and is not QBMS SDK specific. You should just be aware of this when deciding whether to use the plugin or not.