Does "Order Delivery Date" supply any files that should be placed in the /includes/modules/pages/checkout_shipping or checkout_payment pages? If so, have you copied those files to the checkout_one page's directory?
Printable View
Does "Order Delivery Date" supply any files that should be placed in the /includes/modules/pages/checkout_shipping or checkout_payment pages? If so, have you copied those files to the checkout_one page's directory?
I've just submitted v2.0.4 of OPC to the Zen Cart Plugins for review and will post back here once it's available for download.
This release contains changes associated with the following GitHub issues:
#143: "Suburb" and "Company" changes not saved on address update.
#144: Maximum address-book entries not honored for account-holders.
#145: Downloads result in a 0-byte file.
#146: Guest-customer can't download from the "checkout_success" page.
#147: Payments can't be made with methods that "collectCardDataOnSite".
nevermind. The files were in the wrong folder. I got the calendar to appear. I am still having issue like when a date is selected on the order, the date on the admin side is not being updated.
I will ask in the order delivery thread as this appears to be a module issue.
Thank you
Hi Cindy - I have just completed a clean rebuild of another site to 155f with your latest OPC version 2.0.4 - I do not believe this is related to OPC but possibly something I have missed in the install of OPC or more likely elsewhere? OPC settings have Guest checkout enabled in admin/configuration
at the cart when I select checkout it takes me to index.php?main_page=login with choices for checkout - on clicking on Guest >> checkout I get the 'login time out' page with the message 'Whoops! Your session has timed out'.
on the index.php?main_page=login page mouseover on 'sign in' and 'sign up' buttons changes button color but not on checkout button.
the checkout process via sign in and via paypal work well, no problems.
I have searched FAQ's and the Forum (found very old thread 2013 but no answer to the issue) and cannot find a solution - I used admin/developer searching time_out and there are 67 matching lines however I am loathe to fiddle with any php files affecting checkout or payment.
myDEBUG-admin error shows this and have no idea if it is relatedI did a Google search using that error message as a search term and there are a number of entries - I read some and they mention 'time out' faults regularly however the type of language used and context was out of my league - but there seems to be a possible fit?Code:[17-Jul-2018 12:20:26 Australia/Melbourne] PHP Fatal error: Cannot destroy active lambda function in [no active file] on line 0
site https://www.harmonyballpendant.com
If this is not an OPC issue please let me know and I can post a query in general questions.
cheers,
Mike
Mike, that "button not changing color" is due to your stylesheet(s); there's specific styling for the login and create-account buttons ... but not for the guest-checkout one.
I'm at a loss to identify why the guest-checkout would result in a time-out. You could generate an OPC log for that guest-checkout mis-handling and send it to me directly.
That other lambda-related issue (in the admin) wouldn't have anything to do with OPC as it's contribution to the admin-side of things is minimal.
Hello Cindy - I am getting 2.0.3 to work perfectly now as I am rebuilding my sites to 1.5.5f one by one. With the most recent I used your new 2.0.4 however I had an issue with it that I thought you may be interested to know about (assuming here that I haven't done anything wrong :smile: ) - the site is using PHP 5.6 as there is a problem with one part of the template I am using (Westminster New) not loading correctly on PHP 7.1 so I am unsure if it is related to PHP version.
Upon clicking 'confirm order' in checkout a blank white page comes up with an error message 'WARNING: An Error occurred, please refresh the page and try again.' Refreshing didn't work, just kept bring back that error page. The transaction(s) actually went through successfully, a credit card checkout and a paypal checkout - same error showed after both transactions.
I uninstalled 2.0.4 and installed 2.03 (with the jscript fixes from you) and it works perfectly. Unfortunately I didn't have the DEBUG log turned on in OPC settings so I didn't capture a log file - as it is still a test site I am more than happy to revert to 2.0.4 with log turned on if you think it would be useful.
I retraced my steps a few times with the 2.0.4 install and nothing glaringly stood out as being wrong on my part (but stranger things have happened).
cheers,
Mike
Mike, when you receive the "Warning: An error occurred" message, a myDEBUG-*.log file should have been created in the site's /logs directory ... that's outside of the control of the OPC's debug (which provides informational logging).
Would you post the contents of one of those logs?
Hi Cindy,
here is a myDEBUG - I should have posted this in the first place, sorry.
cheers, Mike
Code:[27-Jul-2018 06:08:23 UTC] Request URI: /teststore/index.php?main_page=checkout_process, IP address: 203.221.72.3
#1 trigger_error() called at [/home/cliponearrings/public_html/teststore/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/home/cliponearrings/public_html/teststore/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/home/cliponearrings/public_html/teststore/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/home/cliponearrings/public_html/teststore/includes/classes/observers/class.checkout_one_observer.php:258]
#5 checkout_one_observer->update() called at [/home/cliponearrings/public_html/teststore/includes/classes/class.base.php:103]
#6 base->notify() called at [/home/cliponearrings/public_html/teststore/includes/classes/order.php:685]
#7 order->create() called at [/home/cliponearrings/public_html/teststore/includes/modules/checkout_process.php:88]
#8 require(/home/cliponearrings/public_html/teststore/includes/modules/checkout_process.php) called at [/home/cliponearrings/public_html/teststore/includes/modules/pages/checkout_process/header_php.php:14]
#9 require(/home/cliponearrings/public_html/teststore/includes/modules/pages/checkout_process/header_php.php) called at [/home/cliponearrings/public_html/teststore/index.php:36]
[27-Jul-2018 06:08:23 UTC] PHP Fatal error: 1054:Unknown column 'is_guest_order' in 'field list' :: UPDATE orders
SET is_guest_order = 1
WHERE orders_id = 37
LIMIT 1 ==> (as called by) /home/cliponearrings/public_html/teststore/includes/classes/observers/class.checkout_one_observer.php on line 258 <== in /home/cliponearrings/public_html/teststore/includes/classes/db/mysql/query_factory.php on line 171
If you look at the debug log, can you get an idea of what's wrong? Hint: it's where it says fatal error. What would you want to do first from looking at this error message? I bet you can figure this one out on your own!👍
many thanks for responding lankee -
I am going to engage you as my Motivational consultant lankeeyankee - the expression of your confidence in my ability has driven me to new heights! :cool:
So the problem I have is understanding the context of what that line means and hence trying to decipher the issue;
Interpretation of someone who is not a coder - it means that a 'guest' has a limit of '1' order per visit (login) ?? somehow I think it means something different/more than that but let's assume I am right - why would that trigger on just one login and why would the transaction actually process?Code:// $p2 ... (r/w) A reference to the newly-created order's ID value.
//
case 'NOTIFY_ORDER_DURING_CREATE_ADDED_ORDER_HEADER':
if (zen_in_guest_checkout()) {
$GLOBALS['db']->Execute(
"UPDATE " . TABLE_ORDERS . "
SET is_guest_order = 1
WHERE orders_id = " . (int)$p2 . "
LIMIT 1"
);
}
break;
Most of the time I do try to work out the logic of issues within my limited knowledge of coding however other times I reach for the panic button - gotta get out of that habit :bangin:
thanks again,
Mike
I think you're missing what I meant:It looks like there is a missing column in the orders table. That is what this error message is telling you. "Unknown column 'is_guest_order'"PHP Code:
PHP Fatal error: 1054:Unknown column 'is_guest_order' in 'field list' :: UPDATE orders....
Sometimes the logs can be confusing and it would be nice if there was a "basic log" showing just the error and a "complete log" such as it currently is. While it's good to be able to back trace where the error is being called from, the chain of events, it can also be perhaps "too much information" for many regular (non-developer) users when all they need is that last line of the log showing the actual error.
So, in the interest of helping you get a better understanding of what's occurred, do you have more insight into the issue? Just from what that bit that I pasted above is saying. I do not know why this is happening in terms of upgrading from a lower version, and Cindy is the best person to address it moving forward, but you can remedy this so you can progress with your site update once you see what the error is telling you.
Thanks again lankee - I can't tell you any more about what is happening than what I described in the post on the previous page. So you are aware, the site is upgraded using 2.0.3 with some jscript file modifications provided by Cindy that solved a particular problem. Cindy then had some other improvements she did and released 2.0.4 a few days later but for some reason or other I am having an issue with it so I reverted to 2.0.3 - I suppose I was just letting Cindy know. 2.0.3 (modified) is working fine for me.
The reference to upgrade was in relation to PHP versions, from 5.6 used on the previous v1.5.1 to upgrading it to 7.1 when I upgraded the site to v1.5.5f and the problem it is causing on the template I am using and the off chance it may have been an influence - if you are so inclined maybe you might be able to offer an opinion on the cause of the PHP conflict, see this thread >> https://www.zen-cart.com/showthread....42#post1347942
thanks again for your support.
cheers,
Mike
The error is telling you that you are missing a column in the orders table called is_guest_order. Again, I don't know why upgrading OPC versions hasn't updated the orders table to add this column, I haven't looked at the code. But, to get you rolling on your merry way, you can easily add this column.You can paste this into tools>install sql patches.Code:ALTER TABLE `orders` ADD COLUMN `is_guest_order` tinyint(1) NOT NULL DEFAULT '0';
Hmm, that is_guest_order should have been added to the orders' table on an install/upgrade to v2.0.0 (or later). If that's not there, there's also the possibility that other database configuration items weren't added either.
@shags38, would you post a screenshot of your store's Configuration->One-Page Checkout Settings for review?
Hi Cindy - configuration settings below as requested - v2.0.4 settings were exactly the same
cheers,
Mike
Attachment 17989
Thanks for that, Mike. That is_guest_order field should have been created when all the guest-checkout-related configuration settings were created, so I'm still puzzled.
Hi
Have installed latest version of OPC and am having issues with zipship module. When you first arrive at the checkout page it correctly displays a delivery rate, however if you update the shipping address postcode it then incorrectly says 'The delivery/shipping fee cannot be determined at this time' .
Since OPC 2.0.0 and later have been found to work with ZipShip, are you receiving any debug files in the logs directory? If so, enter them here using the # sign above.
I just tried this (OPC 2.0.4, ZC 1.5.5f, ZipShip v2.0.1, responsive_classic template) without issue. I placed an item into my cart, clicked the "Checkout" button and then clicked "Guest Checkout" on the OPC-modified login screen.
Started out with guest zipcode as one value ("supported" by ZipShip); shipping cost properly displayed. Changed the guest zipcode to another one within the ZipShip configuration (but with a different price) and the shipping-cost was correctly updated upon pressing the "Save" button from the OPC's main screen.
Was the issue you found during "normal" checkout?
Note: I just tried "normal" checkout without issue.
Sorry please ignore, realised it was my issues.
However, if anyone can help - as part of my zipship implementation I hardcode a list of cities into the checkout page as a select so that the user can't pick anything we don't deliver to. The zipcode is updated based on their selection. I could get this to work with earlier OPC but am struggling now that the billing and shipping are on the same page. I more or less have it working the way I want except that when I select a shipping city it keeps coming back with the 'Your City must contain a minimum of 2 characters.'
If someone could visit my test site and tell me what I'm doing wrong - tearing my hair out ...
http://61.245.139.145/zencart
Let me ask another hopefully easier question.
As we only deliver locally I wish to hardcode the country in shipping address. I have modified tpl_modules_opc_address_block.php so that it outputs a hidden field instead of the country selection -
<input type="hidden" name="zone_country_id[ship]" id="country-ship" value="13" />
However this value is not getting passed through so I am getting the warning about needing to select a country. Can anyone suggest what I am missing?
http://61.245.139.145/zencart
That hidden input is most likely being "overwritten" by the base form's address-selection. Note also that the module you identified is used to create both the shipping and billing address, so the warning about needing to select a country might be associated with the zone_country_id[bill] value.
No, must admit not sure how to do that. That said I am more interested in your prior comment -
That hidden input is most likely being "overwritten" by the base form's address-selection
To this person who is pretty rubbish at forms, what does this mean, and where would I look to correct this ?
You need to "View Source" when the checkout_one page is presented (that's Ctrl+U on FireFox) to see if there are multiple inputs named zone_country_id[ship].
Setting up an AU Zone for shipping is fairly simple (although multi-step):
Localizations->Zone Definitions, click Insert. Zone Name: AU Shipping Zone Description: Limit shipping to AU-only, press Enter.
Now, click the Details button associated with that Zone Definition: Country: AU Zone: All Zones (some versions of Zen Cart show this as Please select), press Enter.
Now navigate to Modules->Shipping. Select each of your active shipping modules and set the Shipping Zone to AU Shipping. That will enable those shipping selections to be active only when the ship-to address is in Australia.
Definately only one zone_country_id[ship]- most frustrating!
http://61.245.139.145/zencart
OK, will need to upgrade zipship - still using original version.
Another question - how would I 'blank out' the default shipping information on this page - or at the very least just the zipcode.
Might sound silly but its quite important for what I am trying to do.
Link to my test site if you wish to view -
http://61.245.139.145/zencart/
The background:
Basically we only deliver locally in our own vans or via courier, hence the use of the zipship module. A large proportion of our deliveries are gifts so frequently the shipping and billing won't match, and in many cases the billing address will be interstate or overseas.
To avoid (in particular) overseas customers making mistakes with suburb vs postcode I have an input select list of suburbs we deliver to, and on selection it populates the postcode field. There are many suburbs of Perth we do not deliver to and we also wish to avoid customers fudging the booking by putting in a false postcode against somewhere we don't go. It will happen - was only yesterday discussing with a colleague who is constantly blamed by customers who themselves have put the wrong information in.
This has worked really well prior to OPC, as well as with OPC v1.
The Problems
A. Because OPC is now truely one page without the edit address buttons, the zipship module is quoting a rate based on the billing postcode prepopulating the shipping postcode. Even though my form is showing errors without a 'city' being selected, the user is able to click checkout and move forward to payment. Hence I don't want the shipping info prepopulated because I want to force the customer to enter shipping suburb/postcode separately (and correctly).
B. I don't understand why my input select doesn't work.
@royaldave, thanks for the update. I'm in the middle of a couple of projects right now, but will take a look now that I understand your requirements when I've got a little down-time.
Ah, I see the issue. You've got OPC configured with Enable shipping=billing? set false, and the shipto address is not (yet) fully formed but OPC is not recognizing that.
I'll send you a PM so that you can send me your updates to any OPC modules you've changed so that I can reproduce the issue on my test site and get back with a solution.
@lat9 which .php file generates the call for the text to appear when you start typing in your credit card number?
Example when start typing 42 I notice the page refresh and visa appears. Notice it’s lower case but their logo is VISA. I notice the same when typing in 52 which shows masterCard and I want it to show MasterCard. Also americanExpress & discover.
It’s just cosmetic if you have the time please.
I used the developers tool kit and could not find masterCard & also search in the database with no avail. Is the call embed in hex code?
Grrrrrrr ...
Mark
Thanks for the snappy reply, I know your swamped!
I use Square
You might try looking at /includes/classes/cc_validation.php.
Thank you and I’ll report back on my findings.
I don't see the immediate fix.
Code:<?php
/**
* cc_validation Class.
*
* @package classes
* @copyright Copyright 2003-2016 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: Author: DrByte Mon Jul 27 18:24:22 2015 -0400 Modified in v1.5.5 $
*/
if (!defined('IS_ADMIN_FLAG')) {
die('Illegal Access');
}
/**
* cc_validation Class.
* Class to validate credit card numbers etc
*
* @package classes
*/
class cc_validation extends base {
var $cc_type, $cc_number, $cc_expiry_month, $cc_expiry_year;
function validate($number, $expiry_m, $expiry_y, $start_m = null, $start_y = null) {
$this->cc_number = preg_replace('/[^0-9]/', '', $number);
// NOTE: We check Solo before Maestro, and Maestro/Switch *before* we check Visa/Mastercard, so we don't have to rule-out numerous types from V/MC matching rules.
if (preg_match('/^(6334[5-9][0-9]|6767[0-9]{2})[0-9]{10}([0-9]{2,3}?)?$/', $this->cc_number) && CC_ENABLED_SOLO=='1') {
$this->cc_type = "Solo"; // is also a Maestro product
} else if (preg_match('/^(49369[8-9]|490303|6333[0-4][0-9]|6759[0-9]{2}|5[0678][0-9]{4}|6[0-9][02-9][02-9][0-9]{2})[0-9]{6,13}?$/', $this->cc_number) && CC_ENABLED_MAESTRO=='1') {
$this->cc_type = "Maestro";
} else if (preg_match('/^(49030[2-9]|49033[5-9]|4905[0-9]{2}|49110[1-2]|49117[4-9]|49918[0-2]|4936[0-9]{2}|564182|6333[0-4][0-9])[0-9]{10}([0-9]{2,3}?)?$/', $this->cc_number) && CC_ENABLED_MAESTRO=='1') {
$this->cc_type = "Maestro"; // SWITCH is now Maestro
} elseif (preg_match('/^4[0-9]{12}([0-9]{3})?$/', $this->cc_number) && CC_ENABLED_VISA=='1') {
$this->cc_type = 'Visa';
} elseif (preg_match('/^5[1-5][0-9]{14}$/', $this->cc_number) && CC_ENABLED_MC=='1') {
$this->cc_type = 'MasterCard';
} elseif (preg_match('/^3[47][0-9]{13}$/', $this->cc_number) && CC_ENABLED_AMEX=='1') {
$this->cc_type = 'American Express';
} elseif (preg_match('/^3(0[0-5]|[68][0-9])[0-9]{11}$/', $this->cc_number) && CC_ENABLED_DINERS_CLUB=='1') {
$this->cc_type = 'Diners Club';
} elseif (preg_match('/^(6011[0-9]{12}|622[1-9][0-9]{12}|64[4-9][0-9]{13}|65[0-9]{14})$/', $this->cc_number) && CC_ENABLED_DISCOVER=='1') {
$this->cc_type = 'Discover';
} elseif (preg_match('/^(35(28|29|[3-8][0-9])[0-9]{12}|2131[0-9]{11}|1800[0-9]{11})$/', $this->cc_number) && CC_ENABLED_JCB=='1') {
$this->cc_type = "JCB";
} elseif (preg_match('/^5610[0-9]{12}$/', $this->cc_number) && CC_ENABLED_AUSTRALIAN_BANKCARD=='1') {
$this->cc_type = 'Australian BankCard'; // NOTE: is now obsolete
} else {
return -1;
}
if (is_numeric($expiry_m) && ($expiry_m > 0) && ($expiry_m < 13)) {
$this->cc_expiry_month = $expiry_m;
} else {
return -2;
}
$current_year = date('Y');
if (strlen($expiry_y) == 2) $expiry_y = intval(substr($current_year, 0, 2) . $expiry_y);
if (is_numeric($expiry_y) && ($expiry_y >= $current_year) && ($expiry_y <= ($current_year + 10))) {
$this->cc_expiry_year = $expiry_y;
} else {
return -3;
}
if ($expiry_y == $current_year) {
if ($expiry_m < date('n')) {
return -4;
}
}
// check the issue month & year but only for Switch/Solo cards
if (($start_m || $start_y) && in_array($this->cc_type, array('Switch', 'Solo'))) {
if (!(is_numeric($start_m) && ($start_m > 0) && ($start_m < 13))) {
return -2;
}
if (strlen($start_y) == 2) {
if ($start_y > 80) {
$start_y = intval('19' . $start_y);
} else {
$start_y = intval('20' . $start_y);
}
}
if (!is_numeric($start_y) || ($start_y > $current_year)) {
return -3;
}
if (!($start_y >= ($current_year - 10))) {
return -3;
}
}
return $this->is_valid();
}
function is_valid() {
$cardNumber = strrev($this->cc_number);
$numSum = 0;
for ($i=0; $i<strlen($cardNumber); $i++) {
$currentNum = substr($cardNumber, $i, 1);
// Double every second digit
if ($i % 2 == 1) {
$currentNum *= 2;
}
// Add digits of 2-digit numbers together
if ($currentNum > 9) {
$firstNum = $currentNum % 10;
$secondNum = ($currentNum - $firstNum) / 10;
$currentNum = $firstNum + $secondNum;
}
$numSum += $currentNum;
}
// If the total has no remainder it's OK
return ($numSum % 10 == 0);
}
}
On further inspection (aren't demo sites wonderful?), it appears that the text is being added by the Square payment method's jQuery (see /includes/modules/pages/checkout_one/jscript_square.php). The values displayed appear to be coming back from an AJAX call to Square.
You might try posting in that payment-method's support-thread for more details.
Thank you for your time Cindy,
Yes, when I inspected with firefox I found the following 3 files that make a call for this text.
Ex: sq-card-brand which when you type in two number is appears with the text visa.
I will submit a thread in the square module.
Mark
v1.5.5f ... NOT URGENT
Hi Cindy, I hope you are well. I've searched the thread and cannot find a reference to this - guests using credit card are not showing up in admin/customers/customers whereas those who use PayPal are showing. In configuration/one page checkout I have 'enable account registration' set to true .... and in admin/modules/payment/PayPal Express have Express Checkout: Automatic Account Creation set to Yes (which explains why PayPal users are being registered).
I noticed this when using admin/tools/send email when I was sending 'select' emails and many 'orders' entries did not show up in 'customers'. So many guests will not be included for email marketing.
I'm not sure if I have missed something somewhere?
cheers,
Mike
That's the way this module currently functions. If you need to see the guests as customers you might need to use a different one. And OPC doesn't have a checkbox to opt in to email marketing or a newsletter for guests. It might seem spammy to send marketing emails to customers that didn't ask to be emailed and if they report the spam it can have negative consequences for your domain.
Mike, as @lankeeyankee indicated, that's OPC working-as-designed. If a customer placed an order as a guest, they've implicitly opted-out of any email marketing from the site.
Upon order completion, a guest is given the opportunity to create an account, but if they didn't ...
@lankeeyankee and Cindy - thank you both for your responses .... all is good. Just as a matter of clarification, in configuration settings what does enabling 'enable account registration' actually do? ... or is that answered in your last line Cindy? ... 'Upon order completion, a guest is given the opportunity to create an account'
cheers,
Mike
The OPC's Registered Accounts (which that configuration setting enables) enables your store's customers to create a slimmed-down account (no ship-to/bill-to addresses are recorded in the customer's account).
Unlike a guest-checkout, this customer has a unique customer-account with minimal data-gathering (good for GDPR). A customer with a registered account can do anything that one with a "normal" account can, except that they need to enter their address information each time they place an order.
OPC 1.1.0 (yes, I know it's old but I didn't see any reference in version changes that would have addressed this particular issue)
ZC 1.5.4
When checking out using store credit funds and store credit funds exceed order total, a payment type is required even though the balance due is $0. Resulting in endless loop (from customer comment)
Use Store Credit funds minus one cent and selecting payment type completes order as expected.
Could you provide a link to the Store Credits module that you're using, Rick?
AFAIK, it is the store credit that is built in ???
I may have 'changed' the words 'gift certificate' to 'store credit'. Need to get through first coffee of the day and I'll check.
TNX Cindy
Was that GIT issue #85?
that I missed?
Updating a site that also uses snap affiliates. Wanted to make sure I merged correctly since admin/orders changes coincide.
Merged version for notifiers:I note that the ?> of the snap_affiliates merge was commented out by the original merge, so I left it that way.Code:<?php//-bof-one_page_checkout-lat9-Additional notifiers to enable additional order status-icons. *** 1 of 2 ***
$extra_legends = '';
$zco_notifier->notify('NOTIFY_ADMIN_ORDERS_MENU_LEGEND', array(), $extra_legends);
?>
<tr>
<td class="smallText"><?php echo TEXT_LEGEND . ' ' . zen_image(DIR_WS_IMAGES . 'icon_status_red.gif', TEXT_BILLING_SHIPPING_MISMATCH, 10, 10) . ' ' . TEXT_BILLING_SHIPPING_MISMATCH . $extra_legends . snap_affiliates_image(); //-snap_affiliates-lat9 *** 5 of 6 *** ?>
</tr>
<?php
//-eof-one_page_checkout-lat9-Additional notifiers to enable additional order status-icons. *** 1 of 2 ***
?>
That looks right, @dbltoe. Note that the ?> is not exactly commented-out, since it takes precedence over the in-line comment added by SNAP.
THANX:hug:
Wanted to make sure the trifocals were seeing it correctly.:cool:
1.5.5f PHP7.1 cliponearrings.net.au
Hi - I am getting the following myDEBUG error and am not sure what to do to fix it - I am not experiencing any symptoms on the site, well none that I am aware of anyway.
this is the line at and around #252 (in blue)Code:[09-Oct-2018 00:32:43 Australia/Melbourne] Request URI: /index.php?main_page=checkout_one, IP address: 124.168.54.51
#1 zones->quote() called at [/home/cliponearrings/public_html/includes/classes/shipping.php:171]
#2 shipping->quote() called at [/home/cliponearrings/public_html/includes/modules/pages/checkout_one/header_php.php:200]
#3 require(/home/cliponearrings/public_html/includes/modules/pages/checkout_one/header_php.php) called at [/home/cliponearrings/public_html/index.php:36]
[09-Oct-2018 00:32:43 Australia/Melbourne] PHP Warning: A non-numeric value encountered in /home/cliponearrings/public_html/includes/modules/shipping/zones.php on line 252
my admin/shipping settings are 'zone' and 'weight' with no handling fees.Code:if ($shipping == -1) {
$shipping_cost = 0;
$shipping_method = MODULE_SHIPPING_ZONES_UNDEFINED_RATE;
} else {
switch (MODULE_SHIPPING_ZONES_METHOD) {
case (MODULE_SHIPPING_ZONES_METHOD == 'Weight'):
// charge per box when done by Weight
// Handling fee per box or order
if (constant('MODULE_SHIPPING_ZONES_HANDLING_METHOD_' . $dest_zone) == 'Box') {
$shipping_cost = ($shipping * $shipping_num_boxes) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone) * $shipping_num_boxes;
} else {
$shipping_cost = ($shipping * $shipping_num_boxes) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone);
}
break;
case (MODULE_SHIPPING_ZONES_METHOD == 'Price'):
// don't charge per box when done by Price
$shipping_cost = ($shipping) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone);
break;
case (MODULE_SHIPPING_ZONES_METHOD == 'Item'):
// don't charge per box when done by Item
$shipping_cost = ($shipping) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone);
break;
}
cheers,
Mike
Mike, that's not an issue with OPC, per se, but with the shipping module. Are each of your zone-shipping handling fees set to a numeric value, i.e. 0 and not empty?
Observation. Responsive_Classic
When using the cart in iPhone 6+ mode and a currencies sidebox turned on.
After adding an item to the cart, the first trip to the shopping cart shows the currencies sidebox underneath the shopping cart thereby allowing the customer to change the currency.
After going to the OPC page, if a customer clicks on Edit in the Shopping Cart Contents Area, they are taken to the Shopping Cart with no currency sidebox option to change the currency.
Desktop and tablets work the same with the Currencies sidebox appearing under each scenario.
Working on this today in spare time.
Thoughts on the matter?
Hello again,
I am trying to get an order total module called "Priority Order Handling" to work with your opc mod. https://www.zen-cart.com/downloads.php?do=file&id=236
It is a module that charges a rush service fee. The customer can choose this option on the normal step 2 of checkout. It is a simple checkbox with apply button. This opc module is not recognizing when the checkbox is checked to add this rush fee.
Is this something you can add to the module or point us to where we can look?
Thanks
... and I'm back.
The issue arises due to the Priority Order Handling order-total's use of a checkbox-type field to gather the customer input.
When OPC processes a credit-class selection via click of an Apply button, OPC's confirmation page is activated to cause any posted inputs to be recorded in the customer's session. After that recording, the OPC's main data-gathering page is re-displayed ... which causes that checkbox selection to be lost.
You can see similar behavior in the 3-page checkout process. If you tick the Priority Order Handling checkbox and navigate to the checkout-confirmation page and then return to the checkout-payment page (like if the customer decided that they wanted to include some comments in the order) ... the checkbox selection is lost.
That order-total module requires an update to be usable under current versions of PHP anyway, so I propose the following actions:
- Update the Priority Order Handling plugin to use a radio-button type input for its selection as well as the above update.
- Update the OPC's documentation to indicate that order-total modules using a checkbox-type field for their input are not compatible with OPC.
Here's a link to the beta version of the updated Priority Handling order-total. @getaped, if you'll download that and validate that the change "works for you", I'll get that updated on the Zen Cart plugins.
Let's take further discussion over to the Priority Handling order-total's support thread: https://www.zen-cart.com/showthread....andling-Charge
@lat9
Did you see this post above?
Quote:
Observation. Responsive_Classic
When using the cart in iPhone 6+ mode and a currencies sidebox turned on.
After adding an item to the cart, the first trip to the shopping cart shows the currencies sidebox underneath the shopping cart thereby allowing the customer to change the currency.
After going to the OPC page, if a customer clicks on Edit in the Shopping Cart Contents Area, they are taken to the Shopping Cart with no currency sidebox option to change the currency.
Desktop and tablets work the same with the Currencies sidebox appearing under each scenario.
Working on this today in spare time.
Thoughts on the matter?
I did ... and I was waiting for additional information.
Lol !!!!
Tell John to wake up and get with it.
:)
Sorry, still dealing with crashing computer.
I believe this is not a OPC problem. I have found evidence elsewhere (other complaints of missing currency sidebox) that this may be a problem with the mobile template. Got me running in circles chasing my tail. Had the thread up and computer dumped again.:frusty:
Yep, It's there on desktop and tablet landscape displays. No Problem.
In mobile and tablet portrait, it does't want to show up much at all.
The sidebox has to be set for ON in Single Column Status and, even then, only appears after an addition to the shopping cart.
ZC 1.55.5f Responsive_classic
Apache Version 2.4.34
PHP Version 7.0
MySQL Version 10.2.18-MariaDB
Plugins:
ColumnGridLayout_for_155f
CheckBoxTextBoxIconV1.0.3
one_page_checkout-2.0.0
OPC debug setting at "True OR Full"
I'm trying too understand why these entries are showing up in the Debug Log files.
When I "Confirm" the order these entries show up in the "Logs"
Otherwise no PHP errors and works OK,
There are other similar entries from other configurations but I thought this would be a start.
Any guidance would be appreciated.
Thanks,
2018-10-15 17:01:04 checkout_one_observer: checkout_one redirect: array ( 'main_page' => 'checkout_shipping',)
2018-10-15 17:01:04 checkout_one: CHECKOUT_ONE_ENTRY, version (2.0.4 (2018-07-15)), Zen Cart version (1.5.5f), template (responsive_classic)
2018-10-15 17:01:04 OnePageCheckout: startGuestOnePageCheckout, exit: sendto: not set, billto: not setOnePageCheckout::__set_state(array(
'isGuestCheckoutEnabled' => false
'registeredAccounts' => false
'guestIsActive' => false
'isEnabled' => true
'tempAddressValues' =>
array (
'ship' =>
array (
'gender' => ''
'company' => ''
'firstname' => ''
'lastname' => ''
'street_address' => ''
'suburb' => ''
'city' => ''
'postcode' => ''
'state' => ''
'country' => 223
'zone_id' => 57
'zone_name' => 'Texas'
'address_book_id' => 0
'selected_country' => 223
'country_has_zones' => true
'state_field_label' => ''
'show_pulldown_states' => true
'error' => false
'error_state_input' => false
'validated' => false
)
'bill' =>
array (
'gender' => ''
'company' => ''
'firstname' => ''
'lastname' => ''
'street_address' => ''
'suburb' => ''
'city' => ''
'postcode' => ''
'state' => ''
'country' => 223
'zone_id' => 57
'zone_name' => 'Texas'
'address_book_id' => 0
'selected_country' => 223
'country_has_zones' => true
'state_field_label' => ''
'show_pulldown_states' => true
'error' => false
'error_state_input' => false
'validated' => false
)
)
'guestCustomerInfo' => NULL
'guestCustomerId' => 2
'tempBilltoAddressBookId' => 3
'tempSendtoAddressBookId' => 4
'dbStringType' => 'stringIgnoreNull'
'customerInfoOk' => NULL
'billtoTempAddrOk' => NULL
'sendtoTempAddrOk' => NULL
'isVirtualOrder' => NULL
'billtoAddressChangeable' => NULL
'shiptoAddressChangeable' => NULL
))
@linuxguy2, since you've enabled the OPC debug, OPC is going to create those myDEBUG-one_page_checkout*.log files. Those files contain a debug-trace of what's going on during the OPC's processing to help me figure out what's going on when something goes wrong.
lat9
Thanks for the prompt reply and clarification. This is a GREAT plugin!
In the past I had been using FEC but OPC is easier to install and works for my purposes.
Haven't put it into production yet but because of all the additional mods I have been testing for a month without producing any issues.
ZC 1.5.5f responsive_classic
PHP 7.1
FYI for compatibility reference
Plugins installed. (Probably not important but I installed in this order)
ColumnGridLayout_for_155f
CheckBoxTextBoxIconV1.0.3
EasyPopulate-4.master-ZC
one_page_checkout-2.0.0
purchase_order_basic_v1_1b
extra_field_on_customer_sign_up_0
export_shipping_information_V1.3.4
font-awesome-4.7.0 (Local Install)
Thanks!
Installed one page checkout and checkout works fine.
Problem is when you click the Log In link at the top of the page or on the home page, you see an error at the top of the page "Access to that page requires a registered account. You can create an account using our login page." When you click on the link, nothing happens. Is there a fix?
Leonard
lfoster@leonardfostercom[/QUOTE]
It's better to ask in the support thread, but under what circumstances does the message occur? What are your OPC configuration settings?
Regards, Cindy[/QUOTE]
Cindy,
This happens after a customer goes to checkout and clicks to checkout as a Guest and then looks at other items. When they decide to create an account and click on the Log In link to create an account, that's when they see the error message and can't go any further.[/QUOTE]
That's not what I'm seeing on my demo site running OPC 2.0.4 on Zen Cart 1.5.5f. I added something to the cart, went to Guest Checkout, went back to home, added another item to my cart and clicked the login button. I was, then, able to create a full account.
What version of OPC are you running and how have you configured OPC?
Cindy[/QUOTE]
I'm using 2.0.4. I think the issue may be with this part:
"8. If your store plans to use the guest-checkout functionality of OPC v2.0.0 and later, you'll need to update your current template's common/tpl_header.php module to modify the display of the account and logoff pages' links during a guest checkout. OPC provides two versions of that modification:
If your template is based on the Zen Cart responsive_classic template, merge your template's file with /includes/templates/YOUR_RC_CLONE/common/tpl_header.php."
Honestly, I have no idea what this means.[/QUOTE]
How about a link to the site in question?[/QUOTE]
https://www.purewater4u.com/waterstorenew/[/QUOTE]
If you haven't made additional changes to the site's header, you can simply copy the OPC's distributed file /includes/templates/YOUR_RC_CLONE/common/tpl_header.php to your store's /includes/templates/responsive_classic/common/tpl_header.php.
Then, you should "preserve" the changes you've made to the as-shipped Zen Cart responsive_classic by cloning those changes to a new, site-specific, template using the Clone a Template plugin.[/QUOTE]
OK. So I replaced /includes/templates/responsive_classic/common/tpl_header.php with
/includes/templates/YOUR_RC_CLONE/common/tpl_header.php
and there was no change.
I used Clone a Template and made a clone. Switched the template to the new clone, and there was no change. Something I missed?
Additionally, the Home, Shopping Cart and Checkout header links all work fine. It's the Log In link I can't figure out how to make work properly.
I'm unable to reproduce your issue. Would you post a screenshot of your Configuration->One Page Checkout Settings?
No screenshot. Here is the info:
One-Page Checkout Settings
Title Value Action
Version/Release Date 2.0.4 (2018-07-15)
Enable One-Page Checkout? true Info
Enable: Customer List Info
Update Shipping AJAX Time-out 15000 Info
Enable Shipping=Billing? true Info
Payment Methods Requiring Confirmation eway_rapid,stripepay,gps Info
Order Status: Slamming Control 3 Info
Load Minified Script Files? true Info
Login-Page Layout L;P,G,C;B Info
Enable Guest Checkout? true Info
Guest Checkout: Require Email Confirmation? true Info
Guest Checkout: Pages Allowed Post-Checkout download Info
Guest Checkout: Disallowed Pages account, account_edit, account_history, account_history_info, account_newsletters, account_notifications, account_password, address_book, address_book_process, create_account_success, gv_redeem, gv_send, password_forgotten, product_reviews_write, unsubscribe Info
Guest Checkout: Disallowed Credit Class Order-Totals ot_gv Info
Guest Checkout: Disallowed Payment Methods moneyorder, cod Info
Enable Account Registration? false Info
Enable One-Page Checkout Debug? false Info
Debug: Customer List Info
@Leonard, see your Private Messages.
The salutation Ms. is not saved properly when you create a new guest account.
Reproduced by create a new guest account, select Ms. and when pressed save the value is set back to Mr.
On a test store using:
- Zen Cart 1.5.6
- zca Bootstrap template, with some layout improvements
- OPC 2.0.5-beta2 (201809-20)
- php 7.1.23
When trying to checkout a virtual product, that requires no shipping address, and no method, I can not finalize the order.
The error obviously is the missing shipping method.
What would be the solution?
Attachment 18108
To save me some setup, @Design75, does this issue also occur with the built-in 'responsive_classic' template?
While free shipping is seen at the bottom of the screen shot, is that because OPC has determined that there is free shipping or is that because the free shipping module is installed. The bolded text above leads to the potential thought that the free shipping module may not be installed. I suspect that it is because of who is posting, but can't tell by the post.
In this case (a virtual order), OPC has determined that the order is "virtual" and has set the shipping to free_free.
Would you create a single-shot OPC debug for my review and send the file (they're pretty large) to my direct email address?
To create that debug-file for just this issue, logout then log back in and navigate to the initial checkout_one page. Then, delete the associated customer's OPC debug file, click the Confirm/Review button and send me the copy of the debug-file that contains only that transition's processing.
I've send you a mail via your site's contact form
I've got this updated on OPC's GitHub repository (https://github.com/lat9/one_page_checkout/issues/152); the update will be included in OPC's next release.
After a lot of guessing and searching, I decided to look up "net::ERR_CONTENT_DECODING_FAILED 200", as that was the javascript error generated.
That brought me to this page on stack overflow. There too solution was to add some code to fix gzip compression. That made me remember, I had the switch GZIP_LEVEL set to 1 (on). After switching it to 0 (off). the order continues as it should,without errors
Hmm, I'd added some "disable gzip" handling to the AJAX-class in OPC v2.0.1 (see this GitHub issue). I'll review those changes prior to the OPC 2.0.5 release to make sure that they're all "covered".
Thanks for the post-back!
Has anyone used DrByte's Elavon_Converge module with One Page Checkout?
I've been using the Converge payment module for some time, and just adding OnePageCheckout, however that method fails to complete:
- Breadcrumbs are there
- Footer is there
Waiting/loading icon which never returns
There is an error in the browser console that doesn't make sense:
Any ideas?Code:setFormSubmitButton, payment-module: elavon_converge jquery.checkout_one.min.js:5:926
unreachable code after return statement index.php:358:4
Showing "confirm" jquery.checkout_one.min.js:5:926
Setting orderConfirmed (0), submitter (null) jquery.checkout_one.min.js:5:926
jQuery version: 1.12.4 jquery.checkout_one.min.js:5:926
This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects for further details and to join the discussion on related tools and features! index.php
submitFunction, 2 arguments: 0, 0, jquery.checkout_one.min.js:5:926
Current order total: 8.92, text: $8.92 jquery.checkout_one.min.js:5:926
Checking ot_gv value (0.00) against order total (8.92) jquery.checkout_one.min.js:5:926
submitFunction, on exit submitter=null jquery.checkout_one.min.js:5:926
Setting orderConfirmed (1), submitter (null) jquery.checkout_one.min.js:5:926
Submitting order-creating form jquery.checkout_one.min.js:5:926
Updating shipping method to flatusa_flatusa, processing type: submit jquery.checkout_one.min.js:5:926
<unavailable> index.php:55:11
Shipping method updated, error: false jquery.checkout_one.min.js:5:926
Form submitted, type (submit), orderConfirmed (1) jquery.checkout_one.min.js:5:926
Checking collectsCardDataOnsite(elavon_converge) ... jquery.checkout_one.min.js:5:926
<unavailable> index.php:55:11
Form checked, passed (false) jquery.checkout_one.min.js:5:926
unreachable code after return statement index.php:358:4
... it does! jquery.checkout_one.min.js:5:926
<unavailable> index.php:55:11
[Show/hide message details.] SyntaxError: missing name after . operator jquery.min.js:3:69
globalEval/<
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:2:2644
globalEval
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:2:2618
Ha
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:3:21260
before
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:3:23114
collectsCardDataOnsite/</<
https://www.beadfx.com/catalogue/includes/modules/pages/checkout_one/jquery.checkout_one.min.js:5:4771
i
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:2:27444
fireWith
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:2:28213
Deferred/</e[f[0]]
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:2:29178
success
https://www.beadfx.com/catalogue/index.php:63:13
i
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:2:27444
fireWith
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:2:28213
y
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:4:22719
c
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js:4:26925
The resource at “https://cdn-images.mailchimp.com/embedcode/slim-081711.css” was blocked because tracking protection is enabled.[Learn More] showthread.php
The resource at “https://connect.facebook.net/en_US/all.js#appId=261030990796&xfbml=1” was blocked because tracking protection is enabled.[Learn More]
No, but I've opened an issue (https://github.com/lat9/one_page_checkout/issues/155) on OPC's GitHub repository to track any investigation.