Latest News: (loading..)
NimaP

One Page Checkout Support

2,293 posts in this topic

For all you guys who are getting the "function pre_confirmation_check()" error, see my previous post in this thread. I too was getting this error until the developer stepped in and sorted it out.

 

Cheers

Hi,

That only helps/works if I have two or more payment modules installed. If I have only one (which is what I want), I still get the error.

 

Thanks.

Share this post


Link to post
Share on other sites

Well this is really a great contribution!!

 

I have finally got it to work with STS. :D

Still having the "fatal error" if only one payment module is installed though. :angry:

 

Another small bug is that the "Sign In-pop up" don't work. Nothing happens when entering a correct e-mail+password.

Is anyone else having this error? Any clues?

 

My guess is that it's STS/javascript related... :blink:

Share this post


Link to post
Share on other sites
Well this is really a great contribution!!

 

I have finally got it to work with STS. :D

Still having the "fatal error" if only one payment module is installed though. :angry:

 

Another small bug is that the "Sign In-pop up" don't work. Nothing happens when entering a correct e-mail+password.

Is anyone else having this error? Any clues?

 

My guess is that it's STS/javascript related... :blink:

Hi john i would suggest you pm SpankyAndy he got it to work with sts maybe he can send you the sts template for checkout

Share this post


Link to post
Share on other sites

Have done som serious testing now and there are some problems at least in my case:

1. The checkout is waaaaaay to slow with all the ajax/java updating... Customers will most likely click on "update cart" several times since nothing seems to be happening.

It takes way too long to update shipping and billing information as well and customers will think that there is something wrong. Has happened on my store several times already.

 

2. When I did try it on a test site did the customer registration work well. Once installed on my main site is there a problem of having customers being registered two or three times! Furthermore are all the new e-mail adresses registered without the "@".

 

*sigh*

 

:blink: :blink: :blink:

Share this post


Link to post
Share on other sites
Have done som serious testing now and there are some problems at least in my case:

1. The checkout is waaaaaay to slow with all the ajax/java updating... Customers will most likely click on "update cart" several times since nothing seems to be happening.

It takes way too long to update shipping and billing information as well and customers will think that there is something wrong. Has happened on my store several times already.

 

2. When I did try it on a test site did the customer registration work well. Once installed on my main site is there a problem of having customers being registered two or three times! Furthermore are all the new e-mail adresses registered without the "@".

 

*sigh*

 

:blink: :blink: :blink:

ok make it a 2 page checkout in admin set one page checkout, require login set it to true,

Share this post


Link to post
Share on other sites

Fatal error: Call to a member function pre_confirmation_check() on a non-object in /home/content/m/e/t/metalhead1/html/shopping/includes/classes/onepage_checkout.php on line 613

 

www.byzantiumjewelrycasting.com/shopping

 

 

can anyone help me? i have paypal thanks

Share this post


Link to post
Share on other sites

Wait a second...did that thing just...yes, it did! It works!! :blink:

 

I was on the verge of giving up on this contribution, having assumed that the many hacks and contribs added over the years were just somehow not going to allow this checkout page to work. But thanks to little bits of help from johnnybebad and SpankyAndy I think I may finally have it working. It needs to be tested a bit more but the main thing that was bugging me (the "login" and "change address" buttons not working) has been solved. And here's what I finally did that fixed it:

 

