Grrr, IE. Why do I always leave the testing of that browser for the end?
Turns out that the checkout_one page's form doesn't submit properly on IE (IE-11, at least) and just redisplays the checkout_one page on submit-key click.
The issue is that by disabling the HTML <div> in which the submit-button resides on-click, IE disables all the hidden-input variables in that section as well, so the plugin's confirmation page doesn't "see" that it was a real form-submit and redirects back to the main checkout page.
That said, a two-line change to /includes/modules/pages/checkout_one/jscript_main.php is required (it'll be staged for v1.0.2 in the plugin's GitHub repository). Towards the bottom of the file, find:
and make the two highlighted changes:Code:$('form[name="checkout_payment"]').submit(function() { zcLog2Console ('Form submitted, orderConfirmed ('+orderConfirmed+')'); if (orderConfirmed) { $('#checkoutOneSubmit').attr('disabled', true); <?php if ($flagOnSubmit) { ?> var formPassed = check_form(); zcLog2Console ('Form checked, passed ('+formPassed+')'); if (formPassed == false) { $('#checkoutOneSubmit').attr('disabled', false); } return formPassed; <?php } ?> } });
Code:$('form[name="checkout_payment"]').submit(function() { zcLog2Console ('Form submitted, orderConfirmed ('+orderConfirmed+')'); if (orderConfirmed) { $('#confirm-order').attr('disabled', true); <?php if ($flagOnSubmit) { ?> var formPassed = check_form(); zcLog2Console ('Form checked, passed ('+formPassed+')'); if (formPassed == false) { $('#confirm-order').attr('disabled', false); } return formPassed; <?php } ?> } });
Hello,
I am unhappy to report that I am having a problem with this plugin when trying to use Braintree Credit Card Processor.
I have version 1.01 installed and the above modifications. I can't tell you if it was working before with version 1.00 because I assumed it was working because the payment method appeared on the one-page checkout form but I never really tested it. Shame on me!
I am getting this error in my logs:
[08-Aug-2016 07:30:55 America/Chicago] PHP Parse error: syntax error, unexpected T_STRING in /hsphere/local/home/religiousshop/religious-shop.com/includes/languages/english/responsive_sheffield_blue/checkout_confirmation.php on line 15
I have debug turned on in the admin for this plugin nd here is a copy of it:
2016-08-08 08:02:02 checkout_one_observer: checkout_one redirect: Array
(
[main_page] => checkout_shipping
)
2016-08-08 08:02:03 checkout_one: CHECKOUT_ONE_ENTRY, version (1.0.1 (2016-08-06)), Zen Cart version (1.5.4), template (responsive_sheffield_blue)
2016-08-08 08:02:03 checkout_one: CHECKOUT_ONE_AFTER_SHIPPING_CALCULATIONS, pass (), free_shipping (), array (
'id' => 'freeoptions_freeoptions',
'title' => 'Free Shipping Options (Free Shipping)',
'cost' => 0,
'extras' => '',
)
2016-08-08 08:02:06 checkout_one: CHECKOUT_ONE_SHIPPING_CHECK (freeoptions_freeoptions)
Array
(
[0] => Array
(
[id] => freeoptions
[module] => Free Shipping Options
[methods] => Array
(
[0] => Array
(
[id] => freeoptions
[title] => Free Shipping
[cost] => 0
)
)
)
[1] => Array
(
[id] => usps
[module] => United States Postal Service (1 Boxes) (0 lbs, 8 oz)
[methods] => Array
(
[0] => Array
(
[id] => First-Class Mail Parcel
[title] => First-Class Mail Parcel (2 - 5 days)
[cost] => 8.9
[insurance] => 0
)
[1] => Array
(
[id] => Priority MailTM
[title] => Priority Mail™ (2 - 3 days)
[cost] => 11.25
[insurance] => 0.00
)
)
[tax] =>
[icon] => <img src="includes/templates/template_default/images/icons/shipping_usps.gif" alt="United States Postal Service" title=" United States Postal Service " width="50" height="13" />
)
[2] => Array
(
[id] => fedexwebservices
[module] => FedEx (1 x 0.50lbs)
[info] =>
[methods] => Array
(
[0] => Array
(
[id] => PRIORITYOVERNIGHT
[title] => Priority Overnight
[cost] => 34.28
)
[1] => Array
(
[id] => STANDARDOVERNIGHT
[title] => Standard Overnight
[cost] => 31.96
)
[2] => Array
(
[id] => FEDEX2DAY
[title] => Fedex 2 Day
[cost] => 23.62
)
[3] => Array
(
[id] => FEDEXEXPRESSSAVER
[title] => Fedex Express Saver
[cost] => 22.73
)
[4] => Array
(
[id] => GROUNDHOMEDELIVERY
[title] => Ground Home Delivery (1 business day)
[cost] => 13.88
)
)
)
)
Array
(
[0] => freeoptions_freeoptions
[1] => usps_First-Class Mail Parcel
[2] => usps_Priority MailTM
[3] => fedexwebservices_PRIORITYOVERNIGHT
[4] => fedexwebservices_STANDARDOVERNIGHT
[5] => fedexwebservices_FEDEX2DAY
[6] => fedexwebservices_FEDEXEXPRESSSAVER
[7] => fedexwebservices_GROUNDHOMEDELIVERY
)
2016-08-08 08:02:06 checkout_one: CHECKOUT_ONE_AFTER_SHIPPING_QUOTES
array (
'id' => 'freeoptions_freeoptions',
'title' => 'Free Shipping Options (Free Shipping)',
'cost' => 0,
'extras' => '',
)order Object
(
[info] => Array
(
[order_status] => 1
[currency] => USD
[currency_value] => 1.00000000
[payment_method] =>
[payment_module_code] =>
[coupon_code] =>
[shipping_method] => Free Shipping Options (Free Shipping)
[shipping_module_code] => freeoptions_freeoptions
[shipping_cost] => 0
[subtotal] => 8.1
[shipping_tax] =>
[tax] => 0
[total] => 8.1
[tax_groups] => Array
(
[0] => 0
)
[comments] =>
[ip_address] => 96.245.162.177 - 96.245.162.177
)
[totals] => Array
(
)
[products] => Array
(
[0] => Array
(
[qty] => 1
[name] => Round Swarovski Dark Amethyst Birthstones
[model] => CB506FEB
[tax_groups] => Array
(
[0] => Sales Tax
)
[tax_description] => Sales Tax
[price] => 8.1000
[final_price] => 8.1
[vendors_id] => 3
[vendors_name] => HMH
[onetime_charges] => 0
[weight] => 0.5
[products_priced_by_attribute] => 0
[product_is_free] => 0
[products_discount_type] => 0
[products_discount_type_from] => 0
[id] => 3830
[rowClass] => rowEven
[tax] => 0
)
)
[customer] => Array
(
[firstname] => Frank
[lastname] => Bernstein
[company] =>
[street_address] => 31115 Beaver Circle
[suburb] =>
[city] => Lewes
[postcode] => 19958
[state] => Delaware
[zone_id] => 15
[country] => Array
(
[id] => 223
[title] => United States
[iso_code_2] => US
[iso_code_3] => USA
)
[format_id] => 2
[telephone] => 3022978848
[email_address] => [email protected]
)
[delivery] => Array
(
[firstname] => Frank
[lastname] => Bernstein
[company] =>
[street_address] => 31115 Beaver Circle
[suburb] =>
[city] => Lewes
[postcode] => 19958
[state] => Delaware
[zone_id] => 15
[country] => Array
(
[id] => 223
[title] => United States
[iso_code_2] => US
[iso_code_3] => USA
)
[country_id] => 223
[format_id] => 2
)
[content_type] => physical
[email_low_stock] =>
[products_ordered_attributes] =>
[products_ordered] =>
[products_ordered_email] =>
[attachArray] =>
[billing] => Array
(
[firstname] => Frank
[lastname] => Bernstein
[company] =>
[street_address] => 31115 Beaver Circle
[suburb] =>
[city] => Lewes
[postcode] => 19958
[state] => Delaware
[zone_id] => 15
[country] => Array
(
[id] => 223
[title] => United States
[iso_code_2] => US
[iso_code_3] => USA
)
[country_id] => 223
[format_id] => 2
)
)
messageStack Object
(
[messages] => Array
(
)
)
Array
(
[0] => Array
(
[id] => freeoptions
[module] => Free Shipping Options
[methods] => Array
(
[0] => Array
(
[id] => freeoptions
[title] => Free Shipping
[cost] => 0
)
)
)
[1] => Array
(
[id] => usps
[module] => United States Postal Service (1 Boxes) (0 lbs, 8 oz)
[methods] => Array
(
[0] => Array
(
[id] => First-Class Mail Parcel
[title] => First-Class Mail Parcel (2 - 5 days)
[cost] => 8.9
[insurance] => 0
)
[1] => Array
(
[id] => Priority MailTM
[title] => Priority Mail™ (2 - 3 days)
[cost] => 11.25
[insurance] => 0.00
)
)
[tax] =>
[icon] => <img src="includes/templates/template_default/images/icons/shipping_usps.gif" alt="United States Postal Service" title=" United States Postal Service " width="50" height="13" />
)
[2] => Array
(
[id] => fedexwebservices
[module] => FedEx (1 x 0.50lbs)
[info] =>
[methods] => Array
(
[0] => Array
(
[id] => PRIORITYOVERNIGHT
[title] => Priority Overnight
[cost] => 34.28
)
[1] => Array
(
[id] => STANDARDOVERNIGHT
[title] => Standard Overnight
[cost] => 31.96
)
[2] => Array
(
[id] => FEDEX2DAY
[title] => Fedex 2 Day
[cost] => 23.62
)
[3] => Array
(
[id] => FEDEXEXPRESSSAVER
[title] => Fedex Express Saver
[cost] => 22.73
)
[4] => Array
(
[id] => GROUNDHOMEDELIVERY
[title] => Ground Home Delivery (1 business day)
[cost] => 13.88
)
)
)
)
2016-08-08 08:02:06 checkout_one: CHECKOUT_ONE_AFTER_ORDER_TOTAL_PROCESSING
order_total Object
(
[modules] => Array
(
[0] => ot_subtotal.php
[1] => ot_shipping.php
[2] => ot_coupon.php
[3] => ot_group_pricing.php
[4] => ot_quantity_discount.php
[5] => ot_bogo.php
[6] => ot_tax.php
[7] => ot_loworderfee.php
[8] => ot_gv.php
[9] => ot_total.php
)
)
order Object
(
[info] => Array
(
[order_status] => 1
[currency] => USD
[currency_value] => 1.00000000
[payment_method] =>
[payment_module_code] =>
[coupon_code] =>
[shipping_method] => Free Shipping Options (Free Shipping)
[shipping_module_code] => freeoptions_freeoptions
[shipping_cost] => 0
[subtotal] => 8.1
[shipping_tax] =>
[tax] => 0
[total] => 8.1
[tax_groups] => Array
(
[0] => 0
)
[comments] =>
[ip_address] => 96.245.162.177 - 96.245.162.177
)
[totals] => Array
(
)
[products] => Array
(
[0] => Array
(
[qty] => 1
[name] => Round Swarovski Dark Amethyst Birthstones
[model] => CB506FEB
[tax_groups] => Array
(
[0] => Sales Tax
)
[tax_description] => Sales Tax
[price] => 8.1000
[final_price] => 8.1
[vendors_id] => 3
[vendors_name] => HMH
[onetime_charges] => 0
[weight] => 0.5
[products_priced_by_attribute] => 0
[product_is_free] => 0
[products_discount_type] => 0
[products_discount_type_from] => 0
[id] => 3830
[rowClass] => rowEven
[tax] => 0
)
)
[customer] => Array
(
[firstname] => Frank
[lastname] => Bernstein
[company] =>
[street_address] => 31115 Beaver Circle
[suburb] =>
[city] => Lewes
[postcode] => 19958
[state] => Delaware
[zone_id] => 15
[country] => Array
(
[id] => 223
[title] => United States
[iso_code_2] => US
[iso_code_3] => USA
)
[format_id] => 2
[telephone] => 3022978848
[email_address] => [email protected]
)
[delivery] => Array
(
[firstname] => Frank
[lastname] => Bernstein
[company] =>
[street_address] => 31115 Beaver Circle
[suburb] =>
[city] => Lewes
[postcode] => 19958
[state] => Delaware
[zone_id] => 15
[country] => Array
(
[id] => 223
[title] => United States
[iso_code_2] => US
[iso_code_3] => USA
)
[country_id] => 223
[format_id] => 2
)
[content_type] => physical
[email_low_stock] =>
[products_ordered_attributes] =>
[products_ordered] =>
[products_ordered_email] =>
[attachArray] =>
[billing] => Array
(
[firstname] => Frank
[lastname] => Bernstein
[company] =>
[street_address] => 31115 Beaver Circle
[suburb] =>
[city] => Lewes
[postcode] => 19958
[state] => Delaware
[zone_id] => 15
[country] => Array
(
[id] => 223
[title] => United States
[iso_code_2] => US
[iso_code_3] => USA
)
[country_id] => 223
[format_id] => 2
)
)
messageStack Object
(
[messages] => Array
(
)
)
2016-08-08 08:02:06 checkout_one: CHECKOUT_ONE_AFTER_PAYMENT_MODULES_SELECTION
payment Object
(
[modules] => Array
(
[0] => braintree_api.php
[1] => moneyorder.php
[2] => freecharger.php
[3] => paypalwpp.php
[4] => layaway.php
)
[selected_module] =>
[doesCollectsCardDataOnsite] => 1
[paymentClass] => layaway Object
(
[code] => layaway
[title] => Layaway Payments <br/>Available for orders above $300.00. This splits the cost of your order into monthly payments, Your first payment is due now, please send your down payment check to us as soon as possible. Your order will NOT ship until paid in full
[description] => Monthly Payments
[icon] =>
[enabled] => 1
[sort_order] => 5
[email_footer] => Layaway Payment Plan
[layaway_payment_lengths_list] => Array
(
[0] => 3 Months
[1] => 6 Months
)
[layaway_payment_lengths_list_dropdown] => Array
(
[0] => Array
(
[id] => 0
[text] => 3 Months
)
[1] => Array
(
[id] => 1
[text] => 6 Months
)
)
)
)
array (
'id' => 'freeoptions_freeoptions',
'title' => 'Free Shipping Options (Free Shipping)',
'cost' => 0,
'extras' => '',
)
2016-08-08 08:02:06 checkout_one: CHECKOUT_ONE_TEMPLATE_SHIPPING_QUOTES:
array (
'id' => 'freeoptions_freeoptions',
'title' => 'Free Shipping Options (Free Shipping)',
'cost' => 0,
'extras' => '',
)
array (
0 =>
array (
'id' => 'freeoptions',
'module' => 'Free Shipping Options',
'methods' =>
array (
0 =>
array (
'id' => 'freeoptions',
'title' => 'Free Shipping',
'cost' => 0,
),
),
),
1 =>
array (
'id' => 'usps',
'module' => 'United States Postal Service (1 Boxes) (0 lbs, 8 oz)',
'methods' =>
array (
0 =>
array (
'id' => 'First-Class Mail Parcel',
'title' => 'First-Class Mail Parcel (2 - 5 days)',
'cost' => 8.9,
'insurance' => 0,
),
1 =>
array (
'id' => 'Priority MailTM',
'title' => 'Priority Mail™ (2 - 3 days)',
'cost' => 11.25,
'insurance' => '0.00',
),
),
'tax' => NULL,
'icon' => '<img src="includes/templates/template_default/images/icons/shipping_usps.gif" alt="United States Postal Service" title=" United States Postal Service " width="50" height="13" />',
),
2 =>
array (
'id' => 'fedexwebservices',
'module' => 'FedEx (1 x 0.50lbs)',
'info' => '',
'methods' =>
array (
0 =>
array (
'id' => 'PRIORITYOVERNIGHT',
'title' => 'Priority Overnight',
'cost' => 34.28,
),
1 =>
array (
'id' => 'STANDARDOVERNIGHT',
'title' => 'Standard Overnight',
'cost' => 31.96,
),
2 =>
array (
'id' => 'FEDEX2DAY',
'title' => 'Fedex 2 Day',
'cost' => 23.62,
),
3 =>
array (
'id' => 'FEDEXEXPRESSSAVER',
'title' => 'Fedex Express Saver',
'cost' => 22.73,
),
4 =>
array (
'id' => 'GROUNDHOMEDELIVERY',
'title' => 'Ground Home Delivery (1 business day)',
'cost' => 13.88,
),
),
),
)
When I switch back to the old multi-page checkout everything works ok.
Please help,
Frank
Frank, I appreciate the posting of the log file! Next time, though, you should post that (or any code-related items) using the "CODE" tags (the big # in the menu-bar as you're writing your post). That just places that information into a scrollable text-box so that the information doesn't occupy so much screen-space.
There are two issues ... first, the debug-log that you received. Find the following block in your /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php (where, for your case, YOUR_TEMPLATE is responsive_sheffield_blue):
and add that missing semi-colon:Code://-bof-one_page_checkout-lat9 *** 1 of 1 *** if (defined ('CHECKOUT_ONE_ENABLED') && CHECKOUT_ONE_ENABLED == 'true') { define ('NAVBAR_TITLE_2', 'Review and Submit') define ('HEADING_TITLE', 'Review Order Details and Submit Your Order'); } else { define('NAVBAR_TITLE_2', 'Confirmation'); define('HEADING_TITLE', 'Step 3 of 3 - Order Confirmation'); } //-eof-one_page_checkout-lat9 *** 1 of 1 ***
Now, as to the Braintree payment method "not working", could you elaborate a bit on what's not working? I see from the log that the payment-method collects payment data on-site and you're running Zen Cart 1.5.4. I think you'd mentioned previously, but I have to ask: Have you copied the ajax.php and jscript_framework.php files from the plugin's /pre_zc155a folder to your store (and the template's jscript folder)?Code://-bof-one_page_checkout-lat9 *** 1 of 1 *** if (defined ('CHECKOUT_ONE_ENABLED') && CHECKOUT_ONE_ENABLED == 'true') { define ('NAVBAR_TITLE_2', 'Review and Submit'); define ('HEADING_TITLE', 'Review Order Details and Submit Your Order'); } else { define('NAVBAR_TITLE_2', 'Confirmation'); define('HEADING_TITLE', 'Step 3 of 3 - Order Confirmation'); } //-eof-one_page_checkout-lat9 *** 1 of 1 ***
FWIW, I just created a Braintree sandbox account, installed and configured Braintree 1.3.1 and, with the ZC 1.5.5a responsive_classic template, successfully placed an order.
That said, @fjbern1943, I'm puzzled as to the source of the issue you're having.
Hello,
I added the ";" to the checkout_confirmation.php page. I had already uploaded the ajax.php and jscript_framework.php files from the plugin's /pre_zc155a folder. Everything now looks ok and was able to checkout with Braintree. So, the problem was only the missing ";" .
Thanks for the help.
Frank
Thanks, @fjbern1943, for the update! That "missing semi-colon" fix is booked for the plugin's 1.0.2 release.
Unfortunately I have another problem. I have a vendor type application installed on the site, which associates an order with a vendor, produces a packing slip pdf file which attaches to an email that is automatically sent to the vendor with our order information and packing slip. This works fine with the standard 3 page checkout but is not working with the new one-page checkout. The main file that has been modified to accomplish this is the includes/modules/checkout_process.php file which is called by the header_php.php file. I examined both of the regular checkout and checkout one files and can't see why the checkout_process file is not being called by the checkout one files.
This more than likely off topic but might be valuable for other zeners with this type or similar applications that might be called by the checkout_process.php file.
Any help or direction would be greatly appreciated.
Frank
Frank, the checkout_process functionality is untouched by the One-Page Checkout's processing. There might be, however, some changes that your application introduced into the checkout_payment/confirmation processing that are not getting picked up.
Are there any observer-class (i.e. /includes/classes/observers) modules that "help" with the operation? Or any additional header_php_xxxx.php files present in the /includes/modules/pages/checkout_payment or /includes/modules/pages/checkout_confirmation folders?
Bookmarks