Jump to content
Sign in to follow this  
bmcewan

Purchase Without Account Updated & Admin Functionality

Recommended Posts

Update on my last problem.

 

It wouldn't work whatever I did with the field called 'email_address'. I changed all references to this field to 'email' and it now works fine.

 

Gofigure.

 

Tim

Share this post


Link to post
Share on other sites

I'm considering installing this contributions, but in the installation instructions it says that /catalog/includes/languages/english/images/buttons/button_create_account.gif

 

is an existing file in ms2.2, but as far I can tell it is not. Is this mod fully functional?

Share this post


Link to post
Share on other sites

I was having problems with Authorize.net and PWA.. It was giving me cURL errors, saying it could not contact Authorize.net.

 

I replaced the following code

 

// load the before_process function from the payment modules
 $payment_modules->before_process();

 require(DIR_WS_CLASSES . 'order_total.php');
 $order_total_modules = new order_total;

 $order_totals = $order_total_modules->process();

 $sql_data_array = array('customers_id' => $customer_id,
                         'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'],
                         'customers_company' => $order->customer['company'],
                         'customers_street_address' => $order->customer['street_address'],
                         'customers_suburb' => $order->customer['suburb'],
                         'customers_city' => $order->customer['city'],
                         'customers_postcode' => $order->customer['postcode'], 
                         'customers_state' => $order->customer['state'], 
                         'customers_country' => $order->customer['country']['title'], 
                         'customers_telephone' => $order->customer['telephone'], 
                         'customers_email_address' => $order->customer['email_address'],
                         'customers_address_format_id' => $order->customer['format_id'], 
                         'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 
                         'delivery_company' => $order->delivery['company'],
                         'delivery_street_address' => $order->delivery['street_address'], 
                         'delivery_suburb' => $order->delivery['suburb'], 
                         'delivery_city' => $order->delivery['city'], 
                         'delivery_postcode' => $order->delivery['postcode'], 
                         'delivery_state' => $order->delivery['state'], 
                         'delivery_country' => $order->delivery['country']['title'], 
                         'delivery_address_format_id' => $order->delivery['format_id'], 
                         'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 
                         'billing_company' => $order->billing['company'],
                         'billing_street_address' => $order->billing['street_address'], 
                         'billing_suburb' => $order->billing['suburb'], 
                         'billing_city' => $order->billing['city'], 
                         'billing_postcode' => $order->billing['postcode'], 
                         'billing_state' => $order->billing['state'], 
                         'billing_country' => $order->billing['country']['title'], 
                         'billing_address_format_id' => $order->billing['format_id'], 
                         'payment_method' => $order->info['payment_method'],
                         'cc_type' => $order->info['cc_type'], 
                         'cc_owner' => $order->info['cc_owner'], 
                         'cc_number' => $order->info['cc_number'], 
                         'cc_expires' => $order->info['cc_expires'],
                         'date_purchased' => 'now()', 
                         'orders_status' => $order->info['order_status'], 
                         'currency' => $order->info['currency'], 
                         'currency_value' => $order->info['currency_value']);
 tep_db_perform(TABLE_ORDERS, $sql_data_array);
 $insert_id = tep_db_insert_id();
 for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
   $sql_data_array = array('orders_id' => $insert_id,
                           'title' => $order_totals[$i]['title'],
                           'text' => $order_totals[$i]['text'],
                           'value' => $order_totals[$i]['value'], 
                           'class' => $order_totals[$i]['code'], 
                           'sort_order' => $order_totals[$i]['sort_order']);
   tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
 }

 

 

WITH:

 

