Zen Cart Logo
Forums / All Other Contributions/Addons / One-Page Checkout [Support Thread]

One-Page Checkout [Support Thread]

Views: 632,614

Results 3,001 to 3,020 of 3,088
23 Dec 2025, 11:37 AM
#3001
swguy avatar

swguy

Administrator

Join Date:
Feb 2006
Location:
Tampa Bay, Florida
Posts:
10,718
Plugin Contributions:
56

One-Page Checkout [Support Thread]

I am getting a number of these:

[22-Dec-2025 16:41:45 America/New_York] Request URI: /index.php?main_page=checkout_process, IP address: ..., Language id 1
#0 /home/client/public_html/includes/modules/checkout_process.php(45): zen_debug_error_handler()
#1 /home/client/public_html/includes/modules/pages/checkout_process/header_php.php(13): require('/home/client/...')
#2 /home/client/public_html/index.php(35): require('/home/client/...')
--> PHP Warning: Undefined array key "payment" in /home/client/public_html/includes/modules/checkout_process.php on line 45.

Bootstrap 3.7.8, OPC 2.5.5, Zen Cart 2.1.0, PHP 8.3.

That Software Guy. My Store: Zen Cart Support
Available for hire - See my ad in Services
Plugin Moderator, Documentation Curator, Chief Cook and Bottle-Washer.
Do you benefit from Zen Cart? Then please support the project.

23 Jan 2026, 4:06 AM
#3002
carbonless avatar

carbonless

Zen Follower

Join Date:
Jan 2007
Location:
Illinois, USA
Posts:
329
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

I have One Page Checkout 2.5.5 , recently upgraded to ZC 2.1.0, using ZCA Bootstrap-4, and Square Web Payments Module 1.0.2. With OPC turned off, I can checkout using Square Web Pay mod just fine. Turn OPC on and When I get to the cc entry and click "Review Order" I get this notification: We have a problem on our end. So Sorry! Please report this error to the Store Owner: SQ-MISSING-TOKEN

And it generates this error log: [23-Jan-2026 03:55:46 UTC] PHP Notice: missing token result: check if card button is disabled on dev console using: document.getElementById('card-button'); else look for javascript error in console. in /includes/modules/payment/square_webPay.php on line 262

Outside of my knowhow. Any help is greatly appreciated as always.

NTO: building a better network thru collaboration
www.needtoorder.com | www.coffeewitheinstein.com

23 Jan 2026, 11:54 AM
#3003
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

Carbonless:

I have One Page Checkout 2.5.5 , recently upgraded to ZC 2.1.0, using ZCA Bootstrap-4, and Square Web Payments Module 1.0.2. With OPC turned off, I can checkout using Square Web Pay mod just fine. Turn OPC on and When I get to the cc entry and click "Review Order" I get this notification: We have a problem on our end. So Sorry! Please report this error to the Store Owner: SQ-MISSING-TOKEN

And it generates this error log: [23-Jan-2026 03:55:46 UTC] PHP Notice: missing token result: check if card button is disabled on dev console using: document.getElementById('card-button'); else look for javascript error in console. in /includes/modules/payment/square_webPay.php on line 262

Outside of my knowhow. Any help is greatly appreciated as always.
Mine too, kind of. Did you check for javascript errors in the browser's console log, as indicated in the square_webPay log you received?

23 Jan 2026, 4:40 PM
#3004
carbonless avatar

carbonless

Zen Follower

Join Date:
Jan 2007
Location:
Illinois, USA
Posts:
329
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

OPC 2.5.5 working with SquarewebPay with these edits:

