Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

tina_boots

Archived
  • Posts

    657
  • Joined

  • Last visited

Everything posted by tina_boots

  1. This is exactly the condition I was attempting to point out to you in my post yesterday. Scroll up a few entries and you should find your answer. Be Well, Tina
  2. Within the code that is supplied for Points and Rewards is this block of code: // customer can't use points over the order total if (tep_calc_shopping_pvalue($customer_shopping_points_spending) > $order->info['total']) { $customer_shopping_points_spending = 0; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_OVER), 'SSL')); } This code performs a check and if the value of the points being spent are more than the total of the order, it returns an error. That is the reason I made the jump to checking for the value being equal and not greater than. Sorry I should have been more clear on that in my post. Be well, Tina
  3. I think what you have done here is similiar to my potential solution. What I found as the core of the problem is that most cc payment options call a pre-confirmation and confirmation functions. It is within those functions that the "misguided" errors are performed. If it were not for those two function calls there would likely not exist a problem. However when a cc is used they do perform a vital function. So my thought process went along the lines of, if the cc is being used then call those functions, if it is not, then don't. What my code and your code likely does is blank out that cc payment object and therefore there are no functions available to call, and no error messages to display. That's my conclusion after a long weekend studying the process. I certainly welcome any corrections if I am wrong on anything. BTW on your code I would probably change the >= to ==. Otherwise someone could spend over the required number of points. Be well, Tina
  4. The code below is what I have managed to come up with so far. It remains in my test environment for the time being, however thus far appears to be functioning the way I would like for it to. Of course I am very concerned with security, so if there is a security flaw here please do point it out for me. Starting at line 101 in my payment_confirmation.php file before my modification the code appeared like this: // customer can't use points over the order total if (tep_calc_shopping_pvalue($customer_shopping_points_spending) > $order->info['total']) { $customer_shopping_points_spending = 0; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_OVER), 'SSL')); } } // if ( (is_array($payment_modules->modules)) && (sizeof($payment_modules->modules) > 1) && (!is_object($$payment)) && (!$credit_covers) ) { if ( (is_array($payment_modules->modules)) && (sizeof($payment_modules->modules) > 1) && (!is_object($$payment)) && (!$credit_covers) && (!$customer_shopping_points_spending) ) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); } After the modification the same block of code looks like this: // customer can't use points over the order total if (tep_calc_shopping_pvalue($customer_shopping_points_spending) > $order->info['total']) { $customer_shopping_points_spending = 0; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_OVER), 'SSL')); } //******* beginning of possible fix ************ if (tep_calc_shopping_pvalue($customer_shopping_points_spending) == $order->info['total']){ $payment_modules = NULL; } //******* end of possible fix ********** } // if ( (is_array($payment_modules->modules)) && (sizeof($payment_modules->modules) > 1) && (!is_object($$payment)) && (!$credit_covers) ) { if ( (is_array($payment_modules->modules)) && (sizeof($payment_modules->modules) > 1) && (!is_object($$payment)) && (!$credit_covers) && (!$customer_shopping_points_spending) ) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); } Hopefully I've included enough code there so that it can be followed, without making this post too long. The one thing that I discovered early in my attempts to resolve this and would like to know if others experience it as well. If I added an additional payment option and therefore required a customer to pick one in order that one be selected; If no payment option was selected and any amount at all entered in the points box, the errors went away a good thing, but also the order went directly to the success page even if the points were not enough to cover, a very bad thing :o I would like to know if anyone trying the multiple payment option also has that experience or if it was just me. I'll come back later and take a look at your code, allergies are kicking up today and have a pounding headache right now. Be well, Tina
  5. Thanks Chooch, I did search through this topic and did not find anything. Of course there are over 900 posts so its possible if its there I may have missed it. So I will do some more searching. Thanks for the advice. Be well, Tina
  6. I'm still not quite sure having multiple payment options would resolve the problem, as from my earlier tests that seemed to leave the system wide open, if a customer entered any amount at all it seems the order would go through with no checks. What about adding something like this inside the if (USE_REDEEM_SYSTEM == 'true') section: if (tep_calc_shopping_pvalue($customer_shopping_points_spending) == $order->info['total']){ $payment_modules = NULL; } It seems that would accomplish something similiar to method Gift Voucher uses by checking to ensure the number of valid points indeed are equal to the invoice balance. Am I getting warm? Thanks for your reply, Tina
  7. When you receive an unexpected T_CASE error it usually means that you have a situation where the CASE statement was ended before it was actually supposed to end, which is normally due to a misplaced extra end bracket. So you are somewhat on the right path. When I look at your code and compare to what we have here, it looks to me as though you might have things a little bit mixed up. Your post says that immediately following the end of the Points mod you have: tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . (int)$oID . "', '" . tep_db_input($status) . "', now(), '" . tep_db_input($customer_notified) . "', '" . tep_db_input($comments) . "')"); $order_updated = true; } That particular block of code is actually near the beginning of my Points mod section. So maybe you have it in your code twice? The first few lines after my Points mod section are: if ($order_updated == true) { $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success'); } else { $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning'); } You might try commenting out the section between the end of your Points mod section and the above code and see what happens. Now I don't suppose you have a solution for my problem do ya? :) Be well, Tina
  8. I think I've taken myself on a wild goose chase. I have been over the Points and Rewards code line by line all day and I am unable to find anything that causes the checkout process to bypass the credit card processing if the points being redeemed are equal to the invoice balance. For example its fairly easy to spot where this occurs in the code for Gift Vouchers: if ($credit_covers) $payment=''; //ICW added $payment_modules = new payment($payment); However for Points and Rewards I am unable to find anything that performs this type of check. My conclusion is that the module does not support this functionality. Please do correct me if I am wrong. Be well, Tina
  9. Hello Arkady, You would replace both lines. The "second line" is the rest of the if statement that is begun with the "first line". Of course you want to do back ups of any files that you have changed, just in case. Be well, Tina
  10. Thank you for your response, however I probably should have been a little more specific. The problem is occurring in checkout_payment.php before the customer ever gets to checkout_confirmation.php. If the individual does not enter credit card information, he or she receives an error and cannot leave the page, even though they have enough points to cover the order. I believe the issue could have something to do with the fact we are using a single payment option. So if my understanding of the following code is correct, that single payment option is selected by default: <?php if (sizeof($selection) > 1) { echo tep_draw_radio_field('payment', $selection[$i]['id']); } else { echo tep_draw_hidden_field('payment', $selection[$i]['id']); } ?> I did try an experiment by changing that code to if(sizeof($selection) > 0), which then forced a selection of the credit card if the customer chose to use one. That solved the problem of receiving errors of not entering credit card information. However it created an even worse problem in that ANY point value entered whether it covered the order total or not resulted in a successful purchase. :o I have to believe that surely if no one else is experiencing this issue that I have something configured incorrectly. However at this point I am at a complete loss as to what that might be. I have double and triple checked the code per the instructions and even used a text compare utility and all appears correct there. Tina
  11. As many others have, I'll add my praise for this contribution. I installed it back in January and it has performed perfectly until recently. The issue is that several customers have now earned enough points to pay for an entire order using their points alone. However when a customer does apply their points to cover the entire invoice, it still tries to process the customers credit card. Which returns an error of invalid amount because the invoice total is zero. We also have the gift voucher contribution installed. And if a customer uses their gift voucher for the full amount, the system does not try to process the credit card. I've poured over the code and I was able to locate the code where the gift voucher system checks if it will cover the full amount and therefore not try to process a credit card. However I cannot seem to find the code that would do the same for points and rewards. I've browsed this entire topic and was unable to find anyone else who also has this problem. So I've come to conclusion that I must have somehow missed the code for points and rewards that performs this function. I've gone over the install instructions again and I am still unable to find it. Yes I am feeling hopeless LOL. Can someone please point me towards the code that performs this check so that I may correct the problem? Thanks in advance. Be well, Tina
  12. In simple terms the payment information is sent to your payment processor which is where the verification takes place. The payment processor then sends back a code indicating success or failure to your server which is then processed by osC to display either success or failure. osC has nothing to do with the actual verification of the transactions. That is all done by the payment processor. Tina
  13. You can either do it all manually, which may become a lot of work if you have a lot of links and makes it more difficult to do a submit a link type of thing. Or use another system which does show SEO friendly links. I have looked at several different systems. Many of them produce non-SEO friendly links just as you are experiencing. However there are some out there that do produce the good kind of links. Although I have yet to find the perfect one. Many of them that might be free are not open source licensed and have some undesirable hooks in them. The best open source solution I have found is phpLinksDirectory, however its not perfect. It uses Smarty templating, which is usually a good thing, which makes it difficult to integrate seamlessly into osC. I have used it on an osC store, although it was not the usual contribution plug in sort of thing. In this case I set up the visual presentation to match the other layout of the store, however it is a completely separate application. The ultimate I feel would be to modify the contribution you are using so that the links are SEO friendly. I'm thinking that may require a fair amount of effort, in the long run though might be worth it. Tina
  14. The most likely reason that is happening is because the code for your links are using a redirect. Meaning that rather than point directly to the other sites URL, they point to a file on your site passing a code which then redirects to the other site. for example: .../redirect.php?action=links&goto=6 Links in this format are considered non-SEO friendly as they do not provide a true link that the search engines can see and are therefore of little or no use to the other site you are linking to. Tina
  15. 914825-4-data.txt is not being found where the system expects it to be. So either the file is missing, its in a different location, or the code in paypal_ipn.php is incorrect. I do notice there are two slashes "//" between ssl and the file name in the path. That would be the first thing I would check as the potential problem. Be well, Tina
  16. In theory it should work with any well written payment module. I've used it successfully with Plug n Pay, USAePay, and Ikobo. Or in simple terms every payment module I've ever tried to use with it. It also works very well with the Points and Rewards contribution installed. Be well, Tina
  17. unexpected T_CASE means you have a case statement that has somehow become disconnected from it's switch. I am making the assumption you have recently installed a new contribution when this problem came up, at least that is the most frequent cause for this type of issue. Carefully go over the steps you performed when you added the contribution. Walk through each of the case statements in the file, ensure that each is complete and you haven't stuck your code in the middle of one. If the contribution comes with a version of customers.php that can be used with a clean install, use a text compare utility to compare the "clean install" version with the one you modified. Go back to your back up of the customers.php and perform the steps again, being very deliberate with your tasks. These are all simple basic trouble shooting steps to isolate the problem, which will help you not only for this particular problem, and also with those that happen to crop up in the future. Be well, Tina
  18. Ok "customers table" is not a file, it an object in your database. The only way to answer what you should be editing is to find the contribution. Often times a contribution will place flower boxes or other commented note on the sections of code that are added. You might look for something like that in some of you files, it may provide a clue to the identification of the contribution. Be well, Tina
  19. I am not familiar with that particular contribution, however the error you are receiving is a database error. The system is not finding the "customers_group_id" column in the customers table. That is not a column in the customers table by default, therefore its likely one that is added to the table as part of the installation of the contribution. It appears the database did not receive all or some of the updates requiired. If you are not familiar with the system it will be tricky to find the problems. However a place to start would be to try and locate the particular contribution, walk through the installation instructions and try to determine what steps may or may not have been performed. Be well, Tina
  20. Looks to me as though you might need a semi colon at the end of the first line with the if statement. Be well, Tina
  21. If it happens not to be broken, no good reason to go trying to fix it. Be well, Tina
  22. The best gateway to use is A) one that will accept you as a client, B) is convenient for your customers and one they are willing to use, C) Is reliable, and D) costs you the least in terms of discount fees. Since you are likely using osC its also important that a payment module is readily available or you are able to write one. Be well, Tina
  23. The template is designed to be used with Photoshop, although there are other image editors which can read and edit the file. It's used by turning on and off the various layers which in turn produce the various osC buttons. Of course its also expected that you will make modifications to these layer, change colors, fonts, etc. Be well, Tina
  24. I installed this contribution for the first time last night and I just have to say its one of the most well thought out and feature rich that I have seen. The gift voucher contribution had previously been installed and I found the extra notes for that situation particularly helpful. With the exception of one minor issue which I was able to correct in about fifteen minutes, the installation went like clock work. Considering the number of files that must be modified I was quite pleased. In addition to a well written contribution that is also a testament to the excellent installation instructions. Be well, Tina
×
×
  • Create New...