//************************************************************
// Authorizenet ADC Direct Connection
//************************************************************

 require(DIR_WS_CLASSES . 'order_total.php');
 $order_total_modules = new order_total;

 $order_totals = $order_total_modules->process();

 $sql_data_array = array('customers_id' => $customer_id,
                         'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'],
                         'customers_company' => $order->customer['company'],
                         'customers_street_address' => $order->customer['street_address'],
                         'customers_suburb' => $order->customer['suburb'],
                         'customers_city' => $order->customer['city'],
                         'customers_postcode' => $order->customer['postcode'], 
                         'customers_state' => $order->customer['state'], 
                         'customers_country' => $order->customer['country']['title'], 
                         'customers_telephone' => $order->customer['telephone'], 
                         'customers_email_address' => $order->customer['email_address'],
                         'customers_address_format_id' => $order->customer['format_id'], 
                         'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 
                         'delivery_company' => $order->delivery['company'],
                         'delivery_street_address' => $order->delivery['street_address'], 
                         'delivery_suburb' => $order->delivery['suburb'], 
                         'delivery_city' => $order->delivery['city'], 
                         'delivery_postcode' => $order->delivery['postcode'], 
                         'delivery_state' => $order->delivery['state'], 
                         'delivery_country' => $order->delivery['country']['title'], 
                         'delivery_address_format_id' => $order->delivery['format_id'], 
                         'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 
                         'billing_company' => $order->billing['company'],                           'billing_street_address' => $order->billing['street_address'], 
                         'billing_suburb' => $order->billing['suburb'], 
                         'billing_city' => $order->billing['city'], 
                         'billing_postcode' => $order->billing['postcode'], 
                         'billing_state' => $order->billing['state'], 
                         'billing_country' => $order->billing['country']['title'], 
                         'billing_address_format_id' => $order->billing['format_id'], 
                         'payment_method' => $order->info['payment_method'], 
                         'cc_type' => $order->info['cc_type'], 
                         'cc_owner' => $order->info['cc_owner'], 
                         'cc_number' => $order->info['cc_number'], 
                         'cc_expires' => $order->info['cc_expires'], 
                         'date_purchased' => 'now()', 
                         'orders_status' => DEFAULT_ORDERS_STATUS_ID, 
  	 // the following field has been moved from orders to order_status_history
  	 // 'comments' => $order->info['comments'], 
                         'currency' => $order->info['currency'], 
                         'currency_value' => $order->info['currency_value']);
 tep_db_perform(TABLE_ORDERS, $sql_data_array);
 $insert_id = tep_db_insert_id();

// Make sure the /catalog/includes/class/order.php is included
// and $order object is created before this!!!
if(MODULE_PAYMENT_AUTHORIZENET_STATUS) {
 include(DIR_WS_MODULES . 'authorizenet_direct.php');
}

 

 

 

I hope this helps some of you.. I don't guarantee this to work 100%. It may complicate other things as well. Try it as a last ditch resort.

Share this post


Link to post
Share on other sites

razorjack,

 

yes this mod is fully functional. the .gif file is included in .zip package. If its not included with osc then you can just upload it to the correct directory.

Share this post


Link to post
Share on other sites

thanks for the contributions.

 

BTW, how do I locate PWA vertical boxes in the middle position of the page

between left and right menu columns?

 

The original code is located at left align.

 

Where in login.php file should I change?

 

 

Any help, I'll appreciate.

Share this post


Link to post
Share on other sites

Hi,

I just installed this contrib...

www.iPodXtras.com

 

I cannot get past where you enter your info in the PWA account it is just a blank page and in the $breadcrums bar, it doesn't show what it shows either... Can you help me figure out what went wrong... (heres a screen shot of what i see after clicking continue on the PWA page)

 

PWA%20issue....jpg

Share this post


Link to post
Share on other sites

mijman2

 

I've had similar problems in a few cases because of STS. If you are using STS you need to make sure the includes for column_left.php and column_right.php are both in the page that doesn't appear.

 

The breadcrumb trail, add this line to your languages/english/create_account.php:

 

define('NAVBAR_TITLE_2', 'Confirm');

 

Tim

Share this post


Link to post
Share on other sites

Safoo

 

I'm finally getting back around to the PrintOrder issue. I took the code from your posting...

 

A cusomter is logged in normally :

 

if(tep_session_is_registered('customer_id'))

 

A customer is logged in with PWA:

 

if (tep_session_is_registered('noaccount'))

 

...found the normal customer login in the printorder.php file and replaced it with the 'noaccount' line, but this didn't work. I'm still getting the same problem...

 

