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

One-Page Checkout [Support Thread]

Views: 629,350

Results 2,061 to 2,080 of 3,077
27 Jul 2021, 1:27 PM
#2061
lat9 avatar

lat9

Administrator

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

One-Page Checkout [Support Thread]

mikestaps:

An odd error occurred overnight where an error in OPC caused duplicate orders 22 seconds apart for the same customer and same items, but did not send out any order conformation emails. Only one of the orders was charged out (PayPal) with no payment confirmation visible in admin, but shows in PayPal.

Same error posted to the log for both orders.

Error Log:

[26-Jul-2021 21:31:26 America/Chicago] Request URI: /store/index.php?main_page=checkout_process, IP address: xx.38.xx.8
#1 trigger_error() called at [/includes/classes/OnePageCheckout.php:1399]
#2 OnePageCheckout->inputPreCheck() called at [/includes/classes/OnePageCheckout.php:898]
#3 OnePageCheckout->formatAddress() called at [/includes/classes/observers/class.checkout_one_observer.php:532]
#4 checkout_one_observer->update() called at [/includes/classes/class.base.php:118]
#5 base->notify() called at [/includes/classes/order.php:1183]
#6 order->send_order_email() called at [/includes/modules/checkout_process.php:103]
#7 require(/includes/modules/checkout_process.php) called at [/includes/modules/pages/checkout_process/header_php.php:14]
#8 require(/includes/modules/pages/checkout_process/header_php.php) called at [/index.php:35]
--> PHP Fatal error: Invalid request, tempAddressValues not set. in /includes/classes/OnePageCheckout.php on line 1399.

> 
> 1.5.7 store
> OPC v2.3.8
> Bootstrap 4 template
> 
> Going to update to OPC v2.3.9 today...
What other plugins are installed for the site?  I'm also assuming that you're running zc157c ... or a fully-patched version of zc157.

The site's "Raw Access Logs" can also be your friend here.  Since you know the IP address and timeframe, you could search those raw-access-logs for that IP address to get a feel for how the customer navigated through the site.
27 Jul 2021, 9:08 PM
#2062
mikestaps avatar

mikestaps

Zen Follower

Join Date:
Aug 2010
Location:
Grand Blanc, MI
Posts:
305
Plugin Contributions:
1

Re: One-Page Checkout [Support Thread]

