babyewok Posted January 25, 2016 Share Posted January 25, 2016 (edited) OK, so. if we put aside the fact that I have a shipping module installed to calculate custom shipping rules....... The CORRECT postage is sent to PayPal and is seen on the PayPal payment pages. But after you pay and are redirected back to the webiste, the success page is showing an incorrect total. The order in the back office shows the correct total and shipping. However, the sandbox buyer notification email shows the wrong shipping and the PayPal payment is split in the back office (the second amount is not included on the total shown on the sandbox notification, implying the extra amount was not taken). As I said, put aside the fact the site uses a custom shipping module for a moment (I have someone looking into possible bugs with that) - I need someone to help me see the logic here - why would PayPal apparently show the correct amount on the payment page on the paypal website, but then charging the wrong amount? At what point is the error ocurring? I am having trouble seeing how it can be the shipping module if it has "done it's job" and sent the correct amount to PayPal?! Totally baffled! Edited January 25, 2016 by babyewok (see edit history) Link to comment Share on other sites More sharing options...
babyewok Posted January 26, 2016 Author Share Posted January 26, 2016 Well we have (sort of) found the issue! We were using PayPal standard payments and the parameters were sending the total shipping as PAYMENTREQUEST_0_SHIPPINGAMT For some reason, this is not working with Standard Payments. We switched to express payments and the amoutn was taken correctly. I woudl rather not use express payments though as I do not like the extra button on the checkout page and I also do not like the fact that teh usre has to confirm payment on returning to the website. I do not really understand the PayPal process enough to know why standard shipping is not accepting the shippingamt parameter? Can it be modified to use it? Link to comment Share on other sites More sharing options...
babyewok Posted January 26, 2016 Author Share Posted January 26, 2016 OK, I am getting closer here! I have discovered that when payment all goes thorugh fine, SetExpressCheckout AND DoExpressCheckoutPayment both show the same for PAYMENTREQUEST_0_SHIPPINGAMT. When I place an order for which teh payment gets split as my original post, the SetExpressCheckout shows PAYMENTREQUEST_0_SHIPPINGAMT=38.95 but the DoExpressCheckoutPayment shows PAYMENTREQUEST_0_SHIPPINGAMT=30.95 !! THIS is why PayPal is showing one shipping amount, but actually processing a different one. Can anyone please shed any light on what might be causing the two values to be different? Surely the PayPal module is obtaining the figure from the same place? Link to comment Share on other sites More sharing options...
babyewok Posted January 27, 2016 Author Share Posted January 27, 2016 The developer I have working on this insists that the only solution is to use express checkout and edit the PayPal module to prevent the last confirmation page. I am not convinced this is the correct solution as I believe he should be fixing the issue above. Can anyone offer any advice? Link to comment Share on other sites More sharing options...
babyewok Posted January 28, 2016 Author Share Posted January 28, 2016 Impatiently waiting while I have someonme working (painfully slowly) on this. They still can't figure out what is going on so if anyone can gove me some info to point them in the right direction, I'd be so grateful! The module developer said this when I asked him to explain how the shipping info is sent to paypel: "our module does not modify de paypal process. The freeshipping.php file, saves in cache the products that have a "special shipping" configured in the module.Then the Cart.php file in overrid, changes the shipping amount calculation, by removing this products from then shipping amount calculations, and adding the special shipping amount (if not set to be free) stored in cache. So the total amount returned by the function is the calculated for the "normal" products, and the "calculated " from out modue." So the details are stored in cache, but why does the PayPal module collect something different fot the DoExpressCheckoutPayment mehthod? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now