I'm having the exact same issue. Latest version etc. Wasn't a very fun day launching my store and receiving this complaints![]()
I'm having the exact same issue. Latest version etc. Wasn't a very fun day launching my store and receiving this complaints![]()
I've been having the same issue on a store that I service. I installed the latest june 17th patch. I put the PPE module into debug mode. And the Paypal_Action log doesn't record the discounted total anywhere. Niether does the Paypal_Debug_EC log for a transaction. The Paypal_Action log has the total of the cart before the discount is applied as well as the shipping charge which is adding up to be the total that shows up on paypal.
Somewhere along the lines the PPE module is getting the correct total for discounted orders wrong, and sending the pre discounted total. I'm going to take a quick look and see if I can find anything.
So I poked around for a bit, and I had a few questions that if no solution is known by the development team I would like answered so maybe I could find a solution to this problem.
When paypalwpp->ec_step1() is run it creates a new order with no order ID how does zencart find the order information as it isn't recorded anywhere in the database that I could find. So where is the order information that is later injected into calc_order_amount() come from if in progress orders are not in the database?
Where is the discounted total stored? I can find no record of it in the order object used in ecstep1 or the SESSION superglobal. So where is that discount amount or discounted total stored?
Although I don't really know the code of the Paypal modules very well, I am quite sure the whole session array (which includes order data of course) is being stored into the database and restored. That, and the fact that the session array is encoded and serialized before it's saved (as BLOB), probably explains why you couldn't find the data.
Try this:
/includes/modules/payment/paypalwpp.php
around line 1583 you'll see this code:Code:// init new order object require(DIR_WS_CLASSES . 'order.php'); $order = new order; $doPayPal = $this->paypal_init();
Insert the extra lines as shown:Code:// init new order object require(DIR_WS_CLASSES . 'order.php'); $order = new order; require(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total; $order_totals = $order_total_modules->pre_confirmation_check(); $order_totals = $order_total_modules->process(); $doPayPal = $this->paypal_init();
These changes are included in v1.3.8a and v1.3.9
.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donations always welcome: www.zen-cart.com/donate
Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.
Dr. Byte: Once again you saved the day. That worked fantastically!! Just so I understand what's going on incase I run into a something simillar in the future. The order total module is being included and processing the global order object and changing the total in order->info by applying discounts.?
Thanks again for the speedy and fantastic response :)
Yes, that's the fix.
.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donations always welcome: www.zen-cart.com/donate
Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.
fantastic Thanks again for all the great work :)
yep.. works great.. The support of this Cart is why i choose it. I love it. thanks.
This works a treat but doesn't seem to add the tax on for the (flat rate) shipping even though I've got tax configured (correctly, I believe) on shipping.... the order total shows correct in ZC (with tax included in the shipping amount) but when going through to Paypal the total is there without the tax on the shipping. I've got around this by changing my shipping to tax free and just changing the fee charged.
Is there a fix that will allow the tax to be configured correctly on the shipping and go through correctly to PayPal?
Cheers!
Bookmarks