I currently have the following installed:
Zen Cart 1.5.7c
ZCA-bootstrap 3.1.1
opc 2.3.8 (bust day, didn't get 2.3.9 installed...)
bs4_opc 1.0.1
Google reCaptcha v3.4
quick quantity update
UPSxml 1.79
USPS 2021_05_05_K11a

I haven't been able to get into the Raw access logs, not sure I really know how to, it downloaded as an MS DOS application.

I am thinking it may have actually been a PayPal error...

I found this error from the same customer approximately 15 minutes before the OPC error and both of the orders that posted did not have a billing address on them;

2021-07-26 09:18:55
-------------------
(live transaction) --> https://api-3t.paypal.com/nvp
Request Headers:
Array
(
[0] => Content-Type: text/namevalue
[1] => X-VPS-Timeout: 90
[2] => X-VPS-VIT-Client-Type: PHP/cURL
[3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart(R) - PayPal/NVP
[4] => X-VPS-VIT-Integration-Version: 1.5.7
)


Request Parameters: {DoExpressCheckoutPayment}
Array
(
[PAYMENTREQUEST_0_AMT] => 173.51
[PAYMENTREQUEST_0_ITEMAMT] => 147.93
[PAYMENTREQUEST_0_SHIPPINGAMT] => 25.58
[L_PAYMENTREQUEST_0_NUMBER0] => 21-220
[L_PAYMENTREQUEST_0_NAME0] => 2011 SX/XC, 2012-15 ALL, 2016 EXC/XCW KTM Easy Fit Under Fender [408] License Plate Holder: 21-208 - Universal/KTM Rear Turn Si
[L_PAYMENTREQUEST_0_QTY0] => 1
[L_PAYMENTREQUEST_0_AMT0] => 147.93
[PAYMENTREQUEST_0_PAYMENTACTION] => Sale
[PAYMENTREQUEST_0_SHIPTONAME] => xxxxxxxxxxxx
[PAYMENTREQUEST_0_SHIPTOSTREET] => xxxxxxxxxxxxx
[PAYMENTREQUEST_0_SHIPTOCITY] => xxxxxxxxxxx
[PAYMENTREQUEST_0_SHIPTOSTATE] => xxxxxxx
[PAYMENTREQUEST_0_SHIPTOZIP] => xxxxxxx
[PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE] => xxxxx
[BUTTONSOURCE] => ZenCart-EC_us
[RETURNFMFDETAILS] => 1
[PAYMENTREQUEST_0_CUSTOM] => aa-11111-1111111111
[PAYMENTREQUEST_0_INVNUM] => 11111-1111111111-[sicassracingcom]
[PAYMENTREQUEST_0_CURRENCYCODE] => USD
[TOKEN] => xx-###############
[PAYERID] => X#X#X#X#X#X#X
[NOTIFYURL] => https://sicassracing.com/store/ipn_main_handler.php
[METHOD] => DoExpressCheckoutPayment
[USER] => sicassracing_api1.aol.com
[PWD] => ****************
[VERSION] => 124.0
[SIGNATURE] => ****************************************************xxxx
)


Response:
Array
(
[TOKEN] => xx-###############
[SUCCESSPAGEREDIRECTREQUESTED] => false
[TIMESTAMP] => 2021-07-27T02:18:54Z
[CORRELATIONID] => 63957c992760
[ACK] => Failure
[VERSION] => 124.0
[BUILD] => 55829961
[L_ERRORCODE0] => 10486
[L_SHORTMESSAGE0] => This transaction couldn't be completed.
[L_LONGMESSAGE0] => This transaction couldn't be completed. Please redirect your customer to PayPal.
[L_SEVERITYCODE0] => Error
[CURL_ERRORS] =>
)


DoExpressCheckoutPayment, Elapsed: 3027ms -- Failure

TOKEN=EC%2d469499473T2659827&SUCCESSPAGEREDIRECTREQUESTED=false&TIMESTAMP=2021%2d07%2d27T02%3a18%3a54Z&CORRELATIONID=63957c992760&ACK=Failure&VERSION=124%2e0&BUILD=55829961&L_ERRORCODE0=10486&L_SHORTMESSAGE0=This%20transaction%20couldn%27t%20be%20completed%2e&L_LONGMESSAGE0=This%20transaction%20couldn%27t%20be%20completed%2e%20Please%20redirect%20your%20customer%20to%20PayPal%2e&L_SEVERITYCODE0=Error&CURL_ERRORS=

and this one from several hours earlier from a different order that the email confirmation did come through (to our inbox at least...);

[26-Jul-2021 11:32:47 America/Chicago] Request URI: /store/ipn_main_handler.php, IP address: xx.0.81.65
#1 select_pp_currency() called at [/includes/modules/payment/paypal/paypal_functions.php:196]
#2 valid_payment() called at [/ipn_main_handler.php:309]
--> PHP Warning: Use of undefined constant MODULE_PAYMENT_PAYPAL_CURRENCY - assumed 'MODULE_PAYMENT_PAYPAL_CURRENCY' (this will throw an Error in a future version of PHP) in /includes/modules/payment/paypal/paypal_functions.php on line 182.

[26-Jul-2021 11:32:47 America/Chicago] Request URI: /store/ipn_main_handler.php, IP address: xx.0.81.65
#1 select_pp_currency() called at [/includes/modules/payment/paypal/paypal_functions.php:196]
#2 valid_payment() called at [/ipn_main_handler.php:309]
--> PHP Warning: Use of undefined constant MODULE_PAYMENT_PAYPAL_CURRENCY - assumed 'MODULE_PAYMENT_PAYPAL_CURRENCY' (this will throw an Error in a future version of PHP) in /includes/modules/payment/paypal/paypal_functions.php on line 185.

[26-Jul-2021 11:32:47 America/Chicago] Request URI: /store/ipn_main_handler.php, IP address: xx.0.81.65
--> PHP Warning: Use of undefined constant MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID - assumed 'MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID' (this will throw an Error in a future version of PHP) in /ipn_main_handler.php on line 332.

[26-Jul-2021 11:32:47 America/Chicago] Request URI: /store/ipn_main_handler.php, IP address: xx.0.81.65
--> PHP Warning: Use of undefined constant MODULE_PAYMENT_PAYPAL_ADDRESS_OVERRIDE - assumed 'MODULE_PAYMENT_PAYPAL_ADDRESS_OVERRIDE' (this will throw an Error in a future version of PHP) in /ipn_main_handler.php on line 343.

[26-Jul-2021 11:32:47 America/Chicago] ERROR: Failed sending email to: " " <> with subject: "Order Confirmation No: 27559" (failed validation)
28 Jul 2021, 11:31 AM
#2063
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

@mikestaps, why are you using the old PayPal payment method (paypal.php) instead of PayPal Express Checkout (paypalwpp.php)? I've done absolutely no validation with the paypal.php version's operation with One Page Checkout.

28 Jul 2021, 11:40 AM
#2064
rlexyd avatar

rlexyd

Zen Follower

Join Date:
Nov 2006
Location:
Sydney, Australia
Posts:
460
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

lat9:

If you'd post a zip of the two shipping modules, I can take a look to see if I can see something awry.

Thanks again..
Here are the 4 files in zip.

28 Jul 2021, 12:14 PM
#2065
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

rlexyd:

Thanks again..
Here are the 4 files in zip.
Nothing amiss there. Let's try another approach.

First, remove (i.e. delete) all the OPC debug-logs. Then add item(s) to the cart, start OPC and click on one of the Shipping options to expose the issue.

Then, zip-up (it gets big) the OPC debug-log and either post it back here or send it to me via PM.

28 Jul 2021, 12:38 PM
#2066
mikestaps avatar

mikestaps

Zen Follower

Join Date:
Aug 2010
Location:
Grand Blanc, MI
Posts:
305
Plugin Contributions:
1

Re: One-Page Checkout [Support Thread]

We run both PayPal Express module and the PayPal Payments Pro module (requires express set up). Payments Pro for the onsite CC payments, and the option of PayPal Express. We have run these in tandem for several years.

28 Jul 2021, 1:05 PM
#2067
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

mikestaps:

We run both PayPal Express module and the PayPal Payments Pro module (requires express set up). Payments Pro for the onsite CC payments, and the option of PayPal Express. We have run these in tandem for several years.
That's bizarre, since the MODULE_PAYMENT_PAYPAL_CURRENCY setting is created only by the paypal.php (original) payment method.

28 Sep 2021, 3:35 PM
#2068
marcopm avatar

marcopm

New Zenner

Join Date:
Jun 2021
Posts:
42
Plugin Contributions:
1

Re: One-Page Checkout [Support Thread]

I've been using this plugin while updating a ZC website I'm working on. Calling it "a lifesaver" is an understatement.
The amount of work that has been put into this (that I can see from the code and the final result) AND the fact that is completely open source AND the continuous support/documentation is incredible. I literally can't thank enough lat9 (and everyone else who contributed into this) for this outstanding plugin.
On top of all that, the code is so well written and documented! Amazing, amazing work.

Among other things, the layout and behavior of the three-columns checkout is EXACTLY as I wanted it to be. It just makes sense to me that it's implemented like it is. I only had to make very few changes. I worked with much bigger and well-known ecommerce platforms and man if their checkout layout was a pain to work with.

For several reasons I think that ZC is still one of the best ecommerce these days. However I have to admit that without both this plugin and the ZCA bootstrap template (always by lat9 by the way) it wouldn't be the same. Both plugins really push it forward and help make it a modern solution.

28 Sep 2021, 3:48 PM
#2069
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

marcopm:

I've been using this plugin while updating a ZC website I'm working on. Calling it "a lifesaver" is an understatement.
The amount of work that has been put into this (that I can see from the code and the final result) AND the fact that is completely open source AND the continuous support/documentation is incredible. I literally can't thank enough lat9 (and everyone else who contributed into this) for this outstanding plugin.
On top of all that, the code is so well written and documented! Amazing, amazing work.

Among other things, the layout and behavior of the three-columns checkout is EXACTLY as I wanted it to be. It just makes sense to me that it's implemented like it is. I only had to make very few changes. I worked with much bigger and well-known ecommerce platforms and man if their checkout layout was a pain to work with.

For several reasons I think that ZC is still one of the best ecommerce these days. However I have to admit that without both this plugin and the ZCA bootstrap template (always by lat9 by the way) it wouldn't be the same. Both plugins really push it forward and help make it a modern solution.
Thanks for your kind words and the support that you've provided via the changes you've submitted via the plugin's GitHub repository (https://github.com/lat9/one_page_checkout).

13 Oct 2021, 11:11 PM
#2070
nick1973 avatar

nick1973

Totally Zenned

Join Date:
Sep 2008
Location:
Cleethorpes
Posts:
1,230
Plugin Contributions:
3

Re: One-Page Checkout [Support Thread]

I'm getting the 'Sorry, but our expedited checkout process cannot be used' flash up for a millisecond then it disappears. It appears that orders can still be processed though. I am using Zen Cart 1.5.7c, Bootstrap 4 and the OPC Styles for Bootstrap 4. Jquery is on 3.5.1. It only appears to happen on a Desktop. It's just a very quick flash.

14 Oct 2021, 12:27 PM
#2071
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

Nick1973:

I'm getting the 'Sorry, but our expedited checkout process cannot be used' flash up for a millisecond then it disappears. It appears that orders can still be processed though. I am using Zen Cart 1.5.7c, Bootstrap 4 and the OPC Styles for Bootstrap 4. Jquery is on 3.5.1. It only appears to happen on a Desktop. It's just a very quick flash.
That's the way that OPC is designed. That "Sorry ..." message shows initially, until all the page's javascript is loaded and the OPC jQuery turns that message off.

It's the only way I could think of to give customers an opportunity to still checkout if the site has a javascript/jQuery issue during the page's load ... which will cause OPC's jQuery (which is an integral part of the processing) to not work.

14 Oct 2021, 12:30 PM
#2072
nick1973 avatar

nick1973

Totally Zenned

Join Date:
Sep 2008
Location:
Cleethorpes
Posts:
1,230
Plugin Contributions:
3

Re: One-Page Checkout [Support Thread]

lat9:

That's the way that OPC is designed. That "Sorry ..." message shows initially, until all the page's javascript is loaded and the OPC jQuery turns that message off.

It's the only way I could think of to give customers an opportunity to still checkout if the site has a javascript/jQuery issue during the page's load ... which will cause OPC's jQuery (which is an integral part of the processing) to not work.

ok no problem cindy, at least i know not to worry that something is not installed correctly

24 Oct 2021, 12:53 PM
#2073
strelitzia avatar

strelitzia

Totally Zenned

Join Date:
Nov 2005
Location:
France
Posts:
588
Plugin Contributions:
1

Re: One-Page Checkout [Support Thread]

Zen Cart 1.5.7c
OPC 2.3.9

Active shipping modules: storepickup

I'm getting the "Please contact the store owner; some required elements of this page are missing." message on checkout.
After clicking OK on the popup message, the checkout page displays correctly, although I did notice that the address for the user account isn't pre populated in the billing/shipping address fields.

Console log shows

Missing #otshipping
setFormSubmitButton, payment-module: moneyorder
Showing "confirm"
Setting orderConfirmed (0), submitter (null)
jQuery version: 2.1.4

I switched to responsive classic template and still get the same issue.

I checked the readme doc and found

"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!"

Except I haven't modified tpl_checkout_one_default.php, so that can't be the issue.

Any suggestions?

24 Oct 2021, 1:07 PM
#2074
strelitzia avatar

strelitzia

Totally Zenned

Join Date:
Nov 2005
Location:
France
Posts:
588
Plugin Contributions:
1

Re: One-Page Checkout [Support Thread]

Interestingly, if I enable another shipping method, flat rate for example, the missing #otshipping warning goes away.

Can anyone else confirm that using storepickup as the only shipping method causes the missing #otshipping warning?

24 Oct 2021, 2:14 PM
#2075
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

strelitzia:

Interestingly, if I enable another shipping method, flat rate for example, the missing #otshipping warning goes away.

Can anyone else confirm that using storepickup as the only shipping method causes the missing #otshipping warning?
I can! It's a core-file issue; you'll need to edit /includes/classes/shipping.php's cheapest method:

  function cheapest() {
    if (!is_array($this->modules)) return false;
      $rates = array();

      foreach($this->modules as $value) {
        $class = substr($value, 0, strrpos($value, '.'));
        if (isset($GLOBALS[$class]) && is_object($GLOBALS[$class]) && $GLOBALS[$class]->enabled) {
          $quotes = isset($GLOBALS[$class]->quotes) ? $GLOBALS[$class]->quotes : null;
          if (empty($quotes['methods'])) {
            continue;
          }
          $size = sizeof($quotes['methods']);
          for ($i=0; $i<$size; $i++) {
            if (isset($quotes['methods'][$i]['cost'])){
              $rates[] = array('id' => $quotes['id'] . '_' . $quotes['methods'][$i]['id'],
                               'title' => $quotes['module'] . ' (' . $quotes['methods'][$i]['title'] . ')',
                               'cost' => $quotes['methods'][$i]['cost'],
                               'module' => $quotes['id']
              );
            }
          }
        }
      }

      $cheapest = false;
      $size = sizeof($rates);
      for ($i=0; $i<$size; $i++) {
        if (is_array($cheapest)) {
          // never quote storepickup as lowest - needs to be configured in shipping module
          if ($rates[$i]['cost'] < $cheapest['cost'] and $rates[$i]['module'] != 'storepickup') {
            $cheapest = $rates[$i];
          }
        } else {
          [B]if ($rates[$i]['module'] != 'storepickup') {[/B]
            $cheapest = $rates[$i];
          }
        }
      }
      $this->notify('NOTIFY_SHIPPING_MODULE_CALCULATE_CHEAPEST', $cheapest, $cheapest, $rates);
      return $cheapest;
  }

... and change the highlighted line to read:

          if ([B]$size === 1 || [/B]$rates[$i]['module'] != 'storepickup') {

That change enables the storepickup to be selected as the cheapest ... if it's the only shipping method available.

24 Oct 2021, 2:23 PM
#2076
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

Zen cart GitHub issue opened: https://github.com/zencart/zencart/issues/4478

24 Oct 2021, 2:32 PM
#2077
strelitzia avatar

strelitzia

Totally Zenned

Join Date:
Nov 2005
Location:
France
Posts:
588
Plugin Contributions:
1

Re: One-Page Checkout [Support Thread]

lat9:

I can! It's a core-file issue; you'll need to edit /includes/classes/shipping.php's cheapest method:

function cheapest() {
if (!is_array($this->modules)) return false;
$rates = array();

  foreach($this->modules as $value) {
    $class = substr($value, 0, strrpos($value, '.'));
    if (isset($GLOBALS[$class]) && is_object($GLOBALS[$class]) && $GLOBALS[$class]->enabled) {
      $quotes = isset($GLOBALS[$class]->quotes) ? $GLOBALS[$class]->quotes : null;
      if (empty($quotes['methods'])) {
        continue;
      }
      $size = sizeof($quotes['methods']);
      for ($i=0; $i<$size; $i++) {
        if (isset($quotes['methods'][$i]['cost'])){
          $rates[] = array('id' => $quotes['id'] . '_' . $quotes['methods'][$i]['id'],
                           'title' => $quotes['module'] . ' (' . $quotes['methods'][$i]['title'] . ')',
                           'cost' => $quotes['methods'][$i]['cost'],
                           'module' => $quotes['id']
          );
        }
      }
    }
  }

  $cheapest = false;
  $size = sizeof($rates);
  for ($i=0; $i<$size; $i++) {
    if (is_array($cheapest)) {
      // never quote storepickup as lowest - needs to be configured in shipping module
      if ($rates[$i]['cost'] < $cheapest['cost'] and $rates[$i]['module'] != 'storepickup') {
        $cheapest = $rates[$i];
      }
    } else {
      [B]if ($rates[$i]['module'] != 'storepickup') {[/B]
        $cheapest = $rates[$i];
      }
    }
  }
  $this->notify('NOTIFY_SHIPPING_MODULE_CALCULATE_CHEAPEST', $cheapest, $cheapest, $rates);
  return $cheapest;

}

> ... and change the highlighted line to read:
> ```
          if ([B]$size === 1 || [/B]$rates[$i]['module'] != 'storepickup') {

That change enables the storepickup to be selected as the cheapest ... if it's the only shipping method available.

That works perfectly. Thank you, once again, for amazingly fast support.

6 Nov 2021, 8:19 PM
#2078
carbonless avatar

carbonless

Zen Follower

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

Re: One-Page Checkout [Support Thread]

My clients store is ZC 1.5.7c using OPC 2.3.9
upon clicking checkout, I'm getting a page reload with the following display:
Attachment 19798

and once I click ok:
Im brought to the checkout screen, but not ble to select the payment method:
Attachment 19799

the following debug error: 06-Nov-2021 01:16:36 UTC] PHP Notice: Malformed value for session-based shipping module; customer will need to re-select: false in /includes/classes/order.php on line 323

7 Nov 2021, 12:26 PM
#2079
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

Carbonless:

My clients store is ZC 1.5.7c using OPC 2.3.9
upon clicking checkout, I'm getting a page reload with the following display:
Attachment 19798

and once I click ok:
Im brought to the checkout screen, but not ble to select the payment method:
Attachment 19799

the following debug error: 06-Nov-2021 01:16:36 UTC] PHP Notice: Malformed value for session-based shipping module; customer will need to re-select: false in /includes/classes/order.php on line 323
Looks like you've been bit by this (https://github.com/zencart/zencart/issues/4478) Zen Cart core bug, where 'storepickup' is the only shipping method available.

I'll see what I can do later today to provide a solution.

7 Nov 2021, 1:09 PM
#2080
lat9 avatar

lat9

Administrator

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

Re: One-Page Checkout [Support Thread]

lat9:

Looks like you've been bit by this (https://github.com/zencart/zencart/issues/4478) Zen Cart core bug, where 'storepickup' is the only shipping method available.

I'll see what I can do later today to provide a solution.
Turns out I'd provided a solution in the post referenced by the above GitHub issue: https://www.zen-cart.com/showthread.php?220781-One-Page-Checkout-Support-Thread&p=1384427#post1384427