radders Posted October 2, 2005 Share Posted October 2, 2005 Hi Frank, I just noticed something. The PayPal instructions are missing a 'this->' It should be $this->products_ordered not $products_ordered Quote Link to comment Share on other sites More sharing options...
Tipsy Posted October 2, 2005 Share Posted October 2, 2005 Apologies if it's already been posted but a great contrib. and a lot of work seem to currently be let down by the installation instructions. My sites are heavily modded and unfortunately my PHP knowledge is not terrible but not as good as it should be. At the moment it seems the installation wants you to change standard files - great if your store has the unchanged installation files but no use for those that don't. Is anyone planning to publish the installation instructions listing just the changes/additions that need making to existing files? I thought I'd ask before spending many frustrating hours trying to spot all the changes and make them myself. Other than that great and much needed contrib. :) Quote Link to comment Share on other sites More sharing options...
nana Posted October 2, 2005 Author Share Posted October 2, 2005 david i just used the code you posted in post 206 to make sure you have no problem i did not want to change anything albert i did not see any problem am i to assune that you found the problem? Quote Link to comment Share on other sites More sharing options...
punchapparel Posted October 2, 2005 Share Posted October 2, 2005 Many thanks for the contribution! It is the best one out there! KUDOS But some constructive criticism: the instructions are, well, confusing and in need of a "Technical Documention" template or editor. So, I have questions: Can I do "Part One" without "Part Two"? What about the other way around, Part Two without Part One? Also, how the instructions read, it is at least partially implied, copying the "new files" is not necessary in one of the steps. Also, on "seelily.com" it would be helpful if the "Try my checkout type 1" and "Try my checkout type 2" were explained in the documentation as such or visa versa. No where in the documentation are the applications of "Fast Easy Checkout" described as "Checkout Type 1" or "Checkout Type 2" adding a bit of confusion. What is the relationship of "Type 1" to "Part One," if any? Quote Link to comment Share on other sites More sharing options...
Guest Posted October 2, 2005 Share Posted October 2, 2005 (edited) I'm getting the exact same thing happening to me. It works fine if you enter 4111111111111111 from the regular checkout_payment.php page but not from the new one where everything is combined which is pretty great looking. Just need to work out this bug :( Hi! I've tried to introduce code 4111111111111111 but with expiration date 10-2007 and it works well. Now, i am new in osCommerce. I have aunauthorized info pack with external link, i have osCommerce installed and working but i do not know where do the credit card payments goes to... can somebody help? items removed, not allowed Thank you! Edited October 3, 2005 by Mibble Quote Link to comment Share on other sites More sharing options...
punchapparel Posted October 2, 2005 Share Posted October 2, 2005 Part One w/o Part Two and other ?s/comments. Many thanks for the contribution! It is the best one out there! KUDOS Can I do "Part One" without "Part Two"? What about the other way around, Part Two without Part One? Also, how the instructions read, it is at least partially implied, copying the "new files" is not necessary in one of the steps. Also, on "seelily.com" it would be helpful if the "Try my checkout type 1" and "Try my checkout type 2" were explained in the documentation as such or visa versa. No where in the documentation are the applications of "Fast Easy Checkout" described as "Checkout Type 1" or "Checkout Type 2" adding a bit of confusion. What is the relationship of "Type 1" to "Part One," if any? Many thanks for the contribution! It is the best one out there! KUDOS But some constructive criticism: the instructions are, well, confusing and in need of a "Technical Documention" template or editor. Quote Link to comment Share on other sites More sharing options...
nana Posted October 2, 2005 Author Share Posted October 2, 2005 (edited) otto thx for the feedback i will take a look at the download try to find the problem with it Hi! I've tried to introduce code 4111111111111111 but with expiration date 10-2007 and it works well. Now, i am new in osCommerce. I have a info removed, i have osCommerce installed and working but i do not know where do the credit card payments goes to... can somebody help? links, emails Thank you! i am not familiar with url.com to accept cc you need a merchant account and a payment gateway or you can use paypal or something like that. check the payment module section in the contribution area there is a link on top of the page Part One w/o Part Two and other ?s/comments. Many thanks for the contribution! It is the best one out there! KUDOS Can I do "Part One" without "Part Two"? What about the other way around, Part Two without Part One? Also, how the instructions read, it is at least partially implied, copying the "new files" is not necessary in one of the steps. Also, on "url.com" it would be helpful if the "Try my checkout type 1" and "Try my checkout type 2" were explained in the documentation as such or visa versa. No where in the documentation are the applications of "Fast Easy Checkout" described as "Checkout Type 1" or "Checkout Type 2" adding a bit of confusion. What is the relationship of "Type 1" to "Part One," if any? Many thanks for the contribution! It is the best one out there! KUDOS But some constructive criticism: the instructions are, well, confusing and in need of a "Technical Documention" template or editor. new files must be uploaded to your catalog directory you can use either part of the contribution individually part one is for combining shipping and payment pages part two is to handle create account this shop requires the customer to create an account to buy and most of the editing of the files in section 2 is to remove refrences to an account if customer has not created one sorry for bad instruction i will upload a new version in a couple of days but i can't seem to get my mind organized i have both checkouts in the demo you can try them out you will see the diff ck out type 1 has two address and no account creation ck out type 2 has a login box one address and option to create an account or not you can make any combination of the create an account that you like it shouldn't be too hard i do not have a "Technical Documention" template or editor info removed, not authorized Edited October 3, 2005 by Mibble Quote Link to comment Share on other sites More sharing options...
tomed8 Posted October 3, 2005 Share Posted October 3, 2005 Hi there! This is a nice contribution and just what I've been looking for. However, an important piece of functionality in osCommerce (at least for me) is no longer working - I hope there's a simple work-around. Before I implemented the contribution here's my scenario: If a buyer would select a product with a "download" option (software) then there would be no shipping options on the order. Now, after implementing the contribution, all products (download or shippable) have shipping accessed at the final page(s) of the order. What am I missing? Thx/Tom Quote Link to comment Share on other sites More sharing options...
nana Posted October 3, 2005 Author Share Posted October 3, 2005 this should not be such a big problem atleast i hope not i thought i have not removed the code to bypass checkout_shipping.php and go to checkout_payment.php if all products are virtuall ,but to tell you the truth this was not a concern of mine since i figured that if you only have virtuall products then you would not need to combine checkout_shipping and checkout_payment .what would be the point!! Now, after implementing the contribution, all products (download or shippable) have shipping accessed at the final page(s) of the order. what pages? can i have a link to your store to see this i have never setup virtual so do not know how it works or can you explain to me how to set V products so i can check it out Quote Link to comment Share on other sites More sharing options...
tomed8 Posted October 3, 2005 Share Posted October 3, 2005 My store is currently under wraps... can't share :-( how to setup a virtual product... Admin > Catalog > New product (create product) ---------- Admin Catalog > Product Attributes (at bottom of page select the product your just entered in the drop down, select whatever attributes you'd like but in the Filename text box you must choose an actual file that exists in your download directory, then you must select Expiry days and Maximum download count...) click insert ------------ Now, go and shop your site... With the fast easy checkout contribution it always defaults to include shipping method on the checkout_shipping.php page. With the stock install of OSC, if your product is virtual, it will bypass the shipping method altogether. Quote Link to comment Share on other sites More sharing options...
nana Posted October 4, 2005 Author Share Posted October 4, 2005 tomed8 it seems that i had called the order classe after after ck for virtual product change everything before the $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); to <?php /* $Id: checkout_shipping.php,v 1.16 2003/06/09 23:03:53 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require('includes/classes/http_client.php'); require(DIR_WS_CLASSES . 'order.php'); $order = new order; require(DIR_WS_CLASSES . 'payment.php'); $payment_modules = new payment; $total_weight = $cart->show_weight(); $total_count = $cart->count_contents(); require(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping; //the next 4 lines are for ccgv /* require(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total; $order_total_modules->collect_posts(); $order_total_modules->pre_confirmation_check(); */ // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); // tep_redirect(tep_href_link('create_account3.php', '', 'SSL')); tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL')); } // if there is nothing in the customers cart, redirect them to the shopping cart page if ($cart->count_contents() < 1) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); } // if no shipping destination address was selected, use the customers own address as default if (!tep_session_is_registered('sendto')) { tep_session_register('sendto'); $sendto = $customer_default_address_id; } else { // verify the selected shipping address $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$sendto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $sendto = $customer_default_address_id; if (tep_session_is_registered('shipping')) tep_session_unregister('shipping'); } } // if no billing destination address was selected, use the customers own address as default if (!tep_session_is_registered('billto')) { tep_session_register('billto'); $billto = $customer_default_address_id; } else { // verify the selected billing address $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$billto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $billto = $customer_default_address_id; if (tep_session_is_registered('payment')) tep_session_unregister('payment'); } } // register a random ID in the session to check throughout the checkout procedure // against alterations in the shopping cart contents if (!tep_session_is_registered('cartID')) tep_session_register('cartID'); $cartID = $cart->cartID; // if the order contains only virtual products, forward the customer to the billing page as // a shipping address is not needed if ($order->content_type == 'virtual') { if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); $shipping = false; $sendto = false; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } tep_session_unregister('billing'); tep_session_unregister('payment'); if (isset($HTTP_POST_VARS['payment'])) $payment = $HTTP_POST_VARS['payment']; if (!tep_session_is_registered('payment')) tep_session_register('payment'); if($n==1){ if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); tep_session_unregister('payment'); $payment_modules->update_status(); } if (is_array($payment_modules->modules)) { $payment_modules->pre_confirmation_check(); } } while (list($key, $value) = each($_POST)) { tep_session_register($key); } if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) { $pass = false; switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) { case 'national': if ($order->delivery['country_id'] == STORE_COUNTRY) { $pass = true; } break; case 'international': if ($order->delivery['country_id'] != STORE_COUNTRY) { $pass = true; } break; case 'both': $pass = true; break; } $free_shipping = false; if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) { $free_shipping = true; include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php'); } } else { $free_shipping = false; } // process the selected shipping method if ( isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') ) { if (!tep_session_is_registered('comments')) tep_session_register('comments'); if (tep_not_null($HTTP_POST_VARS['comments'])) { $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']); } if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); if ( (tep_count_shipping_modules() > 0) || ($free_shipping == true) ) { if ( (isset($HTTP_POST_VARS['shipping'])) && (strpos($HTTP_POST_VARS['shipping'], '_')) ) { $shipping = $HTTP_POST_VARS['shipping']; list($module, $method) = explode('_', $shipping); if ( is_object($$module) || ($shipping == 'free_free') ) { if ($shipping == 'free_free') { $quote[0]['methods'][0]['title'] = FREE_SHIPPING_TITLE; $quote[0]['methods'][0]['cost'] = '0'; } else { $quote = $shipping_modules->quote($method, $module); } if (isset($quote['error'])) { tep_session_unregister('shipping'); } else { if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) { $shipping = array('id' => $shipping, 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'), 'cost' => $quote[0]['methods'][0]['cost']); tep_redirect(tep_href_link(FILENAME_CHECKOUT_CONFIRMATION,'', 'SSL')); } } } else { tep_session_unregister('shipping'); } } } else { $shipping = false; tep_redirect(tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, '', 'SSL')); } } // get all available shipping quotes $quotes = $shipping_modules->quote(); // if no shipping method has been selected, automatically select the cheapest method. // if the modules status was changed when none were available, to save on implementing // a javascript force-selection method, also automatically select the cheapest shipping // method if more than one module is now enabled if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest(); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PAYMENT); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_SHIPPING); ?> Quote Link to comment Share on other sites More sharing options...
tomed8 Posted October 4, 2005 Share Posted October 4, 2005 Thank you very much Frank. That fixed it! Now, another question - this may not be as part of your contribution but I thought I'd ask nonetheless. If a product has a zero price (no charge - evaluation software) shouldn't the OSC system see that there's no price and not ask for payment at the point of checkout_payment.php? Many thanks Quote Link to comment Share on other sites More sharing options...
tomed8 Posted October 4, 2005 Share Posted October 4, 2005 Frank, I just noticed something. Using your contribution (I prefer create_account3.php) it doesn't seem possible for the shopper to return to the site and login to see their order history, download virtual products, etc. Specifically, if they return to the site and click "Login" they have two choices: 1. Fill in username and password then click sign in. However, since they never entered a password this makes sense that it will not allow them to continue. 2. Click Password forgotten. Click here. However, when they click this option and enter their email address on form password_forgotten.php, although they have ordered before and their email address is in the OSC system they receive the following message "Error: The E-Mail Address was not found in our records, please try again." Any ideas? Thx/Tom Quote Link to comment Share on other sites More sharing options...
nana Posted October 4, 2005 Author Share Posted October 4, 2005 DA no account no login all those modification to existing files are to remove all traces of account if they do not create one. they can create an account in a second chance in their email. you can also modify the account_password_new.php and put a redirect in the checkout_success this way they can create an account after checkout take a look at the demo site if you want to see how it looks Quote Link to comment Share on other sites More sharing options...
nana Posted October 4, 2005 Author Share Posted October 4, 2005 i just saw your first post tomi would think that you would have two options 1-put a download a demo directly in product info page 2-disable all payment modules except COD if the price<0 there might be other solutions but as i said before i have never used the download feature so you might want to do a search also you can add the create account part to create_account3.php Quote Link to comment Share on other sites More sharing options...
seth35us Posted October 5, 2005 Share Posted October 5, 2005 I am getting a null shipping address when using the part one combination of checkout_shipping.php and checkout_payment.php. This happens when I try to create two accounts back to back on the same web browser session. The first time the billing address is copied to the shipping address, and the second time the billing address is not copied. I think that it may have something to do with this line of code, but am not for sure: if (!tep_session_is_registered('sendto')) tep_session_register('sendto'); I appreciate your help. Quote Link to comment Share on other sites More sharing options...
nana Posted October 5, 2005 Author Share Posted October 5, 2005 (edited) hi i will take a look at this tom for now put if (tep_session_is_registered('sendto')) tep_session_unregister('sendto'); right behind it and see if it resolve this issue for me to duplicate this problem 1-do you use the standard osc create_account.php 2-you create an account/ logoff/create a second account or you do not logoff or what do you do exactly 3-what about the billing address sorry before that try to make the change i recommended in post 286 in this page this code has a bug fix that i did a couple of days ago that might have something to do with this. if this does not work then my first sugestion and i will take a look tom to see if the problem is not resolved to look at finding a solution Edited October 5, 2005 by nana Quote Link to comment Share on other sites More sharing options...
nana Posted October 5, 2005 Author Share Posted October 5, 2005 seth problem was caused by the same bug that we have found before and the changes in post 286 worked for him Quote Link to comment Share on other sites More sharing options...
Guest Posted October 5, 2005 Share Posted October 5, 2005 On create_account.php, how to change the following.... Existing Customer : Login In ? Wonderful add-on may I add. Jeremy Quote Link to comment Share on other sites More sharing options...
nana Posted October 5, 2005 Author Share Posted October 5, 2005 jeremy if you are talking about wording it is in inclused/languages/english/english.php make sure you make the change in post 286 to the new checkout_shipping.php there was a bug that would show in a very special situation that i fixed Quote Link to comment Share on other sites More sharing options...
Guest Posted October 5, 2005 Share Posted October 5, 2005 Thanks Frank, I have updated the bug. However, I cannot find anything in english.php to correct the wording for this particular line? Regards, Jeremy Quote Link to comment Share on other sites More sharing options...
radders Posted October 5, 2005 Share Posted October 5, 2005 (edited) The line you are looking for is: define('LOGINBOX_EXISTING_CUSTOMER', ' Existing Customer - Please Log in'); in includes/languages/english/create_account.php Edited October 5, 2005 by radders Quote Link to comment Share on other sites More sharing options...
nana Posted October 5, 2005 Author Share Posted October 5, 2005 thx david i hope everytrhing is working for you also Quote Link to comment Share on other sites More sharing options...
radders Posted October 5, 2005 Share Posted October 5, 2005 In post 286 I could only get it to work by removing the ?> at the end of the portion of code to be substituted. Quote Link to comment Share on other sites More sharing options...
Guest Posted October 5, 2005 Share Posted October 5, 2005 THANK YOU!!!!!!!!!!!!!!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.