I use STS so I figured out early on that I needed a checkou.php.html template file. I later noticed that a javascript include was missing, so I added that to the template header. But what is also necessary is for the following DIV to be added to the template (I finally realized this when I was comparing the source code for the checkout on the ITWebExperts site with my own). This is the popup/form that is called by the login and change address buttons. The thing is it remains hidden until it's called. And I don't remember seeing it mentioned in any of the contrib files (johnnybebad mentioned it to me in a PM, but it didn't click with me at the time what he meant).

 

<!-- dialogs_bof //-->
<div id="loginBox" title="Log Into My Account" style="display:none;"><table cellpadding="2" cellspacing="0" border="0">
<tr>
 <td class="main">E-Mail Address:</td>
 <td><input type="text" name="email_address"></td>

</tr>
<tr>
 <td class="main">Password:</td>
 <td><input type="password" name="password" maxlength="40"></td>
</tr>
<tr>
 <td colspan="2" align="right"><img src="includes/languages/english/images/buttons/button_login.gif" border="0" alt="IMAGE_LOGIN" title=" IMAGE_LOGIN " width="100" height="22" id="loginWindowSubmit"></td>
</tr>

</table></div>
<div id="addressBook" title="Address Book" style="display:none"></div>
<div id="newAddress" title="New Address" style="display:none"></div>
<!-- dialogs_eof//-->

 

So, assuming it passes some rigorous customer testing, what next? I (think I) mentioned earlier that the 2/3 character state/province/county menu for addresses works fine for countries that are used to it, but not for many others. It should be a fairly straightforward thing juggle the form to use the full names in the database rather than the abbreviations.

 

Anybody already done this?

Share this post


Link to post
Share on other sites

Does anyone know how to make the payment/shipping methods appear regardless of the address entry?

 

For some reason my checkout stopped working :( It was all working fine last week, I was getting orders and all was well - then on Sunday orders stopped coming through but as I had reigned in my Adwords CPC advertising I put it down to that until last night a customer emailed me to say I cant get payment options to appear even when I enter all the boxes so they couldnt complete checkout. I assumed they were doing something silly but they weren't - checkout.php will not show payment options no matter what I do.

 

I have now turned it off and gone back to the old checkout but I am totally baffled as to why this has happened when it worked fine last week so the easy option seems to be to not wait for the address etc to be entered before offering payment options - anyone any idea if it can be done?

 

Jason

Share this post


Link to post
Share on other sites
Does anyone know how to make the payment/shipping methods appear regardless of the address entry?

 

For some reason my checkout stopped working :( It was all working fine last week, I was getting orders and all was well - then on Sunday orders stopped coming through but as I had reigned in my Adwords CPC advertising I put it down to that until last night a customer emailed me to say I cant get payment options to appear even when I enter all the boxes so they couldnt complete checkout. I assumed they were doing something silly but they weren't - checkout.php will not show payment options no matter what I do.

 

I have now turned it off and gone back to the old checkout but I am totally baffled as to why this has happened when it worked fine last week so the easy option seems to be to not wait for the address etc to be entered before offering payment options - anyone any idea if it can be done?

 

Jason

It can be done, would need to look at the java, im not good with java did you tell itwebexperts.com about this?

Share this post


Link to post
Share on other sites
I get this Fatal error: Call to a member function pre_confirmation_check() on a non-object in /home/d23038/public_html/includes/classes/onepage_checkout.php on line 611

What can I do?

If anyone is getting an error like above using IE but works fine with firefox do this, courtesy of another post in this thread

(includes/checkout/checkout.js) there were php tags, which were simply comments like <?php //this is a comment?> and so entirely unnecessary. IE was bombing out at this point, whereas other browsers ignored them. However, they can simply be removed.

Share this post


Link to post
Share on other sites

I hacked the address-related files to make a telephone number required, and also added a telephone field to the shipping address, etc. That works fine, but then I don't get any payment or shipping options.

 

I'm guessing that whatever Ajax code updates the payment/shipping options is being thrown off by the new required field.

Share this post


Link to post
Share on other sites
It can be done, would need to look at the java, im not good with java did you tell itwebexperts.com about this?

 

I thought they werent offering any support? Thats what it says on the contribution download page?

Share this post


Link to post
Share on other sites

ya that's correct no free support. Latest version 1.05 posted

 

#1: fixed an issue with having single payment methods and getting the pre_confirmation_check error.

 

#2: fixed an issue where it would require a password even if the fields weren’t present

 

#3: did some more cleanup with the checkout.js file

 

#4: fixed some language defines

 

enjoy

Share this post


Link to post
Share on other sites
I thought they werent offering any support? Thats what it says on the contribution download page?

There not offering free support, but they have asked you to reports bugs to them, they will eventually remove them and bring out a new release

Edited by steve_s

Share this post


Link to post
Share on other sites

My chekout.php page is not secured. Is everyone else's?

 

How do I set up my SSL with the onepagecheckout?

Share this post


Link to post
Share on other sites

My previous post regarding the password error has been fixed with the latest release, Thank You!

 

Now, I'm experiencing the following problem. I fill my cart, checkout and fill in my details and choose to create an account and assign a password. I finish checkout with no problem. The order is logged, the order process email is generated.

 

However, when I end up on the checkout success screen and click Continue, I get hit with this error:

 

Fatal error: Cannot redeclare tep_validate_password() (previously declared in /home/xxx/xxx/includes/functions/password_funcs.php:16) in /home/xxx/xxx/includes/functions/password_funcs.php on line 29

 

Furthermore, the account was never created in Admin. The customer's name is nowhere to be found on the Customers list. Their order appears just fine in the Orders list, but...no customer exists.

 

- Andrea

Share this post


Link to post
Share on other sites

I've installed the one page checkout on my test site earlier this morning. However, I have Linkpoint Connect as my payment gateway for credit cards on my four page checkout and it works fine. I need to integrate Linkpoint Connect into "one page checkout", and I need help to where I should insert the code.

Any help would be much appreciated, or if anyone has one page checkout and linkpoint working together and would let me look at the piece of code that would work as well.

 

Thanks!

 

Steven

Share this post


Link to post
Share on other sites
My previous post regarding the password error has been fixed with the latest release, Thank You!

 

Now, I'm experiencing the following problem. I fill my cart, checkout and fill in my details and choose to create an account and assign a password. I finish checkout with no problem. The order is logged, the order process email is generated.

 

However, when I end up on the checkout success screen and click Continue, I get hit with this error:

 

 

 

Furthermore, the account was never created in Admin. The customer's name is nowhere to be found on the Customers list. Their order appears just fine in the Orders list, but...no customer exists.

 

- Andrea

check checkout_success.php look at code you add to add see which file it includes then search in that file for tep_validate_password and remove it if there.

 

Do you get customer linked to order if you log in first then use one page checkout

Edited by steve_s

Share this post


Link to post
Share on other sites
I've installed the one page checkout on my test site earlier this morning. However, I have Linkpoint Connect as my payment gateway for credit cards on my four page checkout and it works fine. I need to integrate Linkpoint Connect into "one page checkout", and I need help to where I should insert the code.

Any help would be much appreciated, or if anyone has one page checkout and linkpoint working together and would let me look at the piece of code that would work as well.

 

Thanks!

 

Steven

look back a few pages was something about changing includes/classes/onepage_checkout.php i think file was post was made by itwebexperts

Share this post


Link to post
Share on other sites

Hi Steve,

 

As a logged in customer, the checkout works smoothly...even the Continue button on the Checkout Success screen. No errors.

 

If I add items to my cart and then go to Checkout and fill in my address details and do NOT choose to have an account created, everything runs smoothly. The only thing I don't like about the end of it, is that the Checkout Success screen's continue button is pointing elsewhere than for the logged in customers.

 

Logged in buyers are taken to the index page when they click Continue. Buyers who did not create an account are taken to the shopping cart page. "Your cart is empty!". Don't like that, but I can change that to point elsewhere.

 

The issue is with those who fill in their details and choose to have an account created and provide a password. The orders are logged; but the customer's account is never created. Then, of course, there's that nasty error appearing onscreen when they click Continue after hitting the Checkout Success screen.

 

I looked at checkout_success.php and all I see is the code that came with this contrib added at the top of the file where you replace:

 

// if the customer is not logged on, redirect them to the shopping cart page
 if (!tep_session_is_registered('customer_id')) {
tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
 }

 

with:

 

/* One Page Checkout - BEGIN */
 if (ONEPAGE_CHECKOUT_ENABLED == 'True'){
  if (!isset($_SESSION['onepage'])){
	  if (!tep_session_is_registered('customer_id')) {
		  tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
	  }
  }else{
	  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT);
	  require_once('includes/functions/password_funcs.php');
	  require('includes/classes/onepage_checkout.php');
	  $onePageCheckout = new osC_onePageCheckout();
	  $onePageCheckout->createCustomerAccount();

	  if (isset($_SESSION['customer_id']) && $_SESSION['customer_id'] == 'temp_customer'){
		  unset($_SESSION['customer_id']);
	  }
  }
 }else{
  if (!tep_session_is_registered('customer_id')) {
	  tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
  }
 }
/* One Page Checkout - END */

 

require_once('includes/functions/password_funcs.php');

require('includes/classes/onepage_checkout.php');

 

Both of those files are using the tep_validate_password and tep_encrypt_password functions, thusly, the 'Cannot redeclare tep_validate_password() (previously declared)' message. Those functions are being used first by the password_funcs.php file, so do I strip them out of the onepage_checkout.php file? If so....how?

 

- Andrea

Share this post


Link to post
Share on other sites

Thanks for adding one page checkout for the osc community.

 

The only problem I'am having is can not validate Email Address, a customer can add any words in email field with out @xxx.com if it has more than Six letters. Email Confirm and Validation is needed.

 

 

And yes after checkout take's you to Shoppin cart saying Shopping cart is empty and not checkout success page.

 

 

Thank You!

Culturebee

Share this post


Link to post
Share on other sites
Hi Steve,

 

As a logged in customer, the checkout works smoothly...even the Continue button on the Checkout Success screen. No errors.

 

If I add items to my cart and then go to Checkout and fill in my address details and do NOT choose to have an account created, everything runs smoothly. The only thing I don't like about the end of it, is that the Checkout Success screen's continue button is pointing elsewhere than for the logged in customers.

 

Logged in buyers are taken to the index page when they click Continue. Buyers who did not create an account are taken to the shopping cart page. "Your cart is empty!". Don't like that, but I can change that to point elsewhere.

 

The issue is with those who fill in their details and choose to have an account created and provide a password. The orders are logged; but the customer's account is never created. Then, of course, there's that nasty error appearing onscreen when they click Continue after hitting the Checkout Success screen.

 

I looked at checkout_success.php and all I see is the code that came with this contrib added at the top of the file where you replace:

 

// if the customer is not logged on, redirect them to the shopping cart page
 if (!tep_session_is_registered('customer_id')) {
tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
 }

 

with:

 

/* One Page Checkout - BEGIN */
 if (ONEPAGE_CHECKOUT_ENABLED == 'True'){
  if (!isset($_SESSION['onepage'])){
	  if (!tep_session_is_registered('customer_id')) {
		  tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
	  }
  }else{
	  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT);
	  require_once('includes/functions/password_funcs.php');
	  require('includes/classes/onepage_checkout.php');
	  $onePageCheckout = new osC_onePageCheckout();
	  $onePageCheckout->createCustomerAccount();

	  if (isset($_SESSION['customer_id']) && $_SESSION['customer_id'] == 'temp_customer'){
		  unset($_SESSION['customer_id']);
	  }
  }
 }else{
  if (!tep_session_is_registered('customer_id')) {
	  tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
  }
 }
/* One Page Checkout - END */

 

require_once('includes/functions/password_funcs.php');

require('includes/classes/onepage_checkout.php');

 

Both of those files are using the tep_validate_password and tep_encrypt_password functions, thusly, the 'Cannot redeclare tep_validate_password() (previously declared)' message. Those functions are being used first by the password_funcs.php file, so do I strip them out of the onepage_checkout.php file? If so....how?

 

- Andrea

Hi Andrea,

lets leave in but try this in includes/application_top.php find

  require(DIR_WS_FUNCTIONS . 'password_funcs.php');

change to

  require_once(DIR_WS_FUNCTIONS . 'password_funcs.php');

if that doesnt work then remove

require_once('includes/functions/password_funcs.php'); from checkout_success.php and see if all works ok

Edited by steve_s

Share this post


Link to post
Share on other sites

Hi Steve,

 

Thanks for the help!

 

I tried both suggestions, and received identical results.

 

When I fill my cart and go to checkout and then fill in my address details and a password to create an account and try to checkout, I get hit with this:

 

1146 - Table 'xxxx_xxxx.TABLE_COUPONS' doesn't exist

select * from TABLE_COUPONS where coupon_code = 'NEW_SIGNUP_DISCOUNT_COUPON'

[TEP STOP]

 

Interesting thing is...it does generate order process emails, logs the order in Admin > Orders AND creates an account in the Customers list in Admin. No welcome email but...that's the least of my problems. LOL.

 

That coupon stuff is coming from the bottom of the onepage_checkout.php file, a huge chunk of code. I don't have Credit Class/Gift Voucher installed in the test site I'm playing with. I do have it in my 'live' site but I'm not willing to test this over there. Any ideas on how to proceed? Maybe I should install CCGV in the test site...if I remember it correctly, it's a pretty big install. Yuck. :)

 

