Jump to content


  • Content count

  • Joined

  • Last visited

Profile Information

  • Real Name
  • Gender
  1. Medworks

    Support for Stripe.com?

    So I got that was linked to earlier in this thread: http://addons.oscommerce.com/info/9078 But it doesn't actually work for me. My website is medexamtools.com. I SUSPECT that it's because my version of oscommerce is less recent (v2.2 rc2) DESPITE that it says it is compatible for it and not just 2.3, but I don't want to replace it with a newer version of oscommerce because I put in all sorts of customizations myself, such as shipping modules and whatnot and I wouldn't want to erase all that I did. Is there any way I can make this version of oscommerce, my shopping cart location: http://www.medexamtools.com/oscommerce1 work with this module? The problems with the module as it is (first of all, after creating a new order status when I installed it, which was really annoying, I just want to keep it with pending, shipped, canceled and limbo thank you very much, I don't want a special pending for stripe) is that the complete order button at the very end doesn't do anything. When I set it to test mode or live mode, it just does nothing when I click the submit order button at the end, except ONE time where I tried it with internet explorer instead of firefox, and it said it couldn't display the page, and I shortly received an e-mail with just this for debug info: $HTTP_GET_VARS: Array ( [osCsid] => 75d4baeb6c86be315c561db5f7dafbd5 ) I am not thrilled with enabling it, even in test mode, because I already had one customer who contacted me to cancel an order, and I know he must have been trying to use THAT module for payment even though credit card by authorized.net was option 2 and credit card (test mode) was option 3, I guess he still chose 3 anyway. But if anyone is willing to help me figure out what the deal is here, I'll enable it again. Otherwise, perhaps you're willing to tell me what I need to do to it to make it work with my current version of oscommerce, v2.2 rc2. I can say that I had to actually create new directories in my oscommerce1 directory to add the stuff in this module's zip file, it wasn't just modules and languages/modules, for 2 pairs of files, it was 6 files total and before I knew it, the thing had added a new order status and it still didn't work. I would really really like October to be the last month I have my current cc processing but I guess it's too late now unless I get it done today and cancel my account today which is probably not even possible since there's probably no one I can even call for this on Saturday. But then November. I definitely want November to be the last month. Thanks.
  2. I have engraving available for certain products under 'products attributes'. To see what I'm talking about, please visit this item: http://medexamtools.com/oscommerce1/product_info.php?products_id=28 As you can see, I have it as a drop-down menu for the number of characters to be engraved with a price for each one, and as it is, a customer who wants engraving would have to enter what he wants in the comment page that appears on the shipping options page in checkout, and furthermore it is left as responsibility of the customer to count the number of characters to be engraved and select the right number. Ideally there would be a text field where a user could simply enter the text desired, it would count the number of characters and set the attribute additional cost to the right amount. Or at the very least, for a text field to appear to the side which allows n characters to be typed into it and no more, n being the number selected in the drop-down menu. The best of all possibilities would be if I could even limit the number of characters including spaces to 20, but to charge for characters not including spaces or have the charge amount be an arbitrary function of 2 variables I specify, the 2 variables being characters including spaces and characters not including spaces, but that would probably be hoping for too much. Does anyone have suggestions? ------------------------------- There is something else I would very much like to do if possible. I currently have many items that are available in various quantity discounts - but they are listed as separate items. So there are Lister bandage scissors quantity 1 for $1.99, and lister bandage scissors quantity 5 for $8.75. That's all fine and dandy, except I have oscommerce keep track of inventory. Which means if I have 100 in stock, I have to, perhaps, allocate 80 to 5-at-a-time and 20 to 1-at-a-time, so the item for 1 @ 1.99 is given a stock of 20, and the item for 5 @ 1.81 each is given a stock of 16. But then someone wants to order 20 sets of 5, and it tells them there is insufficient stock, because the other 20 are allocated to the 1-at-a-time listing. I would very much like to have something like the +/- fudge factor for each item as is available in the products attributes be applied to one single item as a function of quantity, so I can have one single listing of Lister bandage scissors with a quantity in stock of 100, and if someone orders 1 of them they're charged $1.99 and if someone orders 5 they're charged $8.75, but they can order all 100, and they can even order 5 or more in a quantity that is not a multiple of 5 and still get them for $1.81 each. Does anyone have any ideas for that as well?
  3. I have solved it. The 7 .php files beginning with "checkout" in the oscommerce root directory: checkout_XXXX.php, for XXXX ε {confirmation, payment, payment_address, process, shipping, shipping_address, success} were of a version that was not compatible with the 2 credit card module files includes\modules\payment\authorizenet_cc_aim.php and includes\languages\english\modules\payment\authorizenet_cc_aim.php. Modifying the 2 credit card php files could not accomplish the task because the problem was with the 7 checkout php files that interface with them and nothing could be done to the 2 credit card php files to fix the credit card processing functionality because there was nothing wrong with those 2 files to fix. In September the 7 checkout files along with everything else in the root oscommerce directory were replaced, but the replaced version for some of the files, the 7 php checkout files among them, were, based on the comments within the files, from 2003, while the version from June was from 2006. Apparently the full official oscommerce file set I procured in September was in fact less up to date than what I had already.
  4. How do I capture the request sent? Some program that records data stream packets sent and received to various IP addresses? That might not work either since there would be stuff going on between medexamtools.com and the payment gateway that the user might not see. Is this record saved somewhere in cpanel automatically that I can just go and look up?
  5. Customer chooses shipping method and shipping cost on page 1 of checkout. Customer chooses payment method "Credit Card (Processed by Authorize.net)" on page 2 of checkout. Customer sees total based on choices and items purchased and is prompted for credit card owner, number, expiry date, check number (CVC) on page 3 of checkout. Address at top is: https://secure32.inmotionhosting.com/~medexa5/oscommerce1/checkout_confirmation.php?osCsid=693423eca.... Customer presses "confirm order" button on page 3 of checkout. Customer is directed back to page 2 of checkout with the following message at the top of the screen: "There has been an error processing your credit card" followed by these words inside a pink highlighted box: "Please try again and if problems persist, please try another payment method." Address seen at top of page is now: https://secure32.inmotionhosting.com/~medexa5/oscommerce1/checkout_payment.php?payment_error=authorizenet_cc_aim&error= Credit card number is required.&osCsid=693423eca.... Note error message "Credit card number is required" in website address bar. No evidence of any event occurring appears within quickcommerce; no transaction, neither accepted nor declined, is reported. Most likely conclusion based on observation is that null string is submitted for credit card number instead of 15 or 16 digit number entered into that field, and possibly null character string is submitted for name, expiry date and check number as well but I cannot confirm or deny this. Module was functional until September 16, was damaged by hacker, restored by me, and then module was not functional. Authorize.net, quickcommerce, webhost refuse to assist. User settings of module are: transaction server and mode live, transaction method is authorization, payment zone none, set order status pending, sort order of display 4, cURL Program Location /usr/bin/curl, name of module authorizenet_cc_aim. Went into quickcommerce and added in a MD5 hash and entered the same character string into MD5 hash in oscommerce module. Occurrence of error unaffected. Unwilling to change transaction method to capture because then the amount charged cannot be adjusted (lowered), and the need for this occurs frequently due to items out of stock, shipping being only an estimate, and customers contacting to submit modifications to the order they just submitted. Sort order of display changed between 2 and 3 and 4. Observed that authorize.net payment option was not shown when another payment option, even if disabled, had the same sort order of display. That is all. Request diagnosis of failure of module and course of action for correction.
  6. Medworks

    Authorize.net AIM suddenly stopped working

    Based on distantly related topics, the first thing to do is to modify authorize.net module to display the error message and not simply "general" error if the case does not match that in a small list. I have the same problem and it now says "payment_error=authorizenet_cc_aim&error= Credit card number is required." in the address bar instead of error=general. Look for the switch case branch where it considers the 2 digit error codes. Enter in the full list of error codes to see what your error actually is.
  7. Ho boy, if only that were true. I am not COMPLETELY illiterate in these php scripts and I could not figure out how to do that. I certainly looked for it. But it isn't some string of text I can search for, mind you, but the paypal logo it produces and plasters onto the regular shopping cart page is a picture as far as I can tell - and the particular wording I would like to change is merely part of that picture, not text which appears in any code anywhere, and I can't find where that picture is actually STORED either.
  8. When I tried the existent paypal modules before, they all either didn't work, or they did something horrific, namely to throw the "paypal" logo into the shopping cart page, where it has no business being, along with an insulting message "Paypal: the SECURE way to pay". i.e. "don't pay this terrible criminal I mean merchant by credit card or check or money order because we're trustworthy and he isn't." I would like if possible for customers to know that paypal is accepted as a payment type, but not to PUSH it. So the best I came up with was a modification of the "moneyorder" module, which instead of putting the mailing address, puts the message "send paypal payment to:" and then the designated e-mail address. And even though after a week of people not realizing they were actually NOT making the payment by clicking submit but only submitting the order details, and to actually pay, they would have to log into their paypal accounts and then send the appropriate amounts, I put in LARGE red font "NOTE: you are not paying now, only submitting the order details! You must log into paypal and then send the payment!" on they go, submitting the orders, and only one third of them actually then pay for it on their own, while another third pay for it after I send them a paypal invoice and the last third can't even manage that much. I even spoke to one of them, and she said "I couldn't understand, it wouldn't take me to the checkout page so I couldn't do it". It's a good thing stop signs are octagonal, because I don't think these people would figure it out from the letters "STOP" and the bright red color alone. They'd probably be like "if I was really supposed to stop, it should have been flashing and making noise and it should have taken me to a paypal page". Anyway, so the paypal module that might have worked did some other unreasonable things it had no business doing either, like adding some new order status states, as if paypal is something special that deserves its own order status states "Processing (paypal)", "pending (paypal)", etcetera. And there are not just one but 3 paypal modules! Frankly the whole monstrosity deserves to be put out of its misery and replaced by one single well-behaved module that does what it should and nothing more. A module that doesn't do anything but appear as a selectable option on page 2 of checkout, alongside "credit card" and "check or money order" or whatever you have enabled. And while I'm at it, a google checkout option. I remember google checkout being an even greater monstrosity. Not just creating new order status states for itself, but having all sorts of crap that had to be put EVERYWHERE, not just many, many files all over the place, but it required that I modify existing files, inserting new code, and I got to the end of it and it didn't even work. A well written payment module is TWO files. One in the languages/modules/payment directory and one in the modules/payment directory, requiring nothing else and no modification of anything else. Does anyone know of any such modules for google checkout or paypal? Well behaved modules, now. I tried writing one for paypal but I just didn't know enough about how to do it, and I also tried to make one that simply generated the html code that I know works for google checkout but there are only certain html commands (using something like the character variable in the moneyorder module but instead of displaying the address, producing the google checkout code with the price equal to the order total) I can sneak into character array variables that are displayed to the screen, and I couldn't get it to access the order total variable because it was apparently a private class as far as it was concerned, or something like that.
  9. Medworks

    split boxes differently

    Thanks for your help. It turned out, when I really started thinking of a solution, that I ought to just take the quantity ($shipping_weight*$shipping_num_boxes) as the single input from which the shipping module reads. That way nothing elsewhere needs to be changed to have the shipping module, and also, since I was modifying the zone based rates shipping method, this way I can have a different maximum package size to each zone. And it actually gives a prompt that lets you select between an equal box split and the method I proposed. I put it up on the community addons section, check it out here: http://addons.oscommerce.com/info/7458 Unfortunately, it won't let me edit the description it shows on the front. I failed to mention that I don't use pounds or kilograms but tenth-ounces, so if your items are measured in pounds, it will output a shipping weight that is 160 times too large. The only thing I could do was add a zero-size file, since it lets me add files with descriptions.
  10. Medworks

    set_function and buttons vs. fields

    Oh yeah, and does it have to be a boolean type variable? Or maybe it does in the first part, but not the second. Like this: tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Zone " . $i ." Box Splitting Method', 'MODULE_SHIPPING_ZONES_SPLITMETHOD_" . $i."', '(n-1) max, 1 remainder', 'If the order is too heavy for one box, should it be split into n equal-sized boxes or (n-1) maximum-weight boxes and 1 box with the remainder?', '6', '0', 'tep_cfg_select_option(array(\'n equal boxes\', \'(n-1) max, 1 remainder\'), ', now())"); Is that good? Or does it need to instead be: tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Zone " . $i ." Box Splitting Method', 'MODULE_SHIPPING_ZONES_SPLITMETHOD_" . $i."', 'False', 'If the order is too heavy for one box, should it be split into n equal-sized boxes or (n-1) maximum-weight boxes and 1 box with the remainder?', '6', '0', 'tep_cfg_select_option(array(\'n equal boxes\', \'(n-1) max, 1 remainder\'), ', now())"); or maybe something different from that?
  11. I've made a few custom modules now, and I'm working on one that would be particularly awesome, but there's something that I just can't figure out. How do I give the user a choice between two things, like the thing at the top of every module, that says "enable this method" and you can set it to true or false. There are a number of variables that are different and I can't find anything about the expected format anywhere. Example: tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Zone " . $i ." Countries', 'MODULE_SHIPPING_ZONES_COUNTRIES_" . $i ."', '" . $default_countries . "', 'Comma separated list of two character ISO country codes that are part of Zone " . $i . ".', '6', '0', now())"); The above defines a field, where you type stuff in. A list of countries, to be enabled for the zone based shipping module. OK. But compare it to this: tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Enable Zones Method', 'MODULE_SHIPPING_ZONES_STATUS', 'False', 'Do you want to offer zone rate shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); That one is the choice between two things, true or false, that enables the whole method. So I look at what is different between them, and unfortunately there's more than one difference. There's this "set_function" added into the first long list, but also the 'tep_cfg_select_option(array(\'True\', \'False\') inserted into the end. And then there are the spurious $i's thrown in the first one in unexplainable locations. Ok, the first and third one speak for themselves - it's the variable representing the zone number, so it says "Zone 1 Countries", "Zone 2 Countries", etc. but the middle one makes no sense. What is the expected format of these rotten things? I can't find anything anywhere. Is it the "set_function" that did it? Is it the other thing? Is it both of them? And it is actually a list of more parameters, it's not just one parameter that is different. It's not like "date_added" was REPLACED by "set_function" or something like that, but rather set_function is an additional thing that was thrown in. Why is that? What is the format of these lists?
  12. Medworks

    Shipping Mod - Does this exsist?

    Well, this POSSIBLY could be something that is very easy to do, but first you have to describe it a little better. It seems you want 3 flat shipping costs, for.... 3 different services? Like maybe a slow, middling fast and expedited service? What if your customers purchase more than one item? What if one item is enabled for methods 1 and 3, another item is enabled for methods 2 and 3 and they buy a third item which is enabled for methods 1 and 2? What then? You need to be more clear about what you want.
  13. Medworks

    split boxes differently

    I'm left with one last question. The parameter SHIPPING_MAX_WEIGHT. Is it defined and accessible within the shipping modules? Or is it an undefined variable outside of includes/classes/shipping.php? It seems to me that there is no need to actually modify includes/classes/shipping.php at all, since the 3 variables, SHIPPING_MAX_WEIGHT, $shipping_num_boxes and $shipping_weight completely contain all the information about the number of max-sized boxes and the size of the remaining box. The most important point is to have the shipping module figure it out right and output that it will be splitting it into n boxes of one size and one box of a smaller size - it'll be a little harder than a perfectly even split, since it will have to determine TWO independent things from the table which determines shipping cost as a function of weight: the shipping cost using the max weight AND the shipping cost using the remainder, while if they're all split equally, then there's only one equal value to use in multiplicity however many boxes there are. That's probably why it was programmed that way to begin with. But the simple fact is, it will be considerably cheaper to ship a 70 pound box and a 2 pound box than two 36 pound boxes. Just messing around, my shipping cost to jumped from like 40 dollars to 60 dollars by adding one tiny thing to the order.
  14. Medworks

    split boxes differently

    Ahh, thank you. Naturally I will also have to sneakily modify my zone based rates. The way it comes is to just multiply $shipping_num_boxes by the calculated weight, and if they're not all equal sized boxes, well, you get the idea. I think I'll have $shipping_weight output by this correspond to the weight of the LAST box, and then the number of maximum-weight boxes will be implied to be ($shipping_num_boxes-1). Thank you for pointing me to the right place.
  15. Not that I expect to get orders this large, but under "Enter the Maximum Package Weight you will ship", I notice that if it just barely exceeds this limit, it splits the order into equal-sized packages. Not what I want. If the weight is sufficiently large that it must be split into n separate packages, I don't want it to be split into n equal-weight packages, I want it to have n-1 packages at my set weight limit, and have the final one be whatever's left over. So I have a limit of "10896", which by the way I have all the weights measured, is 1089.6 ounces or 68.1 pounds, and if the total weight of the order is 70 pounds, then it splits it into two 35-pound packages currently. I want it to split it into a 68.1 pound parcel and a 1.9 pound parcel instead. What file do I modify to set this the way I want?