Jump to content


  • Content count

  • Joined

  • Last visited

Everything posted by madinchina

  1. Hello all, I'm currently helping a client with his OSC-based store. About a week ago, the site suddenly stopped accepting credit cards via Authorize.net AIM (the store's only payment option). The merchant has been taking orders and processing credit cards through a.net for at least a couple of years now, so I've been trying to figure out what happened to make it die so abruptly. When I make my way through the order process (with either a real CC or a test number), I'll enter all the required details and make it through checkout_shipping.php, checkout_payment.php, and checkout_payment.php without a hitch. Then, once I click "Confirm Order," the site dumps me back to checkout_payment.php with this message in the URL (not anywhere on the page itself) https://clientdomain.com/checkout_payment.php?error_message=%20-%20Your+credit+card+ could+not+be+authorized+for+this+reason.+Please+correct+any+information+and+try+ again+or+ contact+us+for+further+assistance.&osCsid=652496ee25174654ce40f6390a6ebdcd "- Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance." (kinda looks like there should be something more descriptive before that hyphen. At this point obviously, a.net shows no indication of any new orders or anything at all for that matter. The a.net AIM module in the OSC backend is set up exactly as it's always been. I don't have personal access to the client's authorize.net merchant account "control panel," so I have to ask him to check and change settings and such. I've updated the AIM module to the latest version from here: http://www.oscommerce.com/community/contributions,4091 and tried a new transaction key, but no luck still. The server is running osCommerce 2.2-MS2, cURL is compiled in PHP, and everything else seems to check out. I tried switching over to the SIM module as well, but I got kicked back to the same page again, this time with https://secure.authorize.net/gateway/transact.dll as the URL and an error of "There has been an error processing your credit card. Please try again." The only other info that I can think of that may be relevant was that when I was logging in to the site hosting account's (siteground) cPanel for the first time to troubleshoot, Firefox 3 gave me a Secure Connection Failed https://[client's domain] uses an invalid security certificate. The certificate is not trusted because it is self signed. The certificate is only valid for serv01.siteground141.com (Error code: sec_error_untrusted_issuer) I had to create an exception in FF to allow myself through to cPanel, but I'm not sure if any of that would be causing this problem (I'm not too familiar with shared SSL, or even if that's what this is). Any ideas/suggestions? Thanks
  2. madinchina

    AJAX Attribute Manager support

    Hello, Great contribution! I installed this on a client's store, and it looks great, but I'm having a weird problem with it. When I open up a product to edit, the Attribute Manager shows up properly, but when I expand an attribute, most of the names of options are blank. The prefixes and prices are still correct, but there's no way to tell which option you're actually looking at for the ones that are blank. I made a list of some of the options that were being displayed correctly and checked the "products_options_value" table in my database. Here's the strange part: Only options with a products_options_values_id of ~600 or higher are being displayed correctly in AJAX Attribute Manager. I've tried v2.8.2 and v.2.8.5 of the contribution with the same problem. I am using osCommerce MS2 (not RC1 or RC2 or anything, this is the one from like July '03). I'd really like to roll this mod out to the live site for the client to use, but I need to figure out this problem first. Any ideas?
  3. Just in case anyone wants to see what I'm talking about, here are the links to the products I mentioned above: Al Fakher 250g Box: http://mnhookahs.com/product_info.php?cPat...;products_id=42 Al Fakher 3-pack: http://mnhookahs.com/product_info.php/?cPa...products_id=194 Please note that QTPro is not yet installed on the live site, just on my own test environment. Those links are simply to help describe what I mean with the lists of attributes.
  4. Hello all, (Scroll down a bit for my question if you don't need all the extra details.) I'm doing some work for a client on his osCommerce-based store. He recently asked if I could install something to allow him to track the stock of individual product attributes, because up to this point, he's been doing it all manually (*shudder*). I chose QTPro v4.3 to install, since he's running a quite old, rather heavily-modified version of osCommerce MS2 (from June '03, actually). I installed the modification in a test environment and everything seems to work fine. However... One of the things the store owner sells is hookah tobacco. He has a few special deals of "3-packs" or "5-packs" of items. For example, one of his products is "Al Fakher [a brand of tobacco] 250g Box." He also has another, separate product in the catalog called "Al Fakher 3-pack" (total of 750g) which is a better deal than buying 3 of the first product. Pretty straightforward, but the store stocks over 30 flavors of Al Fakher, which are selected by the customer in the form of product attributes. Here's how this is set up: The Al Fakher 250g Box has one list of attributes from which a customer can pick called "Choose Al Fakher 250g Flavor." Pretty straightforward, and QTPro deals with the stock of these fine. However, for his Al Fakher 3-pack (750g), there are three more separate attributes, one called "Choose Al Fakher Flavor #1," another called "Choose Al Fakher Flavor #2" and another as #3. Basically, osCommerce is set up with four groups of attributes which all contain the same flavors. This doesn't work for QTPro, obviously. I need QTPro to track all of the flavors in each of these attributes as one set of attributes, if that makes sense. As it stands, one flavor of Al Fakher shows up in four places, with four different stock quantities. The other problem is that QTPro sees the selected attributes for the 3-pack as combinations, when the flavors picked are actually independent of each other. Is there any way to make QTPro look at the quantity in stock of the selected flavor, rather than the stock of the "combination" selected? With over 30 flavors of Al Fakher, there would be over 27,000 combinations to track, and that's just not practical. If a customer were to pick the flavors Cherry, Lemon, and Mint for their 3-pack, they'd receive the message that the selected combination is not in stock, even though there are many boxes of Cherry, Lemon, and Mint (separately) in stock. Is there any way to have QTPro or osCommerce see these three attribute choices not as an interdependent "combination," but simply as three individual flavors out of the 30 that should be tracked? Basically, is there any way to have osCommerce list the same attribute three times? I tried messing with the products_attributes table in the database to see if osCommerce would let me show the same attribute three times for one product, but when I did, the site saw the duplicates (or triplicates, I guess) in the database and only displayed one attribute. I realize that this is more of a problem with the way my client has his catalog set up, but I'd really appreciate any help with this issue. The only other option I can think of is setting up some sort of quantity price break system (so there'd be one product called Al Fakher 250g and the customer receives the 3-pack discount after adding 3 250g boxes to his shopping cart). However, that would require a complete overhaul of the store's product catalog, and the client would rather not get rid of the separate "3-pack" product since it's so popular with his customers. Thanks in advance for any suggestions. Please let me know if you'd like further details/explanation on the issue.
  5. madinchina

    [Contribution] - USPS Methods

    I'm using the USPS Methods module on a client's site for postage calculation, and last Monday night, it suddenly stopped working entirely, preventing customers from moving past the "Shipping Methods" part of the checkout process. I've disabled the module for now so customers can actually check out, but for now the client has to manually charge shipping costs. Before I disabled it though, it gave me the standard "An error occurred in calculating..." message. When I turned on the option to email myself with USPS's API response (by filling out the appropriate details in the mail() function in usps.php), I received the email but it contained no response whatsoever. From what I can tell, the module is putting together the request just fine, but it's failing upon attempting to make the connection to the USPS API, thus the lack of any response. I've tried multiple versions of the USPS module (and even an entirely different USPS module), but they all give me the same problem. I believe that it's a problem with my host's server, and I've informed them of the issue, but so far I've just discovered that they're really not very good at their job. Can anyone help me figure out what function/software/protocol uses to connect to the USPS server so I can help my host's tech support fix the problem on their side? Is it just a simple HTTP socket connection? For reference, here is (I think) the code that actually makes the connection to the USPS server: $http = new httpClient(); if ($http->Connect($usps_server, 80)) { $http->addHeader('Host', $usps_server); $http->addHeader('User-Agent', 'osCommerce'); $http->addHeader('Connection', 'Close'); if ($http->Get('/' . $api_dll . '?' . $request)) $body = $http->getBody(); mail('[my email address]','USPS rate quote response',$request . $body,'From: <[client's email address]>'); if ($transit && is_array($transreq) && ($order->delivery['country']['id'] == STORE_COUNTRY)) { while (list($key, $value) = each($transreq)) { if ($http->Get('/' . $api_dll . '?' . $value)) $transresp[$key] = $http->getBody(); } } $http->Disconnect(); } else { return false; } Thanks in advance for any help!
  6. madinchina

    Declined credit cards - issues with error

    I'm not sure about your second question, but here's some code to add to get the error message to appear more prominently (in bold red text) on the payment page: In the file /catalog/checkout_payment.php (make a backup of this file before modifying, just in case) Find these lines, around line 223: <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_PAYMENT_METHOD; ?></b></td> Add this directly below that last line: <?php $ccnotif = $_GET["error_message"]; ?> <div style="padding-left: 5px; padding-right: 5px; color:#FF0000; font-weight:bold; font-style:italic "> <?php echo $ccnotif; ?></div> <br /> Feel free to play around with its location on that page, too.
  7. madinchina

    authorize.net problems

    So, I sent a support ticket to the client's web host, and it seems they tinkered around with something (even though they said they couldn't help any further). Whatever they did (I'm assuming they recompiled cURL or something), they partially fixed the problem. Then emailmaomao's (Vger's) version of the AIM module started giving me the following error code from Auth.net, instead of absolutely nothing from Auth.net as it was doing earlier today: RESPONSE: 3,2,13,The merchant login ID or password is invalid or the account is inactive. I realized that the version of the AIM module has the wrong production mode URL (https://test.authorize.net/gateway/transact.dll instead of 'https://secure.authorize.net/gateway/transact.dll), so I fixed that and now AIM is working again! Thanks again for all your help. If you're still interested in the problem with the other AIM module (Ponce's version), let me know and we can work on it more, but it's not a big priority any more now that we have some form of AIM running on the site.
  8. madinchina

    authorize.net problems

    Okay, so we changed the MD5 hash field in his auth.net account and on the module settings to an 11-letter keyword (as Auth.net's tech support suggested) instead of a full MD5 hash value. We also tried using an actual 128-bit MD5 hash, but no luck on either front. The module is still sending no CC data. I'm going to spend some time diving into to the module's PHP and OSC's checkout process PHP to see if I can't find out what's going on. Any suggestions or guidance would be great. What's your MD5 setup like on your site? Are you using an actual MD5 hash in both fields (the osCommerce module setup and the auth.net account settings), a "keyword" in both fields, or are there two different values between fields? I'm pretty sure we had it set up correctly (which is why I'm going to explore some other areas), but I just want to make sure. Thanks!
  9. madinchina

    authorize.net problems

    Just waiting on the client for now, as I don't have his Auth.net login details. I'll keep you updated.
  10. madinchina

    authorize.net problems

    Argh, my own stupid mistake strikes again! :rolleyes: I'd accidentally uploaded the authorizenet_cc_aim.php module into the /includes/languages/english/modules/payment/ folder, instead of the appropriate language file. The module was in the correct folder, calling a duplicate of itself (or something) from that language folder. That's why I was getting the redeclare PHP error. Anyway, now that I've got this module back, I'll try the MD5 hash and get back to you.
  11. madinchina

    authorize.net problems

    Hmmm... That code (exactly as shown) already exists in my module file. On a side note, I really appreciate how helpful you've been. Let me know if there's anything I can do to return the favor.
  12. madinchina

    authorize.net problems

    Well, this is strange... Suddenly, the authorizenet_cc_aim.php module is giving me an error: Fatal error: Cannot redeclare class authorizenet_cc_aim in /home/mnhookah/public_html/includes/modules/payment/authorizenet_cc_aim.php on line 13 I tried reverting to the original file, but still the same problem (it obviously has nothing to do with your fwrite script, since the error's on the first non-comment line of the code). Any ideas on why that's appearing out of the blue? I'm starting to think that this site's webhost (Siteground) sucks... I'm using osCommerce 2.2-MS2.
  13. madinchina

    authorize.net problems

    Thanks again. I'm still waiting on the client so I can have him log in to a.net and make the changes, so for now, I've been casually playing around with authorizenet_cc_aim.php to see if I can make it send the CC info without using the MD5 hash. It looks like the code does have a conditional to avoid using that hash function if there isn't an MD5 hash specified in the module's config, but I'm not sure if that's working correctly since the module is just sending blank CC info. Another possibility that I was thinking of is that the module itself is significantly newer than the version of osCommerce I'm using on the site (2.2-MS2), so it might be attempting to send variables to one of the checkout_.php pages when that page isn't equipped to accept those variables. For example, the AIM module that the site was using before requested the user's CC info on the checkout_payment.php page, whereas this module requests the user's CC info on checkout_confirmation.php instead. Could this be a problem? Any ideas? Also, what version of osCommerce are you using?
  14. madinchina

    authorize.net problems

    I've never been so excited to get an error message in my life. :lol: Here's the (censored where appropriate) info from my log: SENT: x_login=[...]&x_tran_key=[...]&x_version=3.1&x_delim_data=TRUE&x_delim_char=%2C&x_encap_char=%22& x_relay_response=FALSE&x_first_name=Peter&x_last_name=Magenheimer&x_company=&x_address=[...]&x_city=[...]&x_state=[...]& x_zip=[...]&x_country=United+States&x_phone=[...]&x_cust_id=[...]&x_customer_ip=[...]&x_email=[...]&x_description=[...]& x_amount=7.30&x_currency_code=USD&x_method=CC&x_type=AUTH_CAPTURE&x_card_num=&x_exp_date=&x_card_code=& x_ship_to_first_name=Peter&x_ship_to_last_name=Magenheimer&x_ship_to_company=&x_ship_to_address=[...]&x_ship_to_city=[...]& x_ship_to_state=[...]&x_ship_to_zip=80526&x_ship_to_country=United+States&x_freight=6.30&x_line_item=1<|>[...]<|>[...]<|>1<|>1.00<|>NO RESPONSE: "3","2","33","Credit card number is required.","","P","0","","[...]","7.30","CC","auth_capture","[...]","Peter","Magenheimer","" ,"[...]","[...]","[...]","[...]","United States","[...]","","[...]","Peter","Magenheimer","","[...]","[...]","[...]","[...]","United States" ,"","","6.3000","","","[...a 128 bit hex value]","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" POST: x=45 POST: y=7 Done. (Note specifically the blank x_card_num, x_exp_date, and x_card_code, despite the fact that I gave valid CC info for the transaction. Also, the 128-bit hex value I censored in the RESPONSE, but it looks like an MD5 hash.) I should probably also note that the MD5 hash field in the AIM module config (and as far as I know, on the authorize.net account setup) is blank, since the site had previously been using a different AIM module (one without the MD5 field). Is the MD5 required by this module/a.net? If so, do I just need to set any MD5 hash in a.net's account settings and then match it on osC's side, or is there another process? I'd check myself, but I don't have the client's authorize.net login details, so I'll need to guide him through the process.
  15. madinchina

    authorize.net problems

    Thank you very much! I'll try this tomorrow and see what I get. Then maybe Authorize.net's support will be a bit more helpful.
  16. madinchina

    authorize.net problems

    (Sorry for the double post, but can we not edit out own posts here?) Josh: what version of the AIM module are you using? Emailmaomao's (Vger's originally, I think) or ponce's? Also, I tried adding the code from this topic: http://forums.oscommerce.com/index.php?t103839.html , but the versions of the AIM module that I'm using don't even have a file called authorize_direct.php, so I'm assuming it only works with a very old version. Does the code you're using look similar? In what file did you have to insert it to get it to write the response codes to a file? Thanks
  17. madinchina

    authorize.net problems

    Josh, Would you mind describing how and where you set up fwrite to write all those POST/RESPONSE variables to a log? I've been having trouble with the AIM module as well (stopped working out of the blue), and I'd like to capture whatever error codes might be coming through so I can troubleshoot further. Thanks!
  18. madinchina

    Authorize.net AIM suddenly stopped working

    I'm definitely suspecting that it has something to do with Siteground's hosting now (maybe not necessarily SSL, but something in their server config). Let me know what you hear from them, and if I can, I'll give them a call too and see if they give me a similar answer. I was able to get my client's shop running again by switching over to the Authorize.net SIM module (no CVV code) and messing around with it a bit more until it worked. Turns out SIM started working correctly, but I was forgetting to include the middle initial in my name for the credit card input screen... :blush: However, I still need to get AIM running correctly again, because the client needs to be assured that his site is using the best credit card security possible. Anyway, try switching over to SIM and let me know it works for you. Don't forget to set your relay and receipt URLs in your Authorize.net account as follows: Receipt URL: https://yourdomain.com/cataloglocation/chec...onfirmation.php Relay Response URL: https://yourdomain.com/cataloglocation/checkout_process.php
  19. Sorry to cross-post, but I wasn't sure where my question would get more exposure. The Authorize.net AIM module on a client's OSC-based site just suddenly stopped processing credit cards recently (after doing it successfully for years). Here's the full topic, with many more details: http://forums.oscommerce.com/index.php?showtopic=309532 Thanks!