Jump to content
Sign in to follow this  
nana

fast easy checkout

Recommended Posts

Hi Frank,

I just noticed something. The PayPal instructions are missing a 'this->' It should be

 

$this->products_ordered

not

$products_ordered

Share this post


Link to post
Share on other sites

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. :)

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
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 by Mibble

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 by Mibble

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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);


?>

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 by nana

Share this post


Link to post
Share on other sites

seth problem was caused by the same bug that we have found before and the changes in post 286 worked for him

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

The line you are looking for is:

 

define('LOGINBOX_EXISTING_CUSTOMER', ' Existing Customer - Please Log in');

 

in includes/languages/english/create_account.php

Edited by radders

Share this post


Link to post
Share on other sites

In post 286 I could only get it to work by removing the

 

?>

 

at the end of the portion of code to be substituted.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×