Jump to content

tina_boots

Members
  • Content count

    657
  • Joined

  • Last visited

  1. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    I know exactly what you mean :) Be well, Tina
  9. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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
  10. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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
  11. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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
  12. tina_boots

    ### POINTS AND REWARDS MODULE V1.00 ###

    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
  13. tina_boots

    Credit Card Verification

    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
  14. 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
  15. 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
×