Re: One-Page Checkout [Support Thread]
I have upgraded my ZenCart 1.5.6 site to 1.5.7c by doing a clean install of 1.5.7c, manually upgrading my custom template files using the 1.5.7c core files, and reinstalling the OnePageCheckout PlugIn. I had ceon-manual-card pay module installed in 1.5.6, but I am not reinstalling that since it is out dated and no longer supported. I also had SalesReport plugin in 1.5.6 but it is not installed in 1.5.7c yet. I have OnePageCheckout working, and am now trying to add PayPal Express Checkout.
I have PayPal connected as a sandbox. If I Log In to Zen Cart I can successfully check out with PayPal. I can also check out with PayPal as Guest, but only if I fill in the billing Name, address etc. on the checkout page. If I try to check out with "PayPal" button from the cart, bypassing the billing info page, I receive this error:
Code:
#1 trigger_error() called at [/includes/classes/OnePageCheckout.php:2323]
#2 OnePageCheckout->getTaxLocations() called at [/includes/classes/observers/class.checkout_one_observer.php:640]
#3 checkout_one_observer->update() called at [/includes/classes/class.base.php:118]
#4 base->notify() called at [/includes/functions/functions_taxes.php:286]
#5 zen_get_tax_locations() called at [/includes/modules/order_total/ot_tax.php:31]
#6 ot_tax->process() called at [/includes/classes/order_total.php:178]
#7 order_total->pre_confirmation_check() called at [/includes/modules/payment/paypalwpp.php:1542]
#8 paypalwpp->ec_step1() called at [/ipn_main_handler.php:75]
--> PHP Fatal error: Unknown/invalid billto address # for customer#. in /includes/classes/OnePageCheckout.php on line 2323.
I read that as the error occurring before the call to PayPal, but I thought using the "Checkout With PayPal" button from the cart, skipping the Billing Info page, should retrieve the billing/shipping data from PayPal. The test site exhibiting this behavior is at https://test.chessieshop.com
Any ideas?
Thanks,
Lars
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
llemberg
I have upgraded my ZenCart 1.5.6 site to 1.5.7c by doing a clean install of 1.5.7c, manually upgrading my custom template files using the 1.5.7c core files, and reinstalling the OnePageCheckout PlugIn. I had ceon-manual-card pay module installed in 1.5.6, but I am not reinstalling that since it is out dated and no longer supported. I also had SalesReport plugin in 1.5.6 but it is not installed in 1.5.7c yet. I have OnePageCheckout working, and am now trying to add PayPal Express Checkout.
I have PayPal connected as a sandbox. If I Log In to Zen Cart I can successfully check out with PayPal. I can also check out with PayPal as Guest, but only if I fill in the billing Name, address etc. on the checkout page. If I try to check out with "PayPal" button from the cart, bypassing the billing info page, I receive this error:
Code:
#1 trigger_error() called at [/includes/classes/OnePageCheckout.php:2323]
#2 OnePageCheckout->getTaxLocations() called at [/includes/classes/observers/class.checkout_one_observer.php:640]
#3 checkout_one_observer->update() called at [/includes/classes/class.base.php:118]
#4 base->notify() called at [/includes/functions/functions_taxes.php:286]
#5 zen_get_tax_locations() called at [/includes/modules/order_total/ot_tax.php:31]
#6 ot_tax->process() called at [/includes/classes/order_total.php:178]
#7 order_total->pre_confirmation_check() called at [/includes/modules/payment/paypalwpp.php:1542]
#8 paypalwpp->ec_step1() called at [/ipn_main_handler.php:75]
--> PHP Fatal error: Unknown/invalid billto address # for customer#. in /includes/classes/OnePageCheckout.php on line 2323.
I read that as the error occurring before the call to PayPal, but I thought using the "Checkout With PayPal" button from the cart, skipping the Billing Info page, should retrieve the billing/shipping data from PayPal. The test site exhibiting this behavior is at
https://test.chessieshop.com
Any ideas?
Thanks,
Lars
I see that error (the whitescreen, anyway) on your site if I add a product to the cart and, directly from the shopping-cart page, clicking the "Checkout with PayPal" button, but I'm unable to reproduce that issue running zc157c with OnePageCheckout v2.3.7.
Which version of OPC is in use?
Re: One-Page Checkout [Support Thread]
Sorry I omitted the OnePage version. In the zen cart configuration it is reported as 2.3.7-beta2 (2021-01-17). I downloaded it from the "Download Latest" button at https://www.zen-cart.com/downloads.p...2095&styleid=2
Lars
Re: One-Page Checkout [Support Thread]
@llemberg, in that log you posted, what Request URI was included?
Re: One-Page Checkout [Support Thread]
Here is the Request URI from the log
[14-Apr-2021 14:29:42 America/Los_Angeles] Request URI: /ipn_main_handler.php?type=ec, IP address: <my.ip.add.ress>
Re: One-Page Checkout [Support Thread]
When you inspect your database (via phpMyAdmin), you should have three configuration_key values:
1. CHECKOUT_ONE_GUEST_BILLTO_ADDRESS_BOOK_ID
2. CHECKOUT_ONE_GUEST_SENDTO_ADDRESS_BOOK_ID
3. CHECKOUT_ONE_GUEST_CUSTOMER_ID
The CHECKOUT_ONE_GUEST_CUSTOMER_ID should be associated with the "Guest Customer"'s customers-table record and the two ADDRESS_BOOK_ID values should refer to a valid entry (associated with that Guest Customer) in the site's address_book table.
Re: One-Page Checkout [Support Thread]
Hmm, re-looking at that log posted:
Code:
--> PHP Fatal error: Unknown/invalid billto address # for customer#. in /includes/classes/OnePageCheckout.php on line 2323.
That highlighted line is not the line on which that trigger_error is thrown. Are you sure you have the most up-to-date version of that class-file?
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
lat9
When you inspect your database (via phpMyAdmin), you should have three configuration_key values:
1. CHECKOUT_ONE_GUEST_BILLTO_ADDRESS_BOOK_ID
2. CHECKOUT_ONE_GUEST_SENDTO_ADDRESS_BOOK_ID
3. CHECKOUT_ONE_GUEST_CUSTOMER_ID
The CHECKOUT_ONE_GUEST_CUSTOMER_ID should be associated with the "Guest Customer"'s customers-table record and the two ADDRESS_BOOK_ID values should refer to a valid entry (associated with that Guest Customer) in the site's address_book table.
@lat9,
The database entries you refer to look like they are lined up correctly. The three configuration key values:
Code:
mysql> select configuration_id,configuration_key,configuration_value from configuration where configuration_key like 'CHECKOUT_ONE_GUEST_%_ID';
+------------------+-------------------------------------------+---------------------+
| configuration_id | configuration_key | configuration_value |
+------------------+-------------------------------------------+---------------------+
| 719 | CHECKOUT_ONE_GUEST_BILLTO_ADDRESS_BOOK_ID | 11807 |
| 718 | CHECKOUT_ONE_GUEST_CUSTOMER_ID | 9335 |
| 720 | CHECKOUT_ONE_GUEST_SENDTO_ADDRESS_BOOK_ID | 11808 |
+------------------+-------------------------------------------+---------------------+
3 rows in set (0.00 sec)
The GUEST_CUSTOMER_ID in the customers table:
Code:
mysql> select customers_id,customers_firstname,customers_lastname from customers where customers_firstname='Guest';
+--------------+---------------------+-----------------------------+
| customers_id | customers_firstname | customers_lastname |
+--------------+---------------------+-----------------------------+
| 9335 | Guest | Customer, **do not remove** |
+--------------+---------------------+-----------------------------+
1 row in set (0.00 sec)
and the two ADDRESS_BOOK_IDs in the address_book table:
Code:
mysql> select address_book_id,entry_firstname,entry_lastname from address_book where entry_firstname='Guest';
+-----------------+-----------------+-----------------------------+
| address_book_id | entry_firstname | entry_lastname |
+-----------------+-----------------+-----------------------------+
| 11807 | Guest | Customer, **do not remove** |
| 11808 | Guest | Customer, **do not remove** |
+-----------------+-----------------+-----------------------------+
2 rows in set (0.00 sec)
I've experimented a bit more and discovered that if from the cart I use the Zen Cart buttons to get me to the Checkout page (index.php?main_page=checkout_one), fill in the Contact Info, click Shopping Cart at the top of the page to get back to the cart, THEN the "Pay With PayPal" button successfully takes me to the PayPal log in. It makes sense, since I've entered the missing data causing the error, but I can't determine why the checkout fails trying to use the "Checkout With PayPal" button alone.
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
lat9
Hmm, re-looking at that log posted:
Code:
--> PHP Fatal error: Unknown/invalid billto address # for customer#. in /includes/classes/OnePageCheckout.php on line 2323.
That highlighted line is not the line on which that trigger_error is thrown. Are you sure you have the most up-to-date version of that class-file?
You fixed it. Not the file reporting the error, but my tpl_modules_opc_shopping_cart.php was two characters shorter than the one contained in one_page_checkout-2.3.7.zip. I don't know why, and probably never will. Thanks for your help, I was getting close to a clean start-from-scratch rebuild, so now I am moving forward again.
Lars
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
llemberg
You fixed it. Not the file reporting the error, but my tpl_modules_opc_shopping_cart.php was two characters shorter than the one contained in one_page_checkout-2.3.7.zip. I don't know why, and probably never will. Thanks for your help, I was getting close to a clean start-from-scratch rebuild, so now I am moving forward again.
Lars
Lars, that still doesn't explain the line-number discrepancy for the /includes/classes/OnePageCheckout.php where that error was reported.