One-Page Checkout … with Guest … for Zen Cart v1.5.7a (and later)

Version 2.4.7 by lat9, swguy, simon1066, marco-pm and drbyte

Copyright © 2013-2024 Vinos de Frutas Tropicales. All rights reserved.

Released under the General Public License (see the file named license.txt in the plugin's distribution for full details). This script is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


  

Important Notes

  1. This version of One-Page Checkout supports Zen Cart 1.5.7a and later … only, there are no core-file changes required; the plugin is drop-in.

Credits:

  1. The checkout-confirmation loading .gif file was created using the tool at http://preloaders.net/en/free.
  2. Browser detection class courtesy of https://github.com/cbschuld/Browser.php.
  3. Simple CSS overlay courtesy of https://github.com/KorenLeslieCohen/simple-css-overlay.
  4. Guest checkout, especially the orders_status page's processing, based on the COWOA (by @DivaVocals, @countrycharm and others) and COWAA (by @davewest) plugins.

Additional information can be found in the plugin's Additional Documentation page.


Current Support Thread at Zen Cart Forums: https://www.zen-cart.com/showthread.php?220781-One-Page-Checkout-Support-Thread

This section identifies how the One-Page Checkout, a.k.a. OPC, presents itself to your customers and your admin users.

Note: If your store provides downloadable products, be sure to check the Installation and Troubleshooting tab's Troubleshooting tab!

This plugin streamlines the flow that your customers see during your store's checkout process, combining the handling required for the checkout_shipping, checkout_payment and checkout_confirmation into a single-page display.

With OPC installed, your customers can also Checkout as Guest or create Registered Accounts! The Checkout as Guest feature provides customers with a more streamlined checkout experience (no account-creation required), while Registered Accounts enable your customers to create their account with minimal information (no address-book record required), making it easier for your customers to sign up for "newsletter-only" accounts and other account-holder features that your store might have.

The plugin's design utilizes standard Zen Cart HTML/CSS layout when rendering its new pages, so the look-and-feel of your store gets "inherited". Some templates make drastic modifications to that layout — removing those standard HTML/CSS selectors — which causes this plugin's newly-added pages to display improperly. The following templates are known to be incompatible with the One-Page Checkout plugin:

  1. Tableau (numinix)
  2. YourStore (themeforest)

One-Page Checkout has been validated with the ZCA Bootstrap Template, v3.2.0 and its associated integration with OPC.


The plugin checks (on confirmation) that the order's information hasn't changed by inspecting the customer's session, ensuring that what the customer saw on the checkout page is the same on confirmation page. There are order-total modules that make changes to those session-based settings, resulting in an order-confirmation loop and are, as such, incompatible with One-Page Checkout:

  1. ot_prowebsoptions

There are other order-total modules that require some tweaks to enable their interoperation with One-Page Checkout:

  1. Reward Points Full Suite v25.e and earlier, see this posting on the One-Page Checkout support thread for details.

The plugin's design also utilizes jQuery as its AJAX interface to the various updates required. There are some Zen Cart plugins that use the MooTools interface that will need a little extra "care and feeding" for compatibility with One-Page Checkout. OPC's v1.0.8 release provides the changes that enable interoperation with MooTools, but some plugin-specific changes might be needed in addition — specifically:

  1. Order Delivery Date. You'll need to copy that plugin's jscript*.* files to the /includes/modules/pages/checkout_one directory and modify the file jscript_a-mootools.js, adding the highlighted line to the top of that module:
    //MooTools, , My Object Oriented (JavaScript) Tools. Copyright (c) 2006-2009 Valerio Proietti, , MIT Style License.
    jQuery.noConflict();

One-Page Checkout's installation loads all the plugin's files into the sub-directories associated with the template_default template's use; that way, the processing is available for all templates you might use in your store. If you make changes to those default files, you'll use the Zen Cart "override" system to make your updates. For example, if you're adding a top-of-page message, you'll copy the file /includes/languages/english/checkout_one.php to the /includes/languages/english/YOUR_TEMPLATE sub-directory and make your changes there.

The plugin has been validated on Zen Cart 1.5.7a through 1.5.7d, using the following shipping, order-total and payment methods:

Shipping Methods

  1. Per Item
  2. Flat Rate
  3. Store Pickup
  4. Table Rate (and various clones)
  5. United States Postal Service (usps)
  6. United Parcel Service (ups)
  7. FedEx
  8. Product Delivery by Postcode (PDP)
  9. ZipShip (Requires v2.0.0 or later)
  10. ozPost

Order Totals

  1. Sub-total (ot_subtotal)
  2. Tax (ot_tax)
  3. Coupon (ot_coupon)
  4. Gift Certificates (ot_gv)
  5. Shipping (ot_shipping)
  6. Total (ot_total)
  7. Reward Points
  8. COD Fee (ot_cod_fee)
  9. Low-order Fee (ot_loworder_fee)

Payment Methods:

  1. Authorize.net (AIM) (authorizenet_aim)
  2. Authorize.net (SIM) (authorizenet)
  3. Authorize.net (CIM Card on File) (authorizenet_cim and authorizenet_cof)
  4. Braintree
  5. Ceon Manual Card
  6. Check / Moneyorder (moneyorder)
  7. Direct Bank Deposit
  8. eWay Rapid 3.0 (eway_rapid)
  9. First Data Hosted Checkout Payment Pages
  10. Layaway Plan
  11. NoChex
  12. Payeezy (payeezyjszc), v0.99 or later
  13. PayPal Express Checkout (paypalwpp). Note: Orders placed via the PayPal Express Checkout button, normally on a site's 'shopping-cart' or 'login' pages, will continue with the "normal" 3-page-checkout process.
  14. Purchase Order (purchaseorders)
  15. Sage Pay Form
  16. Square (square), v0.96 or later
  17. Square Web Pay, starting with OPC v2.4.1.
  18. Stripe-Pay
  19. Gateway Processing Services (gps). Note: The payment method must be present in the OPC setting Payment Methods Requiring Confirmation for proper operation.
  20. Ship2Pay (starting with OPC v2.2.2)
  21. Ceon Sage Pay Direct (starting with OPC v2.2.2)

The primary interoperability issue between OPC (or any checkout-page "consolidator") and a payment-method centers on the collective javascript/jQuery implementation. Newer payment-processors' APIs have become more complicated, resulting in additional jQuery/AJAX constructs within the associated Zen Cart payment-method.

That issue arises when the checkout-page and the payment-method bind to the same DOM event, whether it's the submission of the form or a click of a submit-button. The net result is that some jQuery fragment is not run which, in turn, causes the page/payment-method integration to fail (i.e. orders cannot be placed).

The following guidelines are assumed by One-Page Checkout in support of interoperation with the varied payment-methods, identifying which selectors each class of module binds to. This will serve to reduce those jQuery event conflicts and lessen the integration headaches for payment-method developers.

checkout_payment-loaded jscript modules

When a payment module requires a separate javascript/jQuery "helper" on the checkout_payment page, that separately-loaded script must be sensitive to the Zen Cart implementation of the PayPal Express Checkout "shortcut button". Specifically, when the customer is checking-out via that "shortcut", the only payment-method that is formatted for the customer's use is that for PayPal Express Checkout. The Zen Cart payment-class method in_special_checkout can be used by a payment module's separately-loaded script to determine a case where that script should not be loaded.

There are two known cases of this interoperability issue:

  1. Square, v0.90 and earlier, /includes/modules/pages/checkout_payment/jscript_square.php. As reported in the payment-method's Zen Cart support thread, the code fragment highlighted below must be incorporated to correct the interoperability issue:
    if ($payment_modules->in_special_checkout() || !defined(MODULE_PAYMENT_SQUARE_STATUS) || MODULE_PAYMENT_SQUARE_STATUS != 'True' || (!defined('MODULE_PAYMENT_SQUARE_APPLICATION_ID') || MODULE_PAYMENT_SQUARE_ACCESS_TOKEN == '')) {
        return false;
    }
  2. Payeezy JS, v0.96 and earlier, /includes/modules/pages/checkout_payment/jscript_payeezy.php. As reported in the payment-method's GitHub repository, the code fragment highlighted below must be incorporated to correct the interoperability issue:
    if ($payment_modules->in_special_checkout() || !defined(MODULE_PAYMENT_PAYEEZYJSZC_STATUS) || MODULE_PAYMENT_PAYEEZYJSZC_STATUS != 'True' || (!defined('MODULE_PAYMENT_PAYEEZYJSZC_JSSECURITY_KEY') && !defined('MODULE_PAYMENT_PAYEEZYJSZC_JSSECURITY_KEY_SANDBOX') )) {
        return false;
    }

If your site required a scripting patch, as described above, be sure to copy the updated jscript file to /includes/modules/pages/checkout_one!

Common Page Elements

There are four (4) elements on the "normal" checkout-payment page that have bearing on the page's form submissions:

  1. The form itself, named checkout_payment.
  2. The form's submit button.
  3. The form's optional credit-class modules' (e.g. coupons, vouchers or reward-points) submit buttons.
  4. A global javascript/jQuery variable named submitter. This variable is set by the page to identify whether (0) or not (1) the form's submission requires a payment-method's intervention. This value is set to 1 (no payment-method required) by the page's processing when one or more of the following conditions is met:
    • The order's total value is 0.
    • A credit-class order-total module's submit-button was clicked.
    • A gift-certificate has been applied to the order and its associated value "covers" the cost of the order.

One-Page Checkout Operations

OPC renders its data-gathering page (checkout_one) with no button that actually submits the form. All form submittals are handled via its jQuery processing (/includes/modules/pages/checkout_one/jscript_main.php), allowing OPC to properly sequence the checkout processing.

Instead, the page's jQuery processing binds to a click of the form's pseudo-submit buttons (both order-confirmation and credit-class modules' "Apply" buttons). Upon detecting such a click, the jQuery sets the value of the submitter variable in a manner similar to the checkout_payment page. Additionally, that processing disables the Enter button from acting as a default form-submittal. If that jQuery processing detects that no non-payment-related issues are present, that processing issues a programmatic submit of the page's form.

Payment-Method Operations

If a payment method requires some special action on the submittal of the checkout_payment form, that payment method should bind only to the form's submit event, performing its actions only when the value of submitter is 0 and the payment-method is currently selected.

Once you've installed the plugin, an additional item is available in your admin's Configuration menu: One-Page Checkout Settings. The following settings are available:

Name Description Version Added
Version/Release Date This display-only field shows the plugin's current version and release date. 1.0.0
Enable One-Page Checkout? Choose true to enable for all customers, false to disable (default) or conditional to enable the processing only for customers identified by Enable: Customer List. 1.0.0
Enable: Customer List When you conditionally enable the plugin, use this setting to limit the customers for which the plugin is enabled. Leave the setting blank (the default) to disable the plugin for all customers or identify a comma-separated list of customer_id values for whom the plugin is to be enabled.

Note: Starting with OPC v2.1.0, intervening blanks are allowed.
1.1.0
Update Shipping AJAX Time-out Use this setting to adjust the timeout to use when the plugin requests an update to the shipping quotes on the "checkout_one" page. The default setting of 5000 (5 seconds) should work for most stores. If your store has enabled multiple external shipping modules (e.g. USPS, UPS and FedEx), you might need to increase this value. 1.0.3
Payment-Block Action on Shipping Change Identify the action to be taken for the order's 'payment-block' when the order's shipping-method changes. Some payment-methods (e.g. square) require that the block not be updated while others are dependent on the shipping-method selected (e.g. a Cash payment is accepted only if the customer has chosen 'Store Pickup'). Choose:
  • no-update if at least one of your store's payment methods require that no update be performed, e.g. square.
  • update if none of your store's payment methods require no-update.
  • refresh if your store has a combination of payment-method requirements, some which require no-update and some that don't. Note that choosing this method will result in any customer-entered credit-card information being reset if the order's shipping-method is changed.
If your store has the square module installed on an OPC installation or upgrade, this setting will default to no-update; otherwise, the default value will be update.
2.0.5
Order Total, jQuery Selector Identify the CSS/jQuery selector used to determine an order's current total-value (ot_total). The value defaults to #ottotal > div:first-child, the selector value for the built-in responsive_classic and template_default templates. 2.3.0
Enable Shipping=Billing? When enabled, the "checkout_one" page presents the customer with a checkbox-input to indicate that their shipping and billing addresses are the same. If you don't want that control to be shown, i.e. the billing and shipping addresses are both always displayed, set the value to false. 1.3.0
Payment Methods Requiring Confirmation There are some payment methods that require the confirmation page to be displayed for their proper operation. You can add to that comma-separated list any of the payment methods used on your store for which you'd like the customer to confirm.
Notes:
  1. Starting with OPC v2.1.0, intervening blanks are allowed.
  2. Starting with OPC v2.4.2, you can add credit_covers to this list to ensure that orders that are fully paid using a Gift Certificate or coupon also require confirmation.
1.3.0
Payment Methods Handling Form Submittal There are some payment methods that handle the checkout form's submittal themselves, e.g. square_webPay. Identify those payment methods here, using a comma-separated list (intervening blanks are OK). 2.4.0
Order Status: Slamming Control Identify the number of back-to-back errors that your store allows when a customer is checking an order's status via the order_status page (default: 3). When the customer has reached that threshold, they will be redirected to the time_out page. 2.0.0
Load Minified Script Files? Should the plugin load the minified version of its jQuery scripts, reducing the page-load time for the checkout_one page? Default: true. 1.5.0
Enable Guest Checkout? When enabled (i.e. set to true), customers can checkout without creating an account using the OPC's guest checkout. Note that the overall One-Page Checkout must also be enabled! 2.0.0
Guest Checkout: Require Email Confirmation? When a guest checks out, are they required to confirm their email address? Default: true. 2.0.0
Guest Checkout: Pages Allowed Post-Checkout Identify (using a comma-separated list, intervening blanks are OK) the pages that are allowed once a guest has completed their checkout. When the guest navigates from the checkout_success page to any page not in this list, their guest-customer session is reset.

For example, if your store provides a pop-up print invoice, you would include the name of that page in this list. Default: download.

Note: The default for this setting was blank (i.e. '') for OPC versions prior to v2.0.4.
2.0.0
Guest Checkout: Disallowed Pages Identify (using a comma-separated list, intervening blanks are OK) the pages that are disallowed during guest-checkout. These pages normally require a logged-in customer prior to display, e.g. account. Do not include the login, create_account or logoff pages in this list!

Default: 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.
2.0.0
Guest Checkout: Disallowed Credit Class Order-Totals Identify (using a comma-separated list, intervening blanks are OK) any credit-class order-totals that are disallowed during guest-checkout. These order-totals normally require a customer-account for their processing, e.g. ot_gv, the default value.

Note: Starting with OPC v2.1.0, intervening blanks are allowed.
2.0.0
Guest Checkout: Disallowed Payment Methods Identify (using a comma-separated list, intervening blanks are OK) any payment methods that are disallowed during guest-checkout. These payment methods normally have no validation of purchase — e.g. moneyorder and cod — and can, if left enabled, result in unwanted spam purchases. Default: moneyorder, cod.

Note: Starting with OPC v2.1.0, intervening blanks are allowed.
2.0.0
Enable Account Registration? Do you want your store's create_account processing to create a registered rather than a full account? Default: false. 2.0.0
Login-Page Layout When you enable the plugin's Guest Checkout and/or Account Registration, an alternate formatting of the storefront login page is displayed. Use this setting to control the 3-column layout of that modified page. The value is an encoded string, identifying which block(s) should be displayed in which column. Columns are delimited by a semi-colon (;) and the top-to-bottom column layout is in the order specified by the block-elements' left-to-right order.

The block elements are:
  • L ... (required) The email/password login block.
  • P ... (optional) The PayPal Express Checkout shortcut-button block.
  • G ... (required) The guest-checkout block.
  • C ... (required) The create-account block.
  • B ... (optional) The "Account Benefits" block.
Default: L;P,G,C;B. See this additional-documentation page for details.
2.0.0
Enable One-Page Checkout Debug? When enabled, debug files named one_page_checkout-xx-YYYY-mm-dd.log are created in your /logs sub-directory, where xx is the customer_id for the checkout and YYYY-mm-dd is the date associated with the information. Use the true or full settings in combination with the Debug: Customer List setting to limit the customers for which the debug-action is taken. Setting the value to full will also set the PHP error-level for the checkout_one page's processing so that all PHP errors are logged. 1.0.0
Debug: Customer List When you enable the plugin's debug, use this setting to limit the customers for which the debug-logs are generated. Leave the setting blank (the default) to debug all customers or identify a comma-separated list of customer_id values to limit the debug to just those customers. 1.0.0

There are also a couple of constants present in the plugin's language file (/includes/languages/english/checkout_one.php) that you can use to control the checkout_one page's display. Each of these values are an empty string (i.e. no display produced) as-shipped by the plugin.

  1. TEXT_CHECKOUT_ONE_TOP_INSTRUCTIONS. This constant, echoed within a p tag, defines any upper-page instructions you might want to give to your customers.
  2. TEXT_CHECKOUT_ONE_INSTRUCTIONS. This constant, echoed within a p tag within a fieldset tag, defines any lower-page instructions just above the form's submit button.
  3. TEXT_CHECKOUT_ONE_INSTRUCTION_LABEL. Defines the value to be used in the fieldset's legend tag; if the value is set as '', no legend is generated.

The checkout_one_confirmation page's language file also has an instructional constant that you can use to customize your customers' experience: CHECKOUT_ONE_CONFIRMATION_INSTRUCTIONS. These instructions are displayed just before the page's progress-spinner and should be supplied if your store requires additional time to process.

Note: If you're going to change those constants, be sure to make a template-override copy of the plugin's as-shipped language file so the file isn't mistakenly overwritten on an update to the plugin!

When you've enabled the One-Page Checkout, the customer will see a single-page similar to the images shown in the plugin's additional documentation; the actual layout will depend on the template that is currently active for your store and the OPC options that you have enabled. The customer uses the form to apply any coupon (or gift-certificate) codes, choose their shipping and payment methods and then clicks that "Confirm Order" button … which takes them to a transitional confirmation page and subsequently to the "checkout_success" page. If they've chosen a payment method that accepts credit-cards onsite, then an additional confirmation page is displayed from which the customer re-confirms their order.

Notes:

  1. Customers that access your site using a version of Internet Explorer less than 9.0 will continue to see the "traditional" multi-page version of the checkout process.
  2. This page uses jQuery to handle the submittal of the checkout-related form. If the customer has disabled javascript in their browser or if there's a jQuery-related error on the page, the customer is unable to checkout via OPC. In this case, the plugin displays a message to the customer with a link to the multi-page checkout handling so that they can still checkout.
  3. This page's display depends heavily on the mode that a customer uses to perform their checkout. See this additional-documentation page for details.

This section identifies the procedure you'll use to install/update or remove the plugin for your Zen Cart and also gives some hints and tips regarding troubleshooting an installation.


Notes:

  1. Please make sure that you've read the full instructions before beginning your installation or upgrade.

There are template-override changes required by this plugin; you should always backup your cart's database and files prior to making any changes. Unzip the plugin's package file and then:

  1. If your store is running on Zen Cart 1.5.8, there are core-file overwrites now required. zc158 provides a version of the order_status page that performs a simple redirect to the customer's account, while the version provided by OPC supports guests viewing their previously-placed orders as well. If that's your case:
    1. Rename your current header_php.php in the /includes/modules/pages/order_status sub-directory to header_php.php~.
    2. Rename your current tpl_order_status_default.php in the /includes/templates/template_default/templates sub-directory to tpl_order_status_default.php~.
  2. Rename the YOUR_TEMPLATE sub-directories (5 of them) to match your store's template name:
    1. /includes/languages/english/html_includes/YOUR_TEMPLATE
    2. /includes/languages/english/modules/order_total/YOUR_TEMPLATE
    3. /includes/languages/english/YOUR_TEMPLATE
    4. /includes/modules/sideboxes/YOUR_TEMPLATE
    5. /includes/templates/YOUR_TEMPLATE
  3. Rename the YOUR_ADMIN sub-directory to match your store's admin-sub-directory name.
  4. Merge the template-override modifications required by this plugin with your store's existing copy of each file, using the plugin's version of the file if not currently present in your store's file-system.
    1. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_coupon.php (Added in v2.4.2)
    2. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_gv.php (Added in v2.4.2)
    3. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_coupon.php
    4. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_gv.php
    5. /includes/modules/sideboxes/YOUR_TEMPLATE/information.php (Added in v2.1.3); Note: If you are using the Bootstrap 4 Template, v3.4.0 or later, these changes are already incorporated!
    6. /includes/languages/english/YOUR_TEMPLATE/lang.order_status.php (Added in v2.4.4)
    7. /includes/languages/english/YOUR_TEMPLATE/order_status.php (Added in v2.4.4)
  5. Sign into your Zen Cart's admin panel. Due the the number of files that require uploading, I suggest that you place the site into Maintenance Mode by setting Configuration->Website Maintenance->Down for Maintenance: ON/OFF to true.
  6. Copy the plugin's new files — with the sub-directories renamed as identified in steps A and B and the file-merges performed as identified in step C — to your store's directory structure. You'll use either your webhost's cPanel File Manager or an FTP program (like WinSCP or FileZilla) to perform this copy.
    1. /includes/auto_loaders/config.checkout_one.php
    2. /includes/auto_loaders/paypal_ipn.checkout_one.php
    3. /includes/classes/OnePageCheckout.php
    4. /includes/classes/OnePageCheckoutNoPayment
    5. /includes/classes/Vinos_Browser.php
    6. /includes/classes/ajax/zcAjaxOnePageCheckout.php
    7. /includes/classes/observers/class.checkout_one_observer.php
    8. /includes/classes/observers/CheckoutOneEmailObserver.php
    9. /includes/extra_datafiles/checkout_one_filenames.php
    10. /includes/functions/extra_functions/one_page_checkout_functions.php
    11. /includes/langauges/english/address_book_register.php
    12. /includes/languages/english/checkout_one.php
    13. /includes/languages/english/checkout_one_confirmation.php
    14. /includes/languages/english/checkout_process_guest.php
    15. /includes/languages/english/checkout_success_guest.php
    16. /includes/languages/english/create_account_register.php
    17. /includes/langauges/english/create_account_success_register.php
    18. /includes/languages/english/lang.checkout_one.php
    19. /includes/languages/english/lang.checkout_one_confirmation.php
    20. /includes/languages/english/lang.checkout_process_guest.php
    21. /includes/languages/english/lang.checkout_success_guest.php
    22. /includes/languages/english/lang.create_account_register.php
    23. /includes/languages/english/lang.create_account_success_register.php
    24. /includes/languages/english/lang.login_guest.php
    25. /includes/languages/english/login_guest.php
    26. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php
    27. /includes/languages/english/extra_definitions/lang.checkout_one_extra_definitions.php
    28. /includes/languages/english/html_includes/define_checkout_success_guest.php
    29. /includes/languages/english/html_includes/YOUR_TEMPLATE/define_checkout_success_guest.php
    30. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_coupon.php
    31. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_gv.php
    32. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_coupon.php
    33. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_gv.php
    34. /includes/languages/english/YOUR_TEMPLATE/lang.order_status.php
    35. /includes/languages/english/YOUR_TEMPLATE/order_status.php
    36. /includes/modules/pages/address_book/header_php_address_book_register.php
    37. /includes/modules/pages/address_book/main_template_vars.php
    38. /includes/modules/pages/checkout_one/header_php.php
    39. /includes/modules/pages/checkout_one/jquery.checkout_one.js
    40. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
    41. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js
    42. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js
    43. /includes/modules/pages/checkout_one/jscript_main.php
    44. /includes/modules/pages/checkout_one/on_load_main.js
    45. /includes/modules/pages/checkout_one_confirmation/header_php.php
    46. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
    47. /includes/modules/pages/checkout_success/header_php_guest.php
    48. /includes/modules/pages/checkout_success/main_template_vars.php
    49. /includes/modules/pages/create_account/header_php_create_account_register.php
    50. /includes/modules/pages/create_account/jscript_form_check_register.php
    51. /includes/modules/pages/create_account/main_template_vars.php
    52. /includes/modules/pages/create_account_success/header_php_create_account_success_register.php
    53. /includes/modules/pages/create_account_success/main_template_vars.php
    54. /includes/modules/pages/login/header_php_login_guest.php
    55. /includes/modules/pages/login/jscript_opc_reset_guest_for_ppec.php
    56. /includes/modules/pages/login/main_template_vars.php
    57. /includes/modules/pages/order_status/header_php.php (Note that this is now a core file in zc158)
    58. /includes/modules/pages/shopping_cart/jscript_opc_reset_guest_for_ppec.php
    59. /includes/templates/template_default/css/checkout_one.css
    60. /includes/templates/template_default/css/checkout_one_confirmation.css
    61. /includes/templates/template_default/css/checkout_success.css
    62. /includes/templates/template_default/css/create_account.css
    63. /includes/templates/template_default/css/login.css
    64. /includes/templates/template_default/images/confirmation_one_loading.gif
    65. /includes/templates/template_default/templates/tpl_address_book_register.php
    66. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
    67. /includes/templates/template_default/templates/tpl_checkout_one_default.php
    68. /includes/templates/template_default/templates/tpl_checkout_success_guest.php
    69. /includes/templates/template_default/templates/tpl_create_account_register.php
    70. /includes/templates/template_default/templates/tpl_create_account_success_register.php
    71. /includes/templates/template_default/templates/tpl_login_guest.php
    72. /includes/templates/template_default/templates/tpl_modules_checkout_one_shipping.php
    73. /includes/templates/template_default/templates/tpl_modules_opc_address_block.php
    74. /includes/templates/template_default/templates/tpl_modules_opc_billing_address.php
    75. /includes/templates/template_default/templates/tpl_modules_opc_comments.php
    76. /includes/templates/template_default/templates/tpl_modules_opc_conditions.php
    77. /includes/templates/template_default/templates/tpl_modules_opc_credit_selections.php
    78. /includes/templates/template_default/templates/tpl_modules_opc_customer_info.php
    79. /includes/templates/template_default/templates/tpl_modules_opc_instructions.php
    80. /includes/templates/template_default/templates/tpl_modules_opc_payment_choices.php
    81. /includes/templates/template_default/templates/tpl_modules_opc_shipping_address.php
    82. /includes/templates/template_default/templates/tpl_modules_opc_shipping_choices.php
    83. /includes/templates/template_default/templates/tpl_modules_opc_shopping_cart.php
    84. /includes/templates/template_default/templates/tpl_modules_opc_submit_block.php
    85. /includes/templates/template_default/templates/tpl_order_status_default.php (Note that this is now a core file in zc158)
    86. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
    87. /includes/templates/YOUR_TEMPLATE/css/checkout_one_confirmation.css
    88. /includes/templates/YOUR_TEMPLATE/css/checkout_success.css
    89. /includes/templates/YOUR_TEMPLATE/css/create_account.css
    90. /includes/templates/YOUR_TEMPLATE/css/login.css
    91. /YOUR_ADMIN/opc_admin.php
    92. /YOUR_ADMIN/opc_debug_redirection_error.php
    93. /YOUR_ADMIN/includes/auto_loaders/config.checkout_one.php
    94. /YOUR_ADMIN/includes/classes/observers/CheckoutOneAdminObserver.php
    95. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
    96. /YOUR_ADMIN/includes/init_includes/init_checkout_one_install.php
    97. /YOUR_ADMIN/includes/init_includes/init_checkout_one_upgrade.php
    98. /YOUR_ADMIN/includes/functions/extra_functions/zen_cfg_read_only.php
    99. /YOUR_ADMIN/includes/languages/english/extra_definitions/checkout_one_name.php
  7. Click the "Admin Home" link in your Zen Cart's top admin menu. This action will cause the plugin's installation script to run.
  8. Now, check your store's /includes/modules/pages/checkout_payment directory's files. If you have plugins or additional payment methods that have added files to that directory, copy them to your store's /includes/modules/pages/checkout_one directory. Those additional files will be required proper operation in the One-Page Checkout environment.
  9. If you placed your store into Maintenance Mode, as suggested at step D, you can now safely take your site out of Maintenance Mode.
  10. Note that the plugin, upon initial installation, defaults its enabling settings to false; see the Overview / Configuration tab of this readme for additional information.
  11. One last item to "tidy up" ... registering the two new checkout pages into the ROBOTS_PAGES_TO_SKIP value. I don't think this is a high-priority item since the pages' names don't appear on any menus and include it only for completeness! If you want to make sure that robots aren't indexing the checkout_one and checkout_one_confirmation pages, you'll need to edit your template's version of /includes/languages/english/meta_tags.php and add those two page-names to the end of that constant's comma-separated-list.

Notes:

  1. These instructions have changed significantly for v2.1.0 of the One-Page Checkout plugin! Please make sure that you've read the full instructions before beginning your installation or upgrade.

There are template-override changes required by this plugin; you should always backup your cart's database and files prior to making any changes. Unzip the plugin's package file and then:

  1. Sign into your Zen Cart's admin panel. Since there might be a number of files that require uploading, I suggest that you place the site into Maintenance Mode by setting Configuration->Website Maintenance->Down for Maintenance: ON/OFF to true.
  2. Make note of the version-number of your current One-Page Checkout installation; see your admin's Configuration->One-Page Checkout Settings->Version/Release Date.
  3. Review the Change History tab of this readme, noting all of the affected files starting with the OPC release just following your current version. Copy those updated files from the OPC distribution to your store's file-system.
  4. In the file-list created for step C, note any changes to OPC's base template and language files and make sure to merge those changes with any template-override versions that you might have created!
  5. Click the "Admin Home" link in your Zen Cart's top admin menu. This action will cause the plugin's upgrade script to run.
  6. If you placed your store into Maintenance Mode, as suggested at step A, you can now safely take your site out of Maintenance Mode.

Note: The file /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php was distributed by OPC versions prior to v2.4.2. If you've made no changes over-and-above the one marked section provided by OPC, you can safely remove this file from your template's language directory.

First, delete the files that were copied to your Zen Cart installation's file-system. Then use your admin's Tools->Run SQL Patches to run the file /docs/checkout_one/uninstall/checkout_one_uninstall.sql.

One-Page Checkout relies heavily on your store to load a single version of jQuery for its use during the checkout processing. If your store uses plugin payment-, shipping- or order-total-modules, you'll need to validate the OPC to make sure that your store is capable of supporting its processing. That's why the OPC's initial installation sets the plugin's configuration as Disabled, to give a store-owner the opportunity to make sure that his/her store's environment is compatible with the one-page checkout process.

OPC's jQuery handling makes use of your browser's "Console" to identify its progress throughout the checkout process. On most up-to-date browsers, you can view the browser's console by pressing the F12 key and then clicking on the "Console" tab that is shown (usually at the bottom of the viewed page).

Some required elements on this page are missing

If you receive a javascript alert reading Please contact the store owner; some required elements of this page are missing., then your template-override version of /includes/templates/YOUR_TEMPLATE/templates/tpl_checkout_one_default.php is missing one or more of the HTML id elements that OPC requires for its proper operation.

Follow the instructions above to view the browser's console-log; the missing elements are identified there. You'll need to compare your template-override version of the file with the version present in the /includes/templates/template_default/templates directory, adding those required elements back!

Check for jQuery Errors

It's important that there are no jQuery errors reported within the browser-console as those can lead to a variety of symptoms:

  1. The checkout_one page shows the message "Sorry, but our expedited checkout process cannot be used. Click here to use our alternate checkout process.", where the link presented is back to the multi-page-checkout process.
  2. The above message is not displayed, but the Review or Confirm buttons are inoperative upon click. Note that this symptom is usually associated with multiple jQuery versions being loaded by your store's template and/or plugins.

Template-specific "jscript_framework.php" is Required

After installation of OPC, you might receive an admin error-message: The One-Page Checkout plugin has been disabled.. That message identifies that the file "DIR_FS_INCLUDES/templates/YOUR_TEMPLATE/jscript/jscript_framework.php" is required for the plugin's proper operation (where DIR_FS_INCLUDES identifies your store's file-system's /includes sub-directory and YOUR_TEMPLATE identifies your store's active template name).

You'll need to create that file in your store's active template's jscript sub-directory, containing:

<?php
/**
 * Include AJAX Framework for non-template_default templates **only**!
 *
 * @package templateSystem
 * @copyright Copyright 2003-2017 Zen Cart Development Team
 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
 * @version $Id: Author: zcwilt  lat9 Modified in v1.5.6 $
 */
require DIR_WS_TEMPLATES . 'template_default/jscript/jscript_framework.php';
              

This section identifies the files added or modified for this plugin as well as the plugin's change history.

The plugin provides the following new files in its distribution zip-file:

  1. /includes/auto_loaders/config.checkout_one.php
  2. /includes/auto_loaders/paypal_ipn.checkout_one.php (Added in v2.1.0)
  3. /includes/classes/OnePageCheckout.php (Added in v2.0.0)
  4. /includes/classes/OnePageCheckoutNoPayment.php (Added in v2.1.0)
  5. /includes/classes/Vinos_Browser.php (Added in v1.0.4)
  6. /includes/classes/ajax/zcAjaxOnePageCheckout.php
  7. /includes/classes/observers/class.checkout_one_observer.php
  8. /includes/classes/observers/CheckoutOneEmailObserver.php (Added in v2.3.2)
  9. /includes/extra_datafiles/checkout_one_filenames.php
  10. /includes/functions/extra_functions/one_page_checkout_functions.php (Added in v2.0.0)
  11. /includes/languages/english/address_book_register.php (Added in v2.0.0)
  12. /includes/languages/english/checkout_one.php
  13. /includes/languages/english/checkout_one_confirmation.php
  14. /includes/languages/english/checkout_process_guest.php (Added in v2.0.0)
  15. /includes/languages/english/checkout_success_guest.php (Added in v2.0.0)
  16. /includes/languages/english/create_account_register.php (Added in v2.0.0)
  17. /includes/languages/english/create_account_success_register.php (Added in v2.0.0)
  18. /includes/languages/english/lang.checkout_one.php (Added in v2.4.2)
  19. /includes/languages/english/lang.checkout_one_confirmation.php (Added in v2.4.2)
  20. /includes/languages/english/lang.checkout_process_guest.php (Added in v2.4.2)
  21. /includes/languages/english/lang.checkout_success_guest.php (Added in v2.4.2)
  22. /includes/languages/english/lang.create_account_register.php (Added in v2.4.2)
  23. /includes/languages/english/lang.create_account_success_register.php (Added in v2.4.2)
  24. /includes/languages/english/lang.login_guest.php (Added in v2.4.2)
  25. /includes/languages/english/login_guest.php (Added in v2.0.0)
  26. /includes/languages/english/order_status.php (Added in v2.0.0, removed in v2.4.4, from this distribution only.)
  27. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php (Added in v1.0.8)
  28. /includes/languages/english/extra_definitions/lang.checkout_one_extra_definitions.php
  29. /includes/languages/english/YOUR_TEMPLATE/lang.order_status.php (Added in v2.4.4)
  30. /includes/languages/english/YOUR_TEMPLATE/order_status.php (Added in v2.4.4)
  31. /includes/languages/english/html_includes/define_checkout_success_guest.php (Added in v2.4.2)
  32. /includes/languages/english/html_includes/YOUR_TEMPLATE/define_checkout_success_guest.php (Added in v2.0.0)
  33. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_coupon.php (Added in v2.4.2)
  34. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_gv.php (Added in v2.4.2)
  35. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_coupon.php
  36. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_gv.php
  37. /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php (Removed in v2.4.2, from this distribution only)
  38. /includes/modules/pages/address_book/header_php_address_book_register.php (Added in v2.0.0)
  39. /includes/modules/pages/address_book/main_template_vars.php (Added in v2.0.0)
  40. /includes/modules/pages/checkout_one/header_php.php
  41. /includes/modules/pages/checkout_one/jquery.checkout_one.js (Added in v1.5.0)
  42. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js (Added in v1.5.0)
  43. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js (Added in v2.0.0)
  44. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js (Added in v2.0.0)
  45. /includes/modules/pages/checkout_one/jscript_main.php
  46. /includes/modules/pages/checkout_one_confirmation/header_php.php
  47. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
  48. /includes/modules/pages/checkout_success/header_php_guest.php (Added in v2.0.0)
  49. /includes/modules/pages/checkout_success/main_template_vars.php (Added in v2.0.0)
  50. /includes/modules/pages/create_account/header_php_create_account_register.php (Added in v2.0.0)
  51. /includes/modules/pages/create_account/jscript_form_check_register.php (Added in v2.0.0)
  52. /includes/modules/pages/create_account/main_template_vars.php (Added in v2.0.0)
  53. /includes/modules/pages/create_account_success/header_php_create_account_success_register.php (Added in v2.0.0)
  54. /includes/modules/pages/create_account_success/main_template_vars.php (Added in v2.0.0)
  55. /includes/modules/pages/login/header_php_login_guest.php (Added in v2.0.0)
  56. /includes/modules/pages/login/jscript_opc_reset_guest_for_ppec.php (Added in v2.4.6)
  57. /includes/modules/pages/login/main_template_vars.php (Added in v2.0.0)
  58. /includes/modules/pages/order_status/header_php.php (Added in v2.0.0, became a core-file in zc158)
  59. /includes/modules/pages/shopping_cart/jscript_opc_reset_guest_for_ppec.php (Added in v2.4.6)
  60. /includes/modules/sideboxes/YOUR_TEMPLATE/information.php (Added in v2.1.3)
  61. /includes/templates/template_default/css/checkout_one.css
  62. /includes/templates/template_default/css/checkout_one_confirmation.css
  63. /includes/templates/template_default/css/checkout_success.css (Added in v2.0.0)
  64. /includes/templates/template_default/css/create_account.css (Added in v2.0.0)
  65. /includes/templates/template_default/css/login.css (Added in v2.0.0)
  66. /includes/templates/template_default/images/confirmation_one_loading.gif
  67. /includes/templates/template_default/templates/tpl_address_book_register.php (Added in v2.0.0)
  68. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
  69. /includes/templates/template_default/templates/tpl_checkout_one_default.php
  70. /includes/templates/template_default/templates/tpl_checkout_success_guest.php (Added in v2.0.0)
  71. /includes/templates/template_default/templates/tpl_create_account_register.php (Added in v2.0.0)
  72. /includes/templates/template_default/templates/tpl_create_account_success_register.php (Added in v2.0.0)
  73. /includes/templates/template_default/templates/tpl_login_guest.php (Added in v2.0.0)
  74. /includes/templates/template_default/templates/tpl_modules_checkout_one_shipping.php (Added in v1.0.2)
  75. /includes/templates/template_default/templates/tpl_modules_opc_address_block.php (Added in v2.0.0)
  76. /includes/templates/template_default/templates/tpl_modules_opc_billing_address.php (Added in v1.5.0)
  77. /includes/templates/template_default/templates/tpl_modules_opc_comments.php (Added in v1.5.0)
  78. /includes/templates/template_default/templates/tpl_modules_opc_conditions.php (Added in v1.5.0)
  79. /includes/templates/template_default/templates/tpl_modules_opc_credit_selections.php (Added in v1.5.0)
  80. /includes/templates/template_default/templates/tpl_modules_opc_customer_info.php (Added in v2.0.0)
  81. /includes/templates/template_default/templates/tpl_modules_opc_instructions.php (Added in v1.5.0)
  82. /includes/templates/template_default/templates/tpl_modules_opc_payment_choices.php (Added in v1.5.0)
  83. /includes/templates/template_default/templates/tpl_modules_opc_shipping_address.php (Added in v1.5.0)
  84. /includes/templates/template_default/templates/tpl_modules_opc_shipping_choices.php (Added in v1.5.0)
  85. /includes/templates/template_default/templates/tpl_modules_opc_shopping_cart.php (Added in v1.5.0)
  86. /includes/templates/template_default/templates/tpl_modules_opc_submit_block.php (Added in v1.5.0)
  87. /includes/templates/template_default/templates/tpl_order_status_default.php (Added in v2.0.0, 'stub' in zc158)
  88. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
  89. /includes/templates/YOUR_TEMPLATE/css/checkout_one_confirmation.css
  90. /includes/templates/YOUR_TEMPLATE/css/checkout_success.css (Added in v2.0.0)
  91. /includes/templates/YOUR_TEMPLATE/css/create_account.css (Added in v2.0.0)
  92. /includes/templates/YOUR_TEMPLATE/css/login.css (Added in v2.0.0)
  93. /YOUR_ADMIN/opc_admin.php (Added in v2.3.4)
  94. /YOUR_ADMIN/opc_debug_redirection_error.php (Added in v2.3.5)
  95. /YOUR_ADMIN/includes/auto_loaders/config.checkout_one.php
  96. /YOUR_ADMIN/includes/classes/observers/CheckoutOneAdminObserver.php (Added in v2.0.0)
  97. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  98. /YOUR_ADMIN/includes/init_includes/init_checkout_one_install.php (Added in v2.3.0)
  99. /YOUR_ADMIN/includes/init_includes/init_checkout_one_upgrade.php (Added in v2.3.0)
  100. /YOUR_ADMIN/includes/functions/extra_functions/zen_cfg_read_only.php (Added in v2.4.0)
  101. /YOUR_ADMIN/includes/languages/english/extra_definitions/checkout_one_name.php

You can view the details of these changes on the plugin's GitHub repository. Changes to the plugin's default templates are identified in this color; remember to merge those changes with any template-override version you might have created! Additions are identified by this color and removals are indicated like this.

  • v2.4.7, 2024-01-10 (lat9, drbyte):
    • BUGFIX: Correct PHP warning for registered-account creation (missing $fax).
    • BUGFIX: Correct 'missing' id= attribute on confirmation form button.
    • BUGFIX: Enable checkout_one page's submit-button timeout to be configurable.
    • BUGFIX: Ensure that temporary addresses' zone_id elements are an integer-type; the value was an empty string (non-integer) when the associated country doesn't have zones.
    • The following files were changed or added:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/modules/pages/create_account/header_php_create_account_register.php
      3. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      4. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      5. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
      6. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.4.6, 2023-08-19 (lat9 and marco-pm):
    • BUGFIX: Correct unwanted redirect when pricing includes an &nbsp;.
    • BUGFIX: Redirect page correctly on AJAX return.
    • BUGFIX: Reset guest session values on 'conversion' to PayPal Express Checkout.
    • BUGFIX: Cast parameters for 'zen_get_zone_code' to prevent PHP Fatal error.
    • BUGFIX: Remove all but essential, i.e. interface errors, PHP user-error-exits, replacing with customer messaging and warning logs.
    • BUGFIX: Correct PHP Warnings when ACCOUNT_STATE is set to 'false'.
    • BUGFIX: Correct "Invalid form control, element is not visible" (square_webPay integration).
    • BUGFIX: Correct browser's pre-fill causes activation of hidden payment/shipping elements.
    • BUGFIX: Correct misspelled curser to cursor in CSS files.
    • The following files were changed or added:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      3. /includes/classes/observers/class.checkout_one_observer.php
      4. /includes/languages/english/lang.checkout_one.php
      5. /includes/languages/english/lang.checkout_success_guest.php
      6. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js
      7. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js
      8. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      9. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      10. /includes/modules/pages/checkout_success/header_php_guest.php
      11. /includes/modules/pages/login/jscript_opc_reset_guest_for_ppec.php
      12. /includes/modules/pages/shopping_cart/jscript_opc_reset_guest_for_ppec.php
      13. /includes/templates/template_default/css/checkout_one.css
      14. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      15. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.4.5, 2022-12-27 (lat9, swguy, simon1066 and marco-pm):
    • BUGFIX: Correct missing language constant "ERROR_GUEST_CHECKOUT_PAGE_DISALLOWED".
    • BUGFIX: Script files are now HTML-5 validated.
    • BUGFIX: Correct PHP fatal error when viewing the 'order_status' page on zc157 installations.
    • BUGFIX: Save guest/register-customer's email address in session.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/functions/extra_functions/one_page_checkout_functions.php
      3. /includes/languages/english/extra_definitions/lang.checkout_one_extra_definitions.php
      4. /includes/modules/pages/create_account/header_php_create_account_register.php
      5. /includes/modules/pages/create_account/jscript_form_check_register.php
      6. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.4.4, 2022-11-30 (lat9, marco-pm):
    • BUGFIX: Indicate that no shipping-module is available if no quotes are returned.
    • BUGFIX: Correct PHP Warnings from 'zen_address_label' when temporary addresses are in use.
    • BUGFIX: Some countries' states/provinces aren't in alphabetical order after changing the country; thanks to marco-pm for the correction!
    • INTROP: Correct 'missing constants' issues for the 'order_status' page in zc158.
    • BUGFIX: Provide a notification just prior to recording the order, enabling customizations to disallow the order.
    • INTROP: Ensure that all class variables are defined, a requirement for PHP 8.2+.
    • BUGFIX: Include zc158 version of zen_cfg_read_only.php for use in zc157 installations.
    • BUGFIX: Correct PHP warnings on "order_status" page when posted variables are not present.
    • The following files were changed, added or removed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/CheckoutOneEmailObserver.php
      3. /includes/classes/observers/class.checkout_one_observer.php
      4. /includes/languages/english/order_status.php (If the file is present in your site's file-system, I suggest keeping it as it will do no harm.)
      5. /includes/languages/english/YOUR_TEMPLATE/order_status.php
      6. /includes/languages/english/YOUR_TEMPLATE/lang.order_status.php
      7. /includes/modules/pages/checkout_one/header_php.php
      8. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js
      9. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js
      10. /includes/modules/pages/checkout_one_confirmation/header_php.php
      11. /includes/modules/pages/order_status/header_php.php (This is a core-file overwrite in zc158)
      12. /includes/templates/template_default/templates/tpl_modules_opc_conditions.php
      13. /YOUR_ADMIN/includes/functions/extra_functions/zen_cfg_read_only.php
      14. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.4.3, 2022-07-23 (lat9):
    • BUGFIX: Correcting DOB display on some Android devices.
    • BUGFIX: Correctly save guest shipping address on initial guest-customer checkout when "shipping=billing" is false.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.4.2, 2022-07-14 (lat9):
    • BUGFIX: Guest shipping address 'overwritten' if billing address is changed.
    • BUGFIX: Disable Confirm and Review buttons if privacy-policy and/or conditions haven't been accepted.
    • BUGFIX: Correct PHP Warning issued during check for gift-certification restrictions on guest checkout.
    • BUGFIX: Enable HTML to be rendered for admin-entered order comments on the "order_status" page.
    • BUGFIX: Remove "ot_coupon" and "ot_gv" language constants no longer used in zc157+.
    • BUGFIX: Don't require 'conditions' or 'privacy' checkbox until order-confirmation (and no other errors).
    • BUGFIX: Correcting PHP warnings/errors when a GV/DC fully covers the cost of an order.
    • BUGFIX: Correcting duplicate-constant warnings, using the zc158 method of delivering language-related files.
    • BUGFIX: No longer distribute unneeded changes to /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php.
    • BUGFIX: Require state-selection from dropdown for guest-checkout when the store's country uses zones, e.g. "United States".
    • BUGFIX: Correct interaction with payment methods (like square_webPay) that dynamically add elements to their payment selections' inputs. Thanks to @proseLA for the correction!
    • BUGFIX: Correctly force checkout to the '3-page' process when PayPal Express Checkout is in effect.
    • BUGFIX: Correct session-timeout on order_status page when "Force Cookie Use" is set to 'True'.
    • The following files were changed/added:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/functions/extra_functions/one_page_checkout_functions.php
      4. /includes/languages/english/checkout_one.php
      5. /includes/languages/english/checkout_one_confirmation.php
      6. /includes/languages/english/checkout_process_guest.php
      7. /includes/languages/english/checkout_success_guest.php
      8. /includes/languages/english/create_account_register.php
      9. /includes/languages/english/create_account_success_register.php
      10. /includes/languages/english/lang.checkout_one.php
      11. /includes/languages/english/lang.checkout_one_confirmation.php
      12. /includes/languages/english/lang.checkout_process_guest.php
      13. /includes/languages/english/lang.checkout_success_guest.php
      14. /includes/languages/english/lang.create_account_register.php
      15. /includes/languages/english/lang.create_account_success_register.php
      16. /includes/languages/english/lang.login_guest.php
      17. /includes/languages/english/login_guest.php
      18. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php
      19. /includes/languages/english/extra_definitions/lang.checkout_one_extra_definitions.php
      20. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_coupon.php
      21. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/lang.ot_gv.php
      22. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_coupon.php
      23. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_gv.php
      24. /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php
      25. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      26. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      27. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js
      28. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js
      29. /includes/modules/pages/checkout_one_confirmation/header_php.php
      30. /includes/modules/pages/order_status/header_php.php
      31. /includes/templates/template_default/css/checkout_one.css
      32. /includes/template/template_default/tpl_checkout_one_confirmation_default.php
      33. /includes/template/template_default/tpl_order_status_default.php
      34. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      35. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      36. /YOUR_ADMIN/includes/init_includes/init_checkout_one_upgrade.php
  • v2.4.1, 2022-05-19 (lat9):
    • BUGFIX: Correct session-based message-stack messages lost during checkout_one_confirmation.
    • BUGFIX: Correct PHP Warning when there's an error in the selected shipping module.
    • BUGFIX: Apply ship-to address selected via shipping-estimator when shipping=billing is configured.
    • BUGFIX: Replacing use of var_export with print_r to prevent 'circular references' PHP warnings.
    • BUGFIX: Use 'zen_get_country_zones' to retrieve the country-specific zones.
    • BUGFIX: Correct use of deprecated jQuery.parseJSON and HTML validation errors in zone dropdowns' jQuery script.
    • BUGFIX: Correcting login-page display when PayPal block is not first.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/modules/pages/checkout_one/header_php.php
      4. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js
      5. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js
      6. /includes/modules/pages/checkout_one_confirmation/header_php.php
      7. /includes/modules/pages/login/header_php_login_guest.php
      8. /includes/templates/template_default/templates/tpl_login_guest.php
      9. /includes/templates/template_default/templates/tpl_modules_checkout_one_shipping.php
      10. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.4.0, 2022-05-02 (lat9, marco-pm):
    • BUGFIX: Provide overlay to 'hide' review/confirm buttons when address is changed via dropdown.
    • BUGFIX: Correct handling when "Enable Shipping=Billing" is set to false.
    • BUGFIX: Improve admin orders' listing performance for sites with large number of orders.
    • CHANGE: Drop support for Zen Cart versions prior to 1.5.7a. Includes some reformatting.
    • BUGFIX: Add breadcrumb to the order_status page.
    • BUGFIX: Correct PHP error when OPC initialization messages are required.
    • CHANGE: Include the "zone_code" in the data for the "NOTIFY_OPC_INIT_ADDRESS_FROM_DB" notification.
    • BUGFIX: Correct parameter count for "zen_prepare_country_zones_pull_down".
    • CHANGE: Enable integration with "square_webPay" payment method.
    • BUGFIX: Use zen_cfg_read_only as the plugin's version's configuration "set_function".
    • The following files were changed:
      1. /includes/auto_loaders/config.checkout_one.php
      2. /includes/classes/OnePageCheckout.php
      3. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      4. /includes/classes/observers/class.checkout_one_observer.php
      5. /includes/languages/english/checkout_one.php
      6. /includes/modules/pages/checkout_one/header_php.php
      7. /includes/modules/pages/checkout_one/jquery_checkout_one.js
      8. /includes/modules/pages/checkout_one/jquery_checkout_one_min.js
      9. /includes/modules/pages/checkout_one/jscript_main.php
      10. /includes/modules/pages/checkout_one_confirmation/header_php.php
      11. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
      12. /includes/modules/pages/order_status/header_php.php
      13. /includes/templates/template_default/tpl_modules_opc_address_block.php
      14. /YOUR_ADMIN/includes/auto_loaders/config.checkout_one.php
      15. /YOUR_ADMIN/includes/classes/observers/OnePageCheckoutAdminObserver.php
      16. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      17. /YOUR_ADMIN/includes/init_includes/init_checkout_one_upgrade.php
      18. /YOUR_ADMIN/includes/functions/extra_functions/zen_cfg_read_only.php
      19. /zc155f/*.*
      20. /zc156b/*.*
  • v2.3.12, 2022-04-03 (lat9):
    • BUGFIX: Correct PHP Notice for missing 'HTTP_USER_AGENT'.
    • BUGFIX: Correct 'missing' gender in customer's record when guest account is converted.
    • BUGFIX: Correct misleading "shipping options have changed" message.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/functions/extra_functions/one_page_checkout_functions.php
      3. /includes/languages/english/checkout_one.php
      4. /includes/modules/pages/checkout_one/header_php.php
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.11, 2022-02-13 (lat9):
    • BUGFIX: Correct PHP Fatal Error (introduced in v2.3.10) due to observer load-point.
    • The following files were changed:
      1. /includes/auto_loaders/config.checkout_one.php
      2. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.10, 2022-02-09 (lat9, siliconforks):
    • BUGFIX: Correct label attributes for billing/shipping "Add to Address Book" checkbox.
    • BUGFIX: OPC observer needs to be loaded earlier, so it properly responds to zen_in_guest_checkout.
    • BUGFIX: Update ot_coupon language override to include zc157-added definitions.
    • BUGFIX: Remove duplicate definition from ot_coupon language override.
    • The following files were changed:
      1. /includes/auto_loaders/config.checkout_one.php
      2. /includes/languages/english/modules/order_total/YOUR_TEMPLATE/ot_coupon.php
      3. /includes/templates/template_default/templates/tpl_modules_opc_billing_address.php
      4. /includes/templates/template_default/templates/tpl_modules_opc_shipping_address.php
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.9, 2021-07-10 (lat9):
    • BUGFIX: Correct CSS styling for "checkout_one" page's overlay.
    • BUGFIX: Correcting 'ambiguous' field in coupon-select for customer registration. The associated script was also updated to use zc157c as its basis.
    • BUGFIX: Apply specificity to the address rendering so that browser autofill's will fill in the proper fields.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/modules/pages/create_account/header_php_create_account_register.php
      3. /includes/templates/template_default/css/checkout_one.css
      4. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.8, 2021-04-17 (lat9):
    • BUGFIX: zc158 interoperation, correct PHP error during AJAX processing (missing $languageLoader).
    • INTROP: PHP 8.1 interoperability, modifying use of $GLOBALS constructs.
    • BUGFIX: Re-order the checkout_one page's language file, grouping all jQuery constants together as an aid in language translations.
    • BUGFIX: Correct "disappearing taxes" when a store's country has zones and the tax-basis is Store.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      3. /includes/classes/observers/OnePageCheckoutEmailObserver.php
      4. /includes/classes/observers/class.one_page_checkout_observer.php
      5. /includes/functions/extra_functions/one_page_checkout_functions.php
      6. /includes/languages/english/checkout_one.php
      7. /includes/modules/pages/checkout_success/header_php_guest.php
      8. /YOUR_ADMIN/includes/classes/observers/OnePageCheckoutAdminObserver.php
      9. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.7, 2021-01-17 (lat9/drbyte):
    • BUGFIX: Prevent blank-page on first load before admin installation is complete.
    • BUGFIX: Correct uninitialized-array PHP notice on information sidebox.
    • BUGFIX: Add 'required' attribute to orders_status page's form-fields.
    • BUGFIX: Don't display "Missing elements" alert if no shipping or payment modules are available.
    • BUGFIX: Don't display "Free shipping over" when it's free shipping over $0.00.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      3. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      4. /includes/modules/pages/checkout_one/jscript_main.php
      5. /includes/modules/sideboxes/YOUR_TEMPLATE/information.php
      6. /includes/templates/template_default/templates/tpl_modules_opc_shipping_choices.php
      7. /includes/templates/template_default/templates/tpl_order_status_default.php
      8. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.6, 2020-11-18:
    • BUGFIX: Correct guest-checkout can't be used when state dropdowns are enabled.
    • BUGFIX: Remove unused CSS files from the distribution.
    • BUGFIX: Correct CSS validation issues for the checkout_one page.
    • The following files were changed or removed:
      1. /includes/modules/pages/checkout_one/jquery_checkout_one.js
      2. /includes/modules/pages/checkout_one/jquery_checkout_one.min.js
      3. /includes/templates/template_default/css/checkout_one.css
      4. /includes/templates/template_default/css/create_account.css
      5. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      6. /includes/templates/YOUR_TEMPLATE/css/create_account.css
      7. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.5, 2020-11-13:
    • BUGFIX: Correct processing for order-totals (e.g. Reward Points) that can result in a negative order-balance.
    • CHANGE: Add a diagnostic tool to retrieve the session-differences when a checkout-loop occurs. See this on-line documentation for additional information.
    • BUGFIX: Correct paypalwpp Error 10730 during guest-checkout. For versions of Zen Cart prior to 1.5.7a, there is a required edit to that payment module. Refer to these additional instructions.
    • BUGFIX: Disable Confirm Order button on form submittal.
    • BUGFIX: Show placeholder in non-dropdown "State" field in address blocks.
    • BUGFIX: Migrate HTML from OPC's base class to the common address-block-formatting template.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/modules/pages/checkout_one/jquery_checkout_one.js
      4. /includes/modules/pages/checkout_one/jquery_checkout_one.min.js
      5. /includes/templates/template_default/templates/tpl_modules_opc_address_block.php
      6. /YOUR_ADMIN/opc_debug_redirection_error.php
      7. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.4, 2020-08-28:
    • BUGFIX: Enable address-editing buttons on input-focus instead of change.
    • BUGFIX: Ensure that guest billing/shipping addresses haven't been overwritten. See this on-line documentation for additional information.
    • The following files were changed:
      1. /includes/modules/pages/checkout_one/jquery_checkout_one.js
      2. /includes/modules/pages/checkout_one/jquery_checkout_one.min.js
      3. /YOUR_ADMIN/opc_admin.php
      4. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one_upgrade.php
  • v2.3.3, 2020-07-07:
    • BUGFIX: Ensure that the "Add to Address Book" checkbox is visible when required, in the shipping-address block.
    • BUGFIX: Account-holders, a change in "Salutation" was not being recorded in the database, when requested. See this on-line documentation for additional information.
    • CHANGE: zc157 interoperation; the name of the login-form on the login page was changed, resulting in javascript errors.
    • BUGFIX: Correct state drop-down error when zone-names include single-quotes. Thanks to @chenly for the correction!
    • CHANGE: Add address-handling notifications to enable site-specific customizations.
    • BUGFIX: Correct occasional slew of PHP notices and warnings when the session-based class isn't present.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/modules/pages/address_book/header_php_address_book_register.php
      4. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      5. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      6. /includes/modules/pages/checkout_one/jscript_main.php
      7. /includes/modules/pages/create_account/header_php_create_account_register.php
      8. /includes/modules/pages/create_account/main_template_vars.php
      9. /includes/modules/pages/create_account_success/header_php_create_account_success_register.php
      10. /includes/modules/pages/login/header_php_login_guest.php
      11. /includes/modules/pages/login/main_template_vars.php
      12. /includes/templates/template_default/templates/tpl_login_guest.php
      13. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.2, 2020-05-25:
    • BUGFIX: Don't check for #otshipping until address-related information is supplied (zc157 interoperability).
    • BUGFIX: Ensure that changes to an address' company are properly recorded.
    • BUGFIX: Correct potential PHP warning when store changes the "Gender" customer setting.
    • BUGFIX: Ensure that the "Add to Address Book" checkbox is visible when required.
    • BUGFIX: Guest order-status update emails, point to the order_status page.
    • BUGFIX: Correct address-entry, always use the state dropdown if the address' country has zones.
    • The following files were changed:
      1. /includes/auto_loaders/config.checkout_one.php
      2. /includes/classes/OnePageCheckout.php
      3. /includes/classes/observers/CheckoutOneEmailObserver.php
      4. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      5. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      6. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js
      7. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js
      8. /includes/modules/pages/checkout_one/jscript_main.php
      9. /includes/templates/template_default/templates/tpl_modules_opc_billing_address.php
      10. /includes/templates/template_default/templates/tpl_modules_opc_shipping_address.php
      11. /YOUR_ADMIN/includes/auto_loaders/config.checkout_one.php
      12. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.3.1, 2020-04-26:
    • CHANGE: Notifications added for store-specific session handling.
    • BUGFIX: Correct address display when state dropdowns aren't being used.
    • BUGFIX: Ensure that the session's "order_placed_by_guest" element is cleared post checkout.
    • CHANGE: Enable site-specific customizations to add parameters to an address-related field.
    • BUGFIX: Conditionally load the "Vinos_Browser" class and update that class to v1.9.4 (Dec-2019).
    • BUGFIX: Remove password_forgotten from the list of pages disallowed during guest-checkout.
    • CHANGE: Additional session-values to ignore for the Ceon Sage Pay Direct payment-method.
    • BUGFIX: Correct layout within address-entry blocks for the customer's salutation.
    • BUGFIX: Disallow one-page checkout processing on robot accesses.
    • BUGFIX: Correct guest-customers' order-confirmation email address formatting.
    • BUGFIX: Make it clear that a guest-checkout can continue on the "login" page.
    • The following files were changed:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/Vinos_Browser.php
      3. /includes/classes/observers/class.checkout_one_observer.php
      4. /includes/languages/english/login_guest.php
      5. /includes/templates/template_default/templates/tpl_login_guest.php
      6. /includes/templates/template_default/templates/tpl_modules_opc_address_block.php
      7. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      8. /YOUR_ADMIN/includes/init_incldues/init_checkout_one_upgrade.php
  • v2.3.0, 2020-02-18:
    • CHANGE: Split admin initial-install and upgrade scripts, reducing usual memory 'footprint'.
    • CHANGE: Move template-specific 'location' of order's current total to a configuration setting.
    • CHANGE: Gather all 'address_book' fields for pre-existing customers.
    • BUGFIX: Correct 'coupon applied' message repeated.
    • BUGFIX: Use as-passed address information when validating an address.
    • CHANGE: Add a notification, enabling an observer to provide additional address-validation checks.
    • CHANGE: Remove no longer used method OnePageCheckout::validatePostedAddress.
    • CHANGE: Display 'compressed' addresses with an associated Edit button to conserve on-screen real-estate.
    • CHANGE: Dynamically update billing-address title, based on "billing=shipping" selection.
    • CHANGE: Use "standard" responsive_classic formatting for registered-account creation.
    • BUGFIX: Correct checkout processing for registered-account customers who have not yet supplied their default address.
    • BUGFIX: Correct address-display by the "Shipping Estimator" for guest-checkout and registered account-holders.
    • The following files were changed or added:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/languages/english/checkout_one.php
      4. /includes/languages/english/create_account_register.php
      5. /includes/modules/pages/checkout_one/jquery_checkout_one.js
      6. /includes/modules/pages/checkout_one/jquery_checkout_one.min.js
      7. /includes/modules/pages/checkout_one/jscript_main.php
      8. /includes/modules/pages/checkout_one_confirmation/header_php.php
      9. /includes/modules/pages/create_account/header_php_create_account_register.php
      10. /includes/templates/template_default/css/checkout_one.css
      11. /includes/templates/template_default/templates/tpl_create_account_register.php
      12. /includes/templates/template_default/templates/tpl_modules_opc_address_block.php
      13. /includes/templates/template_default/templates/tpl_modules_opc_billing_address.php
      14. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      15. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      16. /YOUR_ADMIN/includes/init_includes/init_checkout_one_install.php
      17. /YOUR_ADMIN/includes/init_includes/init_checkout_one_upgrade.php
  • v2.2.2, 2020-01-15:
    • BUGFIX: Enable interoperation with Ship2Pay payment method.
    • BUGFIX: Use (bool)false to identify no HTML in address labels.
    • BUGFIX: PayPal Express Checkout, address override not recording address' format_id.
    • BUGFIX: Enable interoperation with Ceon Sage Pay Direct payment method.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/modules/pages/checkout_one_confirmation/header_php.php
      4. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.2.1, 2019-11-10:
    • BUGFIX: Restore line-breaks in multi-line order comments.
    • CHANGE: Add notification to allow 'external' processing to disallow guest-checkout.
    • BUGFIX: Zen Cart version-specfic changes needed for the "shipping_estimator"; see this GitHub issue for details.
    • BUGFIX: Changes to paypalwpp.php in the (now corrected) online upgrade instructions caused PHP fatal errors.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/modules/pages/checkout_one_confirmation/header_php.php
      3. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.2.0, 2019-10-13:
    • BUGFIX: Correct PHP notices for no-longer-enabled payment methods.
    • CHANGE: Remove 'myDEBUG-' prefix on OPC debug filenames.
    • CHANGE: Guest checkout: Combine customer-info and billing-address steps.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/modules/pages/checkout_one/header_php.php
      3. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      4. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.1.5, 2019-10-01:
    • BUGFIX: Correct tax-locations returned when using temporary addresses and billing equals shipping.
    • CHANGE: Use common constant, if defined, as an option separator for products in the current cart.
    • BUGFIX: Use 'zen_is_logged_in' when checking to see if a customer is logged in.
    • BUGFIX: Correct interoperation with the 'gps' payment method (and possibly more).
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observer/class.checkout_one_observer.php
      3. /includes/modules/pages/checkout_one_confirmation/header_php.php
      4. /includes/templates/template_default/templates/tpl_modules_opc_shopping_cart.php
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.1.4, 2019-09-15:
    • BUGFIX: Guest accessed to the checkout's shipping-/payment-address pages should go back to the main OPC page.
    • CHANGE: Future-proofing for the inclusion of "Multi-lingual Country Names" in zc157.
    • CHANGE: On entry to the main OPC page, display messages from the 'checkout' group, too.
    • BUGFIX: Correct interaction with paypalwpp, when the delivery address returned by PayPal is different from that entered in the store.
    • BUGFIX: Correct tax-calculations for order totals that use zen_get_tax_locations.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php
      4. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      6. /zc156b/includes/functions/functions_taxes.php (Added)
        • Note: Stores running a version of Zen Cart prior to v1.5.6 should copy this file to their store's /includes/functions sub-directory.
  • v2.1.3, 2019-08-04:
    • BUGFIX: order_status page-link missing from information sidebox.
    • BUGFIX: Updates to properly handle the case where javascript is disabled.
    • BUGFIX: Additional guest-account address-book entries improperly recorded.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/functions/extra_functions/one_page_checkout_functions.php
      4. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php
      5. /includes/modules/sideboxes/YOUR_TEMPLATE/information.php (Added)
      6. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.1.2, 2019-07-02:
    • BUGFIX: Correct the root-cause of the "virtual" issue, previously changed for v2.1.1.
    • BUGFIX: PHP Notice thrown on initial guest account-creation form on the checkout_success page.
    • BUGFIX: Correct interaction with payment methods, e.g. paypaldp, that "collect credit-card info on-site".
    • The following files were affected:
      1. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      2. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      3. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      4. /includes/modules/pages/checkout_one_confirmation/header_php.php
      5. /includes/modules/pages/checkout_success/header_php_guest.php
      6. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.1.1, 2019-06-05:
    • BUGFIX: PHP Notice "thrown" when the site doesn't use CSS buttons.
    • BUGFIX: Checkout fails if all products are "virtual".
    • BUGFIX: Add email-format choice to guest account-creation on the checkout_success page.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/modules/pages/checkout_one_confirmation/header_php.php
      3. /includes/modules/pages/checkout_success/header_php_guest.php
      4. /includes/templates/template_default/templates/tpl_checkout_success_guest.php
      5. /includes/templates/template_default/templates/tpl_modules_opc_credit_selections.php
      6. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.1.0, 2019-04-07:
    • BUGFIX: Return the expected value from OnePageCheckout::startGuestOnePageCheckout.
    • BUGFIX: Correct conditional in the checkout_one page's header processing, causing PHP warnings.
    • CHANGE: zc156 interoperability, empty array from ot_gv causes PHP warning to be logged.
    • BUGFIX: Remove redundant, multiply-defined language constants.
    • BUGFIX: Correct guest-checkout validation.
    • BUGFIX: Customers' temporary addresses not registered if neither guest-checkout nor registered-accounts are enabled.
    • BUGFIX: Don't display address-selection drop-down unless the customer has more than 1 defined.
    • CHANGE: Restructure distribution, for zc156b interoperability.
    • BUGFIX: Correct undefined variable on guest "checkout_success" page.
    • CHANGE: Don't display shipping/payment blocks until associated address is valid.
    • BUGFIX: Correct undefined variables in debug-output on "checkout_one_confirmation" page when order is virtual.
    • BUGFIX: Guest-checkout, billing = shipping doesn't "keep up".
    • BUGFIX: Correct PHP Notice logged when shipping method is untaxed.
    • CHANGE: Disallow guest-checkout when the customer's cart contains Gift Certificates.
    • CHANGE: Add date (yyyy-mm-dd) suffix to any OPC debug-logs.
    • BUGFIX: Disallow One-Page Checkout during the "PayPal Express Checkout"'s shortcut-button processing.
    • BUGFIX: Correct "PHP Notice" issues.
    • BUGFIX: Correct bof/eof HTML comments in the guest-customer's information template.
    • BUGFIX: Correct integration with PayPal Express Checkout.
    • CHANGE: Remove pre-fill of temporary address' state and zipcode, introduced in v2.0.5.
    • BUGFIX: Various corrections to the handling of temporary addresses.
    • BUGFIX: Check for session time-out when handling each AJAX response.
    • BUGFIX: Detect the condition where OPC is disabled in the middle of a customer's checkout.
    • BUGFIX: Include PHP exit() after triggering user errors.
    • CHANGE: Order the drop-down addresses' list to be less haphazard.
    • The following files were affected:
      1. /includes/auto_loaders/paypal_ipn.checkout_one.php (Added)
      2. /includes/classes/OnePageCheckout.php
      3. /includes/classes/OnePageCheckoutNoPayment.php (Added)
      4. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      5. /includes/classes/observers/class.checkout_one_observer.php
      6. /includes/languages/english/checkout_one.php
      7. /includes/languages/english/checkout_one_confirmation.php
      8. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php
      9. /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php
      10. /includes/modules/pages/checkout_one/header_php.php
      11. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      12. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      13. /includes/modules/pages/checkout_one/jscript_main.php
      14. /includes/modules/pages/checkout_one_confirmation/header_php.php
      15. /includes/modules/pages/order_status/header_php.php
      16. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      17. /includes/templates/template_default/templates/tpl_checkout_success_guest.php
      18. /includes/templates/template_default/templates/tpl_modules_checkout_one_shipping.php
      19. /includes/templates/template_default/templates/tpl_modules_opc_address_block.php
      20. /includes/templates/template_default/templates/tpl_modules_opc_credit_selections.php
      21. /includes/templates/template_default/templates/tpl_modules_opc_customer_info.php
      22. /includes/templates/template_default/templates/tpl_modules_opc_payment_choices.php
      23. /includes/templates/template_default/templates/tpl_modules_opc_shipping_choices.php
      24. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.0.5, 2018-12-23:
    • BUGFIX: Update totals' block on payment method change; corrects ot_cod_fee handling.
    • BUGFIX: Pick up more recent download class from the Zen Cart zc156 repository.
    • BUGFIX: Customer's gender not being saved when address is changed.
    • BUGFIX: Initialize guest/registered-accounts' zip-code to bypass shipping-method errors.
    • BUGFIX: Taxed order-totals 'lose' their tax on a payment-method update.
    • BUGFIX: 'Square' payment-inputs disappear if the shipping-method is updated.
    • BUGFIX: Correct various "PHP Notice" issues.
    • CHANGE: Partial zc156 integration; downward-compatible changes only.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      3. /includes/classes/observers/auto.downloads_via_aws.php
      4. /includes/classes/observers/auto.downloads_via_redirect.php
      5. /includes/classes/observers/auto.downloads_via_streaming.php
      6. /includes/classes/observers/auto.downloads_via_url.php
      7. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      8. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      9. /includes/modules/pages/download/header_php.php
      10. /includes/modules/pages/login/header_php.php
      11. /includes/templates/template_default/templates/tpl_modules_downloads.php (Added)
      12. /includes/templates/template_default/templates/tpl_modules_opc_payment_choices.php
      13. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.0.4, 2018-07-15:
    • BUGFIX: "Suburb" (aka "Address Line 2") and/or "Company" not saved when an address is updated.
    • BUGFIX: Maximum address-book entries not honoured.
    • BUGFIX: Downloaded products result in a 0-byte download file.
    • BUGFIX: Guest-customer downloads not honoured automatically on the "checkout_success" page.
    • BUGFIX: Correct interaction with payment methods that "collectCreditCardDataOnSite".
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/observers/auto.downloads_via_aws.php (Added)
      3. /includes/classes/observers/auto.downloads_via_redirect.php (Added)
      4. /includes/classes/observers/auto.downloads_via_streaming.php (Added)
      5. /includes/classes/observers/auto.downloads_via_url.php (Added)
      6. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      7. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      8. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.0.3, 2018-06-21:
    • BUGFIX: "Temporary" address shown in confirmation emails for guest-checkout.
    • The following files were affected:
      1. /includes/classes/observers/class.checkout_one_observer.php
      2. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.0.2, 2018-06-20:
    • BUGFIX: Invalid "Some information incorrect" message displayed during guest checkout
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.0.1, 2018-06-08:
    • BUGFIX: T's and C's checkbox not rendered for "ZCA Bootstrap Template".
    • BUGFIX: Debug-log generated when no shipping methods are available.
    • BUGFIX: Recognize that some payment methods are dependent on the shipping-module selected.
    • BUGFIX: Out-of-stock products not notated in the shopping-cart display.
    • BUGFIX: Correct PHP Notice issued during payment-choices settings.
    • BUGFIX: Full-account shipping-address dropdown selection not rendered.
    • CHANGE: Show "wait" cursor during AJAX processing.
    • BUGFIX: Non-guest temporary addresses not included in order-confirmation email.
    • BUGFIX: Session variables not reset after successful non-guest checkout.
    • BUGFIX: jQuery updates not loaded if cached in the browser.
    • BUGFIX: Formatting variables not maintained during AJAX handling.
    • BUGFIX: Correct handling for the billing- and shipping-address changes.
    • BUGFIX: Correct alignment issue on OPC's replacement login page.
    • BUGFIX: Privacy-statement not displayed during guest checkout, when enabled.
    • BUGFIX: Ensure that temporary form entries have been validated.
    • The following files were affected:
      1. /includes/classes/OnePageCheckout.php
      2. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      3. /includes/classes/observers/class.checkout_one_observer.php
      4. /includes/languages/english/checkout_one_confirmation.php
      5. /includes/modules/pages/checkout_one/header_php.php
      6. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      7. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      8. /includes/modules/pages/checkout_one/jscript_main.php
      9. /includes/modules/pages/checkout_one_confirmation/header_php.php
      10. /includes/templates/template_default/css/login.css
      11. /includes/templates/template_default/templates/tpl_modules_opc_conditions.php
      12. /includes/templates/template_default/templates/tpl_modules_opc_payment_choices.php
      13. /includes/templates/template_default/templates/tpl_modules_opc_shipping_address.php
      14. /includes/templates/template_default/templates/tpl_modules_opc_shipping_choices.php
      15. /includes/templates/YOUR_TEMPLATE/css/login.css
      16. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v2.0.0, 2018-04-27:
    • CHANGE: Add processing to enable guest-checkout and registered-accounts features.
    • CHANGE: Enable interoperation with the ZCA Bootstrap Template.
    • BUGFIX: "Align" STOCK_CHECK clause in shipping checks with checkout_shipping current handling.
    • BUGFIX: Redirects to the time_out pages via SSL protocol.
    • BUGFIX: Correct integration with Product Delivery by Postcode.
    • BUGFIX: Correct integration with the PayPal Express Checkout shortcut button.
    • The following files were affected:
      1. /includes/auto_loaders/config.checkout_one.php
      2. /includes/classes/OnePageCheckout.php
      3. /includes/classes/order.php (Added, one notifier)
      4. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      5. /includes/classes/observers/class.checkout_one_observer.php
      6. /includes/extra_datafiles/checkout_one_filenames.php
      7. /includes/functions/extra_functions/one_page_checkout_functions.php
      8. /includes/languages/english/address_book_register.php
      9. /includes/languages/english/checkout_one.php
      10. /includes/languages/english/checkout_process_guest.php
      11. /includes/languages/english/checkout_success_guest.php
      12. /includes/languages/english/create_account_register.php
      13. /includes/languages/english/create_account_success_register.php
      14. /includes/languages/english/login_guest.php
      15. /includes/languages/english/order_status.php
      16. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php
      17. /includes/languages/english/html_includes/define_checkout_success_guest.php
      18. /includes/languages/english/html_includes/YOUR_TEMPLATE/define_checkout_success_guest.php
      19. /includes/modules/order_total/ot_coupon.php (Added, one notifier)
      20. /includes/modules/pages/address_book/header_php_address_book_register.php
      21. /includes/modules/pages/address_book/main_template_vars.php
      22. /includes/modules/pages/checkout_one/header_php.php
      23. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      24. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      25. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.js
      26. /includes/modules/pages/checkout_one/jquery.checkout_one_addr.min.js
      27. /includes/modules/pages/checkout_one/jscript_main.php
      28. /includes/modules/pages/checkout_one_confirmation/header_php.php
      29. /includes/modules/pages/address_book/main_template_vars.php
      30. /includes/modules/pages/checkout_success/header_php_guest.php
      31. /includes/modules/pages/checkout_success/main_template_vars.php
      32. /includes/modules/pages/create_account/header_php_create_account_register.php
      33. /includes/modules/pages/create_account/jscript_form_check_register.php
      34. /includes/modules/pages/create_account/main_template_vars.php
      35. /includes/modules/pages/create_account_success/header_php_create_account_success_register.php
      36. /includes/modules/pages/create_account_success/main_template_vars.php
      37. /includes/modules/pages/download/header_php.php (Added, zc156 version with timeout pages in SSL)
      38. /includes/modules/pages/login/header_php.php (Added, one notifier)
      39. /includes/modules/pages/login/header_php_guest.php
      40. /includes/modules/pages/login/main_template_vars.php
      41. /includes/modules/pages/order_status/header_php.php
      42. /includes/modules/YOUR_TEMPLATE/downloads.php (Added, using the zc156 version)
      43. /includes/templates/template_default/css/checkout_one.css
      44. /includes/templates/template_default/css/checkout_success.css
      45. /includes/templates/template_default/css/create_account.css
      46. /includes/templates/template_default/css/login.css
      47. /includes/templates/template_default/tpl_address_book_register.php
      48. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      49. /includes/templates/template_default/tpl_checkout_success_guest.php
      50. /includes/templates/template_default/tpl_create_account_register.php
      51. /includes/templates/template_default/tpl_create_account_success_register.php
      52. /includes/templates/template_default/templates/tpl_login_guest.php
      53. /includes/templates/template_default/templates/tpl_modules_opc_address_block.php
      54. /includes/templates/template_default/templates/tpl_modules_opc_billing_address.php
      55. /includes/templates/template_default/tpl_modules_opc_credit_selections.php
      56. /includes/templates/template_default/tpl_modules_opc_customer_info.php
      57. /includes/templates/template_default/templates/tpl_modules_opc_payment_choices.php
      58. /includes/templates/template_default/templates/tpl_modules_opc_shipping_address.php
      59. /includes/templates/template_default/templates/tpl_modules_opc_shopping_cart.php
      60. /includes/templates/template_default/templates/tpl_modules_opc_submit_block.php
      61. /includes/templates/template_default/templates/tpl_order_status_default.php
      62. /includes/templates/YOUR_RC_CLONE/common/tpl_header.php (Added)
      63. /includes/templates/YOUR_TEMPLATE/common/tpl_header.php (Added)
      64. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      65. /includes/templates/YOUR_TEMPLATE/css/checkout_success.css (Added)
      66. /includes/templates/YOUR_TEMPLATE/css/create_account.css (Added)
      67. /includes/templates/YOUR_TEMPLATE/css/login.css (Added)
      68. /includes/templates/YOUR_TEMPLATE/templates/tpl_modules_download.php (Added, using the zc156 version)
      69. /YOUR_ADMIN/includes/auto_loaders/config.checkout_one.php
      70. /YOUR_ADMIN/includes/classes/observers/OnePageCheckoutAdminObserver.php
      71. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      72. /YOUR_ADMIN/includes/languages/english/extra_definitions/checkout_one_name.php
  • v1.5.0, 2018-01-10:
    • CHANGE: Defer installation until an admin is logged in.
    • CHANGE: Split major template-blocks on the checkout_one page into separate files.
    • CHANGE: Update the checkout_one page's jQuery to allow the major processing to be a separate file.
    • The following files were affected:
      1. /includes/modules/pages/checkout_one/jquery.checkout_one.js
      2. /includes/modules/pages/checkout_one/jquery.checkout_one.min.js
      3. /includes/pages/checkout_one/jscript_main.php
      4. /includes/pages/checkout_one/on_load_main.js (No longer used; empty file)
      5. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      6. /includes/templates/template_default/templates/tpl_modules_opc_billing_address.php
      7. /includes/templates/template_default/templates/tpl_modules_opc_comments.php
      8. /includes/templates/template_default/templates/tpl_modules_opc_conditions.php
      9. /includes/templates/template_default/templates/tpl_modules_opc_credit_selections.php
      10. /includes/templates/template_default/templates/tpl_modules_opc_instructions.php
      11. /includes/templates/template_default/templates/tpl_modules_opc_payment_choices.php
      12. /includes/templates/template_default/templates/tpl_modules_opc_shipping_address.php
      13. /includes/templates/template_default/templates/tpl_modules_opc_shipping_choices.php
      14. /includes/templates/template_default/templates/tpl_modules_opc_shopping_cart.php
      15. /includes/templates/template_default/templates/tpl_modules_opc_submit_block.php
      16. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      17. /YOUR_ADMIN/includes/languages/english/extra_definitions/checkout_one_name.php
  • v1.4.2, 2017-12-11:
    • BUGFIX: Correct interaction of PayPal Express Checkout's shortcut button. See this readme's Overview / Payment Method Interoperation tab for additional information.
    • The following files were affected:
      1. /includes/modules/pages/checkout_one/header_php.php
      2. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.4.1, 2017-10-08:
    • BUGFIX: Correct display of confirmation page when a payment method "collects credit-card data onsite" and is configured to display its confirmation page.
    • BUGFIX: Errors from "collects credit-card data onsite" payment methods not displayed.
    • CHANGE: Updated the Troubleshooting section in this readme, to identify where to find what "required elements" are missing.
    • The following files were affected:
      1. /includes/modules/pages/checkout_one/jscript_main.php
      2. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
      3. /includes/templates/template_default/jscript/jscript_framework.php (Removed from this distribution only.)
      4. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.4.0, 2017-08-12:
    • BUGFIX: Correct HTML validation error when the "Terms and Conditions" block is present.
    • CHANGE: Enable payment methods that "collect credit-card data on-site" to be one-page, too!
    • BUGFIX: Correct HTML validation error when CSS buttons are configured for the store.
    • CHANGE: Check for multiple versions of jQuery and direct the customer to the "alternate" checkout if found.
    • CHANGE: Modify the "confirmation email will be sent to" language text, removing any reference to order-submittal to reduce potential customer confusion.
    • The following files were affected:
      1. /includes/languages/english/checkout_one.php
      2. /includes/modules/pages/checkout_one/header_php.php
      3. /includes/modules/pages/checkout_one/jscript_main.php
      4. /includes/templates/template_default/css/checkout_one.css
      5. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      6. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      7. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.3.0, 2017-07-12:
    • CHANGE: Standardize processing flow through "checkout_one" page.
    • CHANGE: Add HTML comments around "significant" sections in the OPC main template.
    • CHANGE: Add configuration control to enable/disable the Shipping Address, same as Billing support.
    • CHANGE: Document the interoperability of the ozPost shipping module and the Payeezy payment module.
    • CHANGE: Move payment-modules requiring confirmation to a configurable setting.
    • CHANGE: Recognize payment methods that require confirmation, adjust the submit-button accordingly.
    • CHANGE: Modify distribution-method of core-file changes; most of those changes were "up-leveling" the current Zen Cart distribution version.
    • CHANGE: Provide an alternate link to the "normal" multi-page checkout if a jQuery error is detected on the OPC initial page.
    • The following files were affected:
      1. /includes/classes/observers/class.checkout_one_observer.php
      2. /includes/languages/english/checkout_one.php
      3. /includes/modules/pages/checkout_one/jscript_main.php
      4. /includes/modules/pages/checkout_one/header_php.php
      5. /includes/templates/template_default/css/checkout_one.css
      6. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      7. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      8. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.2.0, 2017-04-23:
    • BUGFIX: Correct "Shipping, same as Billing" processing.
    • CHANGE: Add Edit button to shopping-cart block on checkout pages.
    • BUGFIX: Correct checkout-loop after a 100%-off coupon is applied to an order.
    • CHANGE: Document that the YourSite template and ot_prowebsoptions order-total are incompatible.
    • CHANGE: Document that the NoChex and Authorize.net/SIM payment methods are compatible.
    • BUGFIX: Unwanted "Your order has changed" message received after applying a credit-class order-total to the order.
    • BUGFIX: Correct conditionally-enabling the plugin causes checkout-loop.
    • The following files were affected:
      1. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/modules/pages/checkout_one/header_php.php
      4. /includes/modules/pages/checkout_one/jscript_main.php
      5. /includes/modules/pages/checkout_one_confirmation/header_php.php
      6. /includes/templates/template_default/css/checkout_one.css
      7. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      8. /includes/templates/YOUR_TEMPLATE/css/checkout_one.css
      9. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.1.0, 2017-01-22:
    • BUGFIX: Shipping cost not updated if shopping-cart change results in a cost-change to the selected shipping-module.
    • BUGFIX: Checkout loop if order's currency's symbol uses an "htmlentity", e.g. &pound;.
    • BUGFIX: Order-totals duplicated on confirmation page.
    • CHANGE: Add configuration setting to "conditionally" enable the plugin for a list of customer_id values.
    • CHANGE: Add the Gateway Processing Services Module (3-step redirect) payment module to the "confirmation-page required" list.
    • The following files were affected:
      1. /includes/classes/observers/class.checkout_one_observer.php
      2. /includes/modules/pages/checkout_one/header_php.php
      3. /includes/modules/pages/checkout_one_confirmation/header_php.php
      4. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.11, 2016-12-29:
    • CHANGE: Position cursor on top-of-page when displaying the "collectsCardDataOnsite" confirmation.
    • CHANGE: Correct interoperation with Ceon Manual Card payment method.
    • BUGFIX: Correct checkout "loop" when Free Shipping for Orders Over is enabled in the shipping order-total.
    • BUGFIX: Correct checkout "loop" when a shipping module's cost is taxed.
    • The following files were affected:
      1. /includes/classes/observers/class.checkout_one_observer.php
      2. /includes/modules/pages/checkout_one/header_php.php
      3. /includes/modules/pages/checkout_one/jscript_main.php
      4. /includes/modules/pages/checkout_one_confirmation/header_php.php
      5. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      6. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.10, 2016-12-07:
    • BUGFIX: Correct interaction with Zen Cart 1.5.4 version of ot_gv.
    • BUGFIX: Re-instate check for a change in the order's total during confirmation.
    • BUGFIX: Cheapest shipping not selected if only one shipping-method is available.
    • The following files were affected:
      1. /includes/classes/observers/class.checkout_one_observer.php
      2. /includes/modules/pages/checkout_one/header_php.php
      3. /includes/modules/pages/checkout_one_confirmation/header_php.php
      4. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.9, 2016-11-23:
    • BUGFIX: No payment modules displayed on the checkout_one page.
    • BUGFIX: No confirmation button for virtual-orders or orders with free shipping
    • BUGFIX: Missing $order_totals variable, required by some payment methods (e.g. firstdata_hco).
    • The following files were affected:
      1. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      2. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
      3. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.8, 2016-11-19:
    • BUGFIX: Correct interoperation with plugins that make use of other, e.g. MooTools javascript libraries.
    • BUGFIX: Conditionally render sections of the page, depending on the availability of a shipping-method and/or payment-method.
    • BUGFIX: Correct the change needed for the Stripe payment method.
    • BUGFIX: Can't checkout if order qualifies for "free shipping" by the shipping order-total.
    • The following files were affected:
      1. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      2. /includes/languages/english/extra_definitions/checkout_one_extra_definitions.php
      3. /includes/classes/observers/class.checkout_one_observer.php
      4. /includes/modules/pages/checkout_one/header_php.php
      5. /includes/modules/pages/checkout_one/jscript_main.php
      6. /includes/modules/pages/checkout_one_confirmation/header_php.php
      7. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
      8. /includes/templates/template_default/jscript/jscript_framework.php
      9. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      10. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
      11. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.7, 2016-10-19:
    • BUGFIX: Can't checkout due to session-information change.
    • CHANGE: Use updated /ajax.php from the Zen Cart repository's 155 branch ... again.
    • The following files were affected:
      1. /ajax.php
      2. /includes/classes/observers/class.checkout_one_observer.php
      3. /includes/modules/pages/checkout_one_confirmation/header_php.php
      4. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.6, 2016-10-18:
    • CHANGE: Add support for the Stripe payment method; it requires the confirmation-page's display.
    • BUGFIX: Ensure that the order's total has been properly reviewed by the customer.
    • BUGFIX: Don't require shipping order-total selector if the order contains only virtual products.
    • BUGFIX: Correct product stock-check handling.
    • BUGFIX: Shipping, same as Billing not being honored after shipping address change.
    • CHANGE: Use updated /ajax.php from the Zen Cart repository's 155 branch.
    • The following files were affected:
      1. /ajax.php
      2. /includes/modules/pages/checkout_one/header_php.php
      3. /includes/modules/pages/checkout_one/jscript_main.php
      4. /includes/modules/pages/checkout_one_confirmation/header_php.php
      5. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.5, 2016-09-24:
    • CHANGE: Update jQuery to check for (and alert if missing) required selectors.
    • CHANGE: Replace occurrences of [code] to allow log files to be properly posted on the Zen Cart forums.
    • BUGFIX: Hide the "bannerOne" block on the confirmation page.
    • BUGFIX: Hide the "Confirm Order" button on the confirmation page.
    • The following files were affected:
      1. /includes/classes/observers/class.checkout_one_observer.php
      2. /includes/modules/pages/checkout_one/jscript_main.php
      3. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
      4. /includes/templates/template_default/css/checkout_one_confirmation.css
      5. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
      6. /includes/templates/YOUR_TEMPLATE/css/checkout_one_confirmation.css
      7. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.4, 2016-09-11:
    • BUGFIX: Make sure that the #bannerSix block is also hidden on the plugin's confirmation page.
    • CHANGE: Add language constant for the confirmation page, allowing store-owners to have additional customization opportunities.
    • BUGFIX: Sanitize debug-output for non-standard credit-card numbers and CVV information.
    • BUGFIX: Don't allow one-page checkout on unsupported browsers (currently limited to IE versions less than 9.0).
    • BUGFIX: Correct spelling of ROBOTS_PAGES_TO_SKIP in the readme's installation instructions.
    • BUGFIX: Correct processing for orders that qualify for the "free_free" shipping method, e.g. virtual products only and free shipping as configured by the shipping order-total module.
    • BUGFIX: Correct readme references to /includes/languages/english/order_total to /includes/languages/english/modules/order_total.
    • The following files were affected:
      1. /includes/classes/Vinos_Browser.php (Added)
      2. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      3. /includes/classes/observers/class.checkout_one_observer.php
      4. /includes/languages/english/checkout_one.php
      5. /includes/languages/english/checkout_one_confirmation.php
      6. /includes/modules/pages/checkout_one/jscript_main.php
      7. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
      8. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      9. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
      10. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
  • v1.0.3, 2016-09-02:
    • CHANGE: Disable plugin if the active template doesn't include jscript_framework.php
    • CHANGE: Update documentation to ensure that the v1.5.5a version of jscript_framework.php gets copied.
    • BUGFIX: Correct handling of AJAX request timeouts on the shipping-method change.
    • BUGFIX: Correct interlock with "collectsCardDataOnsite" payment methods and shipping methods that require "extra" information.
    • BUGFIX: Correct Zen Cart 1.5.5a payment-class handling of "collectsCardDataOnsite" payment methods.
    • BUGFIX: Unfinished form submittal occurs when payment method "collectsCardDataOnsite".
    • CHANGE: Identify known template incompatibilities in the readme.
    • The following files were affected:
      1. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      2. /includes/languages/english/checkout_one.php
      3. /includes/modules/pages/checkout_one/jscript_main.php
      4. /includes/templates/template_default/jscript/jscript_framework.php (Added, the ZC1.5.5a version of the file)
      5. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php (Added, the ZC1.5.5a version of the file)
      6. /includes/templates/YOUR_TEMPLATE/templates/tpl_ajax_checkout_confirmation_default.php (Added)
      7. /zc155a/includes/classes/payment.php (Added)
      8. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      9. /YOUR_ADMIN/includes/languages/english/extra_definitions/checkout_one_name.php
      10. /pre_zc155a/includes/templates/template_default/jscript/jscript_framework.php (Removed)
      11. /pre_zc155a/includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php (Removed)
  • v1.0.2, 2016-08-19:
    • BUGFIX: Display payment-method block when in "special checkout" (i.e. PayPal Express Checkout/Shortcut Button).
    • BUGFIX: Gracefully handle session timeouts during the checkout process.
    • BUGFIX: Correct AJAX session-save handling.
    • BUGFIX: Correct interoperation with shipping-methods that have additional data; also corrects handling when the chosen shipping method is no longer valid.
    • BUGFIX: Include both ZC1.5.4 and 1.5.5 versions of collectsCardDataOnSite handling.
    • BUGFIX: Check customer's authorization after checking that they're logged in.
    • BUGFIX: Form won't submit on IE-11 browser.
    • CHANGE: Provide pre-integration of Product Delivery by Postcode (PDP) plugin.
    • BUGFIX: Missing semi-colon in language-file override.
    • BUGFIX: Debug-log generated when coupon applied and shipping-method changed.
    • The following files were affected:
      1. /ajax.php (Added)
      2. /includes/classes/ajax/zcAjaxOnePageCheckout.php
      3. /includes/languages/english/checkout_one.php
      4. /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php
      5. /includes/modules/pages/checkout_one/header_php.php
      6. /includes/modules/pages/checkout_one/jscript_main.php
      7. /includes/modules/pages/checkout_one_confirmation/header_php.php
      8. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
      9. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      10. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
      11. /includes/templates/template_default/templates/tpl_modules_checkout_one_shipping.php (Added)
      12. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      13. /pre_zc155a/ajax.php (Removed)
  • v1.0.1, 2016-08-06:
    • BUGFIX: Check customer's authorization.
    • BUGFIX: Zen Cart base AJAX handling changes required for Zen Cart 1.5.5 (pre-a) installations, too.
    • BUGFIX: Display "Terms and Conditions" block, if configured.
    • BUGFIX: Enable support for payment methods (like eWay Rapid) that insert form-handling HTML into their "process_button" function's output.
    • BUGFIX: On initial entry, the order's total sometimes didn't include the proper shipping cost.
    • CHANGE: Additional debug configuration added to enable strict PHP processing for the One-Page Checkout page.
    • CHANGE: Provide pre-integration of the Products' Options' Stock Manager; yes, it's a shameless plug!
    • The following files were affected:
      1. /includes/classes/observers/class.checkout_one_observer.php
      2. /includes/languages/english/checkout_one_confirmation.php
      3. /includes/modules/pages/checkout_one/header_php.php
      4. /includes/modules/pages/checkout_one_confirmation/header_php.php
      5. /includes/modules/pages/checkout_one_confirmation/jscript_main.php
      6. /includes/templates/template_default/css/checkout_one_confirmation.css
      7. /includes/templates/template_default/templates/tpl_checkout_one_default.php
      8. /includes/templates/template_default/templates/tpl_checkout_one_confirmation_default.php
      9. /includes/templates/YOUR_TEMPLATE/css/checkout_one_confirmation.css
      10. /YOUR_ADMIN/includes/init_includes/init_checkout_one.php
      11. /zc154_only/*.* renamed to /pre_zc155a/*.*
  • v1.0.0, 2016-07-30:
    • Initial public release.