- Andrea

Share this post


Link to post
Share on other sites
Hi Steve,

 

Thanks for the help!

 

I tried both suggestions, and received identical results.

 

When I fill my cart and go to checkout and then fill in my address details and a password to create an account and try to checkout, I get hit with this:

 

1146 - Table 'xxxx_xxxx.TABLE_COUPONS' doesn't exist

select * from TABLE_COUPONS where coupon_code = 'NEW_SIGNUP_DISCOUNT_COUPON'

[TEP STOP]

 

Interesting thing is...it does generate order process emails, logs the order in Admin > Orders AND creates an account in the Customers list in Admin. No welcome email but...that's the least of my problems. LOL.

 

That coupon stuff is coming from the bottom of the onepage_checkout.php file, a huge chunk of code. I don't have Credit Class/Gift Voucher installed in the test site I'm playing with. I do have it in my 'live' site but I'm not willing to test this over there. Any ideas on how to proceed? Maybe I should install CCGV in the test site...if I remember it correctly, it's a pretty big install. Yuck. :)

 

- Andrea

Hi Andrea,

 

See this post for that problem

http://forums.oscommerce.com/index.php?s=&...t&p=1405969

Share this post


Link to post
Share on other sites

Hi guys,

 

My checkout is working great at the moment on a fixed up v1.04 and I've even now moved over to Paypal Pro with the checkout on a Windows shared SSL server... and all is well !! However, the small issue I have left is that when a customer selects the cash/cheque payment method, the customer is taken straight to the standard checkout_success.php page with no indication of where to post the cheque to. Does anyone know how I can divert customers who select this payment method to a different success page ?

 

Cheers

 

Andy

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