CONSOLE ERROR log that promted the fix...
Setting orderConfirmed (1), submitter (null) square.js:3:78284
Form being submitted, submit_type(review square.js:3:78284
setFormSubmitButton, payment-module: square_webPay square.js:3:78284
Showing "review" square.js:3:78284
setFormSubmitButton, enabling Review and Confirm buttons. square.js:3:78284
Form checked, passed (true) square.js:3:78284
Cookie warnings 2
The value of the attribute “expires” for the cookie “_ga_G4K94XL4P6” has been overwritten. index.php
Object { cache: false, type: "POST", traditional: true, dataType: "json", timeout: 5000, data: {…}, url: "ajax.php?act=ajaxOnePageCheckout&method=getOrderTotal", error: error(jqXHR, textStatus, errorThrown) }
square.js:3:78284
setFormSubmitButton, payment-module: square_webPay square.js:3:78284
Showing "review" square.js:3:78284
setFormSubmitButton, enabling Review and Confirm buttons. square.js:3:78284
Setting orderConfirmed (0), submitter (null) square.js:3:78284
jQuery version: 3.7.1 square.js:3:78284
TypeError: MutationObserver.observe: Argument 1 is not an object. web-client-content-script.js:2:1432872
Feature Policy: Skipping unsupported feature name “clipboard-write”. web-client-content-script.js:2:965680
Feature Policy: Skipping unsupported feature name “clipboard-write”. web-client-content-script.js:2:965905
Feature Policy: Skipping unsupported feature name “clipboard-write”. web-client-content-script.js:2:1424162
Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content. webclient-infield.html
WEBGL_debug_renderer_info is deprecated in Firefox and will be removed. Please use RENDERER. main-iframe.js:3:383356
Partitioned cookie or storage access was provided to “https://web.squarecdn.com/1.82.3/main-iframe.html?applicationId=xyxyxyxyxyxyxyxy&hostname=needtoorder.com” because it is loaded in the third-party context and dynamic state partitioning is enabled. main-iframe.js:3:379397
found checkoutOneSubmit button! square.js:3:78284

I’ve patched the One Page Checkout v2.5.5 plugin so it submits via requestSubmit() (with a real submit button) instead of form.submit(). That prevents Square from seeing submitter (null), which is the usual reason the token/nonce never gets attached and your square_webPay.php logs “missing token result”.

​I updated both:
includes/modules/pages/checkout_one/jquery.checkout_one.js
includes/modules/pages/checkout_one/jquery.checkout_one.min.js

Each now prefers:
form.requestSubmit(button)
fallback to button.click()
last resort form.submit()

File 1 (unminified)

/includes/modules/pages/checkout_one/jquery.checkout_one.js

Edit A — checkout_confirmation submit (Square “submitter = null” fix)

Find:

jQuery('form[name="checkout_confirmation"]')[0].submit();

Replace with:

(function(){
var form = jQuery('form[name="checkout_confirmation"]')[0];
if (!form) { return; }
var btn = document.getElementById('checkoutOneSubmit') || document.getElementById('card-button');
if (!btn) {
btn = form.querySelector('button[type="submit"], input[type="submit"]');
}
if (typeof form.requestSubmit === 'function') {
form.requestSubmit(btn || undefined);
} else if (btn) {
btn.click();
} else {
form.submit();
}
})();

Edit B — checkout_payment submit (when payment method handles submission)

Find:

jQuery('form[name="checkout_payment"]').submit();

Replace with:

(function(){
var form = jQuery('form[name="checkout_payment"]')[0];
if (!form) { return; }
var btn = document.getElementById('checkoutOneSubmit') || document.getElementById('card-button');
if (!btn) { btn = form.querySelector('button[type="submit"], input[type="submit"]'); }
if (typeof form.requestSubmit === 'function') {
form.requestSubmit(btn || undefined);
} else if (btn) {
btn.click();
} else {
form.submit();
}
})();

Edit C — credit-class submit (same form submit path, different trigger)

Find:

jQuery('form[name="checkout_payment"]').submit();

Replace with the same block as Edit B (above).
This occurs in the “Submitting credit-class request” handler.

File 2 (minified)

/includes/modules/pages/checkout_one/jquery.checkout_one.min.js

This file contains the same functional changes, just compressed. For a forum post, the cleanest note is:

“Updated the 3 programmatic form submissions from .submit() to a requestSubmit()/click fallback so Square receives a non-null submitter, allowing tokenization/nonce injection.”

If they insist on literal paste, here are the three exact replacements by search string, which are quick and reliable even in minified code:

Minified replacement 1 — confirmation form

Search for:

jQuery('form[name="checkout_confirmation"]')[0].submit();

Replace with (minified IIFE):

(function(){var f=jQuery('form[name="checkout_confirmation"]')[0];if(!f)return;var b=document.getElementById('checkoutOneSubmit')||document.getElementById('card-button');if(!b){b=f.querySelector('button[type="submit"], input[type="submit"]')}if(typeof f.requestSubmit==='function'){f.requestSubmit(b||void 0)}else if(b){b.click()}else{f.submit()}})();

Minified replacement 2 — checkout_payment submit (1st occurrence)

Search for:

jQuery('form[name="checkout_payment"]').submit();

Replace with:

(function(){var f=jQuery('form[name="checkout_payment"]')[0];if(!f)return;var b=document.getElementById('checkoutOneSubmit')||document.getElementById('card-button');if(!b){b=f.querySelector('button[type="submit"], input[type="submit"]')}if(typeof f.requestSubmit==='function'){f.requestSubmit(b||void 0)}else if(b){b.click()}else{f.submit()}})();

Minified replacement 3 — checkout_payment submit (2nd occurrence)

Do the same replacement again for the second .submit() occurrence (credit-class submit path).

NTO: building a better network thru collaboration
www.needtoorder.com | www.coffeewitheinstein.com

23 Jan 2026, 7:01 PM
#3005
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

Wait a second ... **Square Web Payments Module 1.0.2? **Current versions of that payment module are v2.x.x and higher; where did you find v1.0.2?

23 Jan 2026, 10:17 PM
#3006
carbonless avatar

carbonless

Zen Follower

Join Date:
Jan 2007
Location:
Illinois, USA
Posts:
329
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

good catch - to answer you question, I have no idea, and I guess looking at 2.0.2, I can't tell you how modified the older version I have actually is any longer.

I'm installing 2.0.2 now, it was in our mod directory as installed, but it hasn't been. Doing it now and I'll report back.

NTO: building a better network thru collaboration
www.needtoorder.com | www.coffeewitheinstein.com

23 Jan 2026, 10:33 PM
#3007
carbonless avatar

carbonless

Zen Follower

Join Date:
Jan 2007
Location:
Illinois, USA
Posts:
329
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

The 2.0.2 installed seemlessly, worked brilliantly, and made my earlier grappling success,... a waste of time. feel free to delete my earlier comments as to not cause confusion.

NTO: building a better network thru collaboration
www.needtoorder.com | www.coffeewitheinstein.com

24 Jan 2026, 12:45 PM
#3008
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,843
Plugin Contributions:
17

Re: One-Page Checkout [Support Thread]

The non-commercial mod went to 1.0.4. The commercial has been at 3+ for some time.

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

25 Jan 2026, 4:32 PM
#3009
carlwhat avatar

carlwhat

zennedOut

Join Date:
Nov 2005
Location:
los angeles
Posts:
2,967
Plugin Contributions:
8

Re: One-Page Checkout [Support Thread]

lat9:

Wait a second ... **Square Web Payments Module 1.0.2? **Current versions of that payment module are v2.x.x and higher; where did you find v1.0.2?

v1.0.2 is readily available here (although its use requires old outdated code):

https://www.zen-cart.com/downloads.php?do=file&id=2345

Carbonless:

The 2.0.2 installed seemlessly, worked brilliantly, and made my earlier grappling success,... a waste of time. feel free to delete my earlier comments as to not cause confusion.

:thumbsup:

dbltoe:

The non-commercial mod went to 1.0.4. The commercial has been at 3+ for some time.

also correct.

2.0.2 was released 12/2024; it was the last version that supports zc 1.5.7.

3.0.0 was released 5/2025. it requires zc 1.5.8, and now makes use of the new square payment flow. it no longer uses the deprecated verifyBuyer function.

3.1.1 is the latest version as of this post. it has bug fixes on the 3.x.x series and makes use of the square sdk from 8/2025.

if one is running zc 1.5.8 or higher, 3.1.1 is the recommended version to be running.

again, as of this post, 2.x.x will still work (at least to my knowledge), but it does make use of a deprecated payment flow. as to how long square will continue to accept payments using that payment flow is anyone's guess. judging from my past experience with other payment processors (specifically authorize.net), it could be many years before square stops accepting payments using that payment flow.

hope that helps.

author of square Webpay, now with Apple Pay and Google Pay.
mXworks
donations: venmo or paypal accepted.
premium consistent excellent support. available for hire.

28 Jan 2026, 12:16 AM
#3010
carbonless avatar

carbonless

Zen Follower

Join Date:
Jan 2007
Location:
Illinois, USA
Posts:
329
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

I had to create a work around in order to get the mods for "check/money order" or "offsite payments" to work.
Zen Cart One-Page Checkout + Square – “Confirm Order” Hang (Firefox)

Issue:
After installing the One-Page Checkout (OPC) module with Square, clicking Confirm Order appeared to “hang” in Firefox. Console showed:

HTMLFormElement.requestSubmit: The submitter is not a submit button

Orders would not complete.

Root Cause:
jquery.checkout_one.min.js was calling:

form.requestSubmit(submitter)

where submitter could be:

null, or

a non-submit element (e.g. <a> or <button type="button">)

Firefox strictly enforces requestSubmit() and throws if the submitter is not a real submit control, which stops checkout execution.

Fix Applied:
Patched the minified OPC file to validate the submitter before passing it to requestSubmit().

Logic now:

If a valid <button type="submit"> or <input type="submit"> exists → use it

Otherwise → call form.requestSubmit() with no argument

Fallback to form.submit() if needed

This prevents the Firefox exception while preserving all OPC and Square logic.

File that must be patched (important):

/includes/modules/pages/checkout_one/jquery.checkout_one.min.js

(Editing only jquery.checkout_one.js is insufficient if the min file is what’s loaded.)

NTO: building a better network thru collaboration
www.needtoorder.com | www.coffeewitheinstein.com

23 Apr 2026, 3:51 PM
#3012
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

I need some help to upgrade 2.5.5 to 2.6.0. Zc 210. PHP 8.1

My site is running OPC 2.5.5 without any issues. Here are my attempts for the upgrade.

  1. I tried to upload all the 2.6.0 factory files to my server (template folder name changed, two core files needs to be manually edited), my admin pages shows the upgrade success note which is normal. But my store front shows white screen (HTTP ERROR 500). Log is the following.
[23-Apr-2026 11:45:03 America/New_York] PHP Fatal error: Uncaught TypeError: Cannot assign null to property OnePageCheckout::$sendtoSaved of type int in /includes/functions/sessions.php:48
Stack trace:
#0 /includes/functions/sessions.php(48): session_start()
#1 /includes/init_includes/init_sessions.php(106): zen_session_start()
#2 /includes/autoload_func.php(40): require_once('/home/...')
#3 /includes/application_top.php(329): require('/home/...')
#4 /index.php(25): require('/home/...')
#5 {main}
thrown in /includes/functions/sessions.php on line 48

[23-Apr-2026 11:56:14 America/New_York] Request URI: /, IP address: 
--> PHP Fatal error: Uncaught TypeError: Cannot assign null to property OnePageCheckout::$rebuildRequired of type bool in /includes/functions/sessions.php:48
Stack trace:
#0 /includes/functions/sessions.php(48): session_start()
#1 /includes/init_includes/init_sessions.php(106): zen_session_start()
#2 /includes/autoload_func.php(40): require_once('/home/...')
#3 /includes/application_top.php(329): require('/home/...')
#4 /index.php(25): require('/home/...')
#5 {main}
thrown in /includes/functions/sessions.php on line 48.

I uploaded my old files for 2.5.5 and it works properly.

  1. I referred to the readme.html file in the zip folder to created a patch folder which only includes the files which are changed, then upload to the server. The same issue.

The funny thing is, yesterday, when I tested it in my testing site, the 2.6.0 works fine without issues. Today, I cannot make it work for both my testing site and production site...

I also noticed that there is a typo under the readme, Changes and Bugfixes, v2.6.0, "The following files were changed, added or removed"

"6. /includes/languages/english/lang.create_account/header_php_create_account_register.php"

23 Apr 2026, 5:22 PM
#3013
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

I did some further tests. Here is what I found:

Before the upgrade to 2.6.0, my site can be displayed as normal under my browser (chrome). I leave the browser tab open. After I upload all those files, my admin page can be displayed as normal, but my site (same tab) will show white screen (HTTP 500). Even I open a new browser tab, it will still show the white screen. Then I open an Incognito tab and visit my site, it can be displayed as normal with no log generated. If I open a different browser (like Firefox), I can open my site as normal.

After I downgrade my plug-in back to 2.5.5, my white screen tab can display my site as normal. This issue can be reproduced in a different computer under my network.

I have no ideas. Not sure if it is related to my browser's cookie or cache?

25 Apr 2026, 1:34 PM
#3014
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

njcyx:

I did some further tests. Here is what I found:

Before the upgrade to 2.6.0, my site can be displayed as normal under my browser (chrome). I leave the browser tab open. After I upload all those files, my admin page can be displayed as normal, but my site (same tab) will show white screen (HTTP 500). Even I open a new browser tab, it will still show the white screen. Then I open an Incognito tab and visit my site, it can be displayed as normal with no log generated. If I open a different browser (like Firefox), I can open my site as normal.

After I downgrade my plug-in back to 2.5.5, my white screen tab can display my site as normal. This issue can be reproduced in a different computer under my network.

I have no ideas. Not sure if it is related to my browser's cookie or cache?
HTTP 500 indicates a PHP fatal error of some sort. Check the site's /logs directory and post the contents of a generated error log.

25 Apr 2026, 2:59 PM
#3015
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

lat9:

HTTP 500 indicates a PHP fatal error of some sort. Check the site's /logs directory and post the contents of a generated error log.
Duh, I just saw that you'd posted the log on your initial posting.

What other plugins are in use on the site, especially do you use "remember me"?

27 Apr 2026, 7:51 PM
#3016
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

lat9:

Duh, I just saw that you'd posted the log on your initial posting.

What other plugins are in use on the site, especially do you use "remember me"?

Thanks for your reply.

I don't use "remember me" plug-in, but I did change/increase the session timeout. I created a php file for the following code and put it under /includes/extra_configures

<?php define('SESSION_TIMEOUT_CATALOG', 7200);

I used it in the previous zc and I kept this file when I upgrade my site to 210.

27 Apr 2026, 7:53 PM
#3017
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

njcyx:

Hi @lat9,

No plug-in, but I added a php file to extend the session/shopping cart expiry time. Not sure if it is related.

<?php define('SESSION_TIMEOUT_CATALOG', 7200); ``` > > This file is under /includes/extra_configures/my_ultra_long_session_timeout.php file > > Reference link: > > <https://www.zen-cart.com/showthread.php?221400-Keep-Shopping-Cart-From-Expiring-So-Fast&p=1321729#post1321729> Hmm, I searched the keyword "SESSION_TIMEOUT_CATALOG" and I found my same post back in 2024... The modules I installed now are: OPC, some shipping modules, local sales tax, sales report II, monthly sales and tax summary and google recapchar.
28 Apr 2026, 12:23 PM
#3018
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

njcyx:

Hmm, I searched the keyword "SESSION_TIMEOUT_CATALOG" and I found my same post back in 2024...

The modules I installed now are: OPC, some shipping modules, local sales tax, sales report II, monthly sales and tax summary and google recapchar.
The log you posted indicates that the issue is that data types in the saved session's OPC variable aren't compatible with those now 'required' by the v2.6.0 update.

While I'll keep my eye out for other reports of this issue, I've got no "good" solution for you other than running the following SQL queries after you've made a full backup of your database:

TRUNCATE TABLE sessions;
TRUNCATE TABLE whos_online;
28 Apr 2026, 1:58 PM
#3019
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

lat9:

The log you posted indicates that the issue is that data types in the saved session's OPC variable aren't compatible with those now 'required' by the v2.6.0 update.

While I'll keep my eye out for other reports of this issue, I've got no "good" solution for you other than running the following SQL queries after you've made a full backup of your database:

TRUNCATE TABLE sessions;
TRUNCATE TABLE whos_online;


Hi @lat9, thanks. I just tried your suggestion in the testing server and it worked! After I cleaned both tables, The white screen tab can display as normal. 

Regarding my database, I used zc database conversion tool (v2.0.1) to convert my database to utf8mb4_unicode_520_c from (I suspected) utf8, when I upgraded my site to zc210.
29 Apr 2026, 11:41 AM
#3020
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

I still don't know what's going on with that session stuff, but I'm glad that the session-table "wipe" got you going again!