I can't print an order. From the checkout_success.php page the PrintOrder contrib adds a button to print your order. This opens a pop-up (printorder.php) but instead of showing the order it redirects to the login screen.

 

Any ideas???

Share this post


Link to post
Share on other sites

Here's the code that I think is applicable from printorder.php:

 

<?php
/*
 $Id: printorder.php,v 1.2 12/03/2003 randynewman
 
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2002 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

 if (!tep_session_is_registered('noaccount')) {
   $navigation->set_snapshot();
   tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
 }

 

Notice I changed the 'customer_id' line to 'noaccount'. Would I also need to change anything in 'includes/application_top.php'?

Share this post


Link to post
Share on other sites
mijman2

 

I've had similar problems in a few cases because of STS.? If you are using STS you need to make sure the includes for column_left.php and column_right.php are both in the page that doesn't appear.

 

The breadcrumb trail, add this line to your languages/english/create_account.php:

 

define('NAVBAR_TITLE_2', 'Confirm');

 

Tim

Hi,

 

Not quite sure what you mean, This page is Order_Info_Process.php and it comes up blank and doesnt create a customer. I fouund it would do this when I entered a garbage email address in the PWA form. e.g rterter@ertert.ter

 

Soon as I enter rterter@ertert.com it will process. Looks to me that this page should contain a back button with a message that says something about invalid email address? I cant quite see where I am in Orders_Info_Process when it throws up this blank page.

 

Cheers

Stot

Edited by Stot

Share this post


Link to post
Share on other sites

Mijman2, Stot

 

In Order_Info_Process.php find the code:

<!-- body_text_eof //-->
   <!--No right navigation-->
 </tr>
<!-- body_eof //-->

and replace it with

 

<!-- body_text_eof //-->
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
 </tr>
<!-- body_eof //-->

 

Top tip: If you are using STS and add a contribution that comes up with a blank page always check that column_left.php and column_right.php are both included in the page. I know this to be a problem with a few contributions - PWA, Printable catalog and a couple more I can't recall.

 

Tim

Share this post


Link to post
Share on other sites

Thanks so much!!

-Works like a charm... Now if i could only get qtpro to delete stock when it was purchased :angry: :angry:

Share this post


Link to post
Share on other sites

Still struggling with the PrintOrder contrib working with the PWA contrib. Not making any headway. Can anyone offer any suggestions???

Share this post


Link to post
Share on other sites

Hey all,

 

is anyone using this PWA with the plug-n-pay gateway?

 

It seems that when customers pay with plug-n-pay credit cards and go threw purchase without account the order does not get placed upon successfull checkout.

 

I am updating to the latest version of this mod to see if it helps but wondered if anyone could help shed light on this ..

 

Thanks..

Share this post


Link to post
Share on other sites

Hi all,

 

I'm not sure if this has been requested or even modified already, but i thought it rather silly that you should be able to proceed directly to checkout if the user trys to click the 'my account' link.

 

Below is what i did to version 0.70 to make it include the non PWA login boxes only when clicking through the 'my account' link.

 

edit catalog/login.php

on approx line 150(ish) replace:

 

if (PWA_ON == 'false') {

require(DIR_WS_INCLUDES . FILENAME_PWA_ACC_LOGIN);

} else {

require(DIR_WS_INCLUDES . FILENAME_PWA_PWA_LOGIN);

}

 

with:

if (PWA_ON == 'false')

{

require(DIR_WS_INCLUDES . FILENAME_PWA_ACC_LOGIN);

}

else

{

if ($PWA == 'off')

{

require(DIR_WS_INCLUDES . FILENAME_PWA_ACC_LOGIN);

}

else

{

require(DIR_WS_INCLUDES . FILENAME_PWA_PWA_LOGIN);

}

}

 

edit catalog/account.php

on approx line 17(ish) replace:

 

tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));

 

with:

 

tep_redirect(tep_href_link(FILENAME_LOGIN, 'PWA=off', 'SSL'));

 

Hope this is of some use.

 

Thanks for this Very useful contrib.

 

Chris

Edited by rickcj

Share this post


Link to post
Share on other sites

Chris,

 

Thanks for the input and fix.

 

one other option is to remove the 'my account' link unless the customer is logged in with non-pwa login.

Share this post


Link to post
Share on other sites

This contribution is exactly what I'm looking for, if I can get it to work on my site.

 

I am using STS and although my template originally doesn't include the column_left andcolumn_right files I wrote them into my login.php file and that took away one fatal error however this one pops up:

Fatal error: Cannot redeclare tep_show_category() (previously declared in /home/tearetre/public_html/catalog/includes/boxes/categories.php:13) in /home/tearetre/public_html/catalog/includes/boxes/categories.php on line 13

 

any ideas. thanx.

Share this post


Link to post
Share on other sites

Re: my previous post

 

Is it possible that??? Since my version of the sts_template.html page doesn't actually require any of the category boxes (i.e. column_left.php and column_right.php) that by merely adding

  require(DIR_WS_INCLUDES . 'column_left.php');
 require(DIR_WS_INCLUDES . 'column_right.php'):

to login.php to solve the compatability issue creates this additional problem of not finding the category boxes.

 

If this is the case, is there any resolution to getting PWA to work with STS while not including the column_left.php and column_right.php files.

 

I'm learning as I go, please excuse the ignorance...

 

Thanx for any insight

Share this post


Link to post
Share on other sites

definitely ignorance, i figured out my problem. amongst all the file ftping and configuration I forget to ftp some of the files.

 

now that that's solved and it seems that I have options on my login.php page, when i checkout without an account, fill in the info and click continue, the

catalog/Order_Info_Process.php pages comes up with my template but nothing from the order. any suggestions...

Share this post


Link to post
Share on other sites

Mine is!

-Although I can't have downloads on which makes it so I can't sell gift vouchers...

 

I dont know if it the cause of PWA though!

Share this post


Link to post
Share on other sites

On Checkout_success.php

 

Current PWA says:

 

// if the customer is not logged on, redirect them to the shopping cart page

if (!tep_session_is_registered('customer_id')) {

// BoF Purchase Without Account 0.71

tep_redirect(tep_href_link(FILENAME_DEFAULT));

// EoF Purchase Without Account 0.71

}

 

if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'update')) {

$notify_string = 'action=notify&';

$notify = $HTTP_POST_VARS['notify'];

if (!is_array($notify)) $notify = array($notify);

for ($i=0, $n=sizeof($notify); $i<$n; $i++) {

$notify_string .= 'notify[]=' . $notify[$i] . '&';

}

if (strlen($notify_string) > 0) $notify_string = substr($notify_string, 0, -1);

 

// BoF Purchase Without Account 0.71

// tep_redirect(tep_href_link(FILENAME_DEFAULT, $notify_string));

// Added a check for a Guest checkout and cleared the session - 030411

if (tep_session_is_registered('noaccount')) {

tep_session_destroy();

tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL'));

}

else {

tep_redirect(tep_href_link(FILENAME_DEFAULT, $notify_string, 'SSL'));

}

// EoF Purchase Without Account 0.71

}

 

While:

 

PayPal 2.3 says find:

 

tep_redirect(tep_href_link(FILENAME_DEFAULT, $notify_string));

}

 

replace with:

 

//begin PayPal_Shopping_Cart_IPN

tep_redirect(tep_href_link(FILENAME_DEFAULT, $notify_string));

} else if ((isset($HTTP_GET_VARS['action']) && $HTTP_GET_VARS['action'] == 'success')) {

$cart->reset(true);

// unregister session variables used during checkout

tep_session_unregister('sendto');

tep_session_unregister('billto');

tep_session_unregister('shipping');

tep_session_unregister('payment');

tep_session_unregister('comments');

tep_session_unregister('paypal_order_id');

}

//end PayPal_Shopping_Cart_IPN

Share this post


Link to post
Share on other sites

Hello All,

 

When I am in "Proceed Directly to Checkout" and click "Checkout", I am getting Order_Info.php executed.

But I am getting question marks (?). Like below

?First Name: ?

 

How and where do I remove these question marks?

 

Thanks very much

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  

×