magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.47k stars 9.28k forks source link

Missing Shopping Options on PayPal Express #36068

Open mklooss opened 2 years ago

mklooss commented 2 years ago

Preconditions and environment

Steps to reproduce

  1. Store Prices Incl Tax. ( Config Path: tax/calculation/price_includes_tax , value = 1 )
  2. Add an Product to Shopping Cart and go direct to "PayPal Express Checkout" (not the Magento2 Checkout)
  3. Landing on the PayPal Page Subtotal (Example is: 4.99 €) - this is the only value visible on Express Checkout (Authorize Amount is: 4.99 €)
  4. Next Step your on the Paypal Express Page at your Magento2 Store. select shipping. Subtotal is 4.99 € - Grandtotal is 11.89 € (Shipping Costs: 6.90 €) - remembering all Prices incl Tax.
  5. The Order will be Canceled by PayPal because of the wrong Authorize Amount of 4.99 €, but it should - 11.89 €

Expected result

An Select Box on the PayPal Payming Page

Actual result

Missing Shipping Costs on the PayPal Payment Page.

Additional information

Sameticket: #35877 More Information (Overcharge): https://www.paypal.com/us/smarthelp/article/FAQ4645

Release note

No response

Triage and priority

m2-assistant[bot] commented 2 years ago

Hi @mklooss. Thank you for your report. To speed up processing of this issue, make sure that you provided the following information:

Make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, Add a comment to the issue:

@magento give me 2.4-develop instance - upcoming 2.4.x release

For more details, review the Magento Contributor Assistant documentation.

Add a comment to assign the issue: @magento I am working on this

To learn more about issue processing workflow, refer to the Code Contributions.


:clock10: You can find the schedule on the Magento Community Calendar page.

:telephone_receiver: The triage of issues happens in the queue order. If you want to speed up the delivery of your contribution, join the Community Contributions Triage session to discuss the appropriate ticket.

:pencil2: Feel free to post questions/proposals/feedback related to the Community Contributions Triage process to the corresponding Slack Channel

mklooss commented 2 years ago

Actual Result: image image

Expected Result: (This is the correct view, but with wrong prices) Changing: tax/calculation/price_includes_tax to 0 (Excl. Tax) image image

https://github.com/magento/magento2/blob/caf390a9cde8ef2eaa7287492a5ab01e7ef15670/app/code/Magento/Paypal/Model/Express/Checkout.php#L560-L562

m2-assistant[bot] commented 1 year ago

Hi @engcom-November. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:

engcom-November commented 1 year ago

Hi @mklooss , Thank you for reporting and collaboration. Verified the issue on both Magento 2.4-develop and 2.4.5 instances but the issue is not reproducible. We are able to submit order with PayPal Express checkout when calculation settings set to - Catalog Prices - including Tax in both USD and EURO currency. image image Can you please check on 2.4-develop instance and elaborate steps / tax configuration details, tax rules used to reproduce if you are still facing issues. Thank you.

mklooss commented 1 year ago

@engcom-November you should use the express Button direct from an Product or from the cart, so paypal did not know about the shipping costs.

engcom-November commented 1 year ago

Hi @mklooss , Thank you for the response. Verified the behavior again on Magento 2.4-develop instance with below 2 scenarios. Please find the observations below: Scenario 1# Payment with PayPal Express Checkout from Checkout payment page. Behavior: Total Grand Total including taxes and shipping costs displayed on PayPal page image

Scenario 2# Payment with PayPal button from Product Details page Behavior: No amount is displayed on PayPal page but however user is redirected to Order Review step after proceeding further and prompted to select shipping method and place order. This is an existing behavior of Magento since the shipping method is not selected, amount is not displayed on paypal page which seems to be an expected behavior but not bug. image image image Please check the behavior on 2.4-develop instance as it is having latest code base and provide your inputs on this. Thank you.

mklooss commented 1 year ago

@engcom-November

Scenario 2# Payment with PayPal button from Product Details page Behavior: No amount is displayed on PayPal page but however user is redirected to Order Review step after proceeding further and prompted to select shipping method and place order. This is an existing behavior of Magento since the shipping method is not selected, amount is not displayed on paypal page which seems to be an expected behavior but not bug.

exactly and this is now an issue, for PaypalAccountes based in EU.

engcom-November commented 1 year ago

Thank you for the response @mklooss. Since it's unclear in the Magento documentation about the expected behavior on paypal login page about which amount to display if shipping method is unselected, we are considering this as feature request. Thank you.

bitumin commented 1 year ago

Hi @mklooss is there any reason why Magento paypal does not allow to send line item+shipping info to paypal (once user initiates paypal express payment from product page/minicart) ? I am seriously considering to send that info even if prices include tax, since I suspect it will prevent 10486 paypal errors related to paypal not knowing in advance the shipping rate.

As far as I can see, according to some comments from https://github.com/magento/magento2/commit/45d86d5d1ff7eda20e7a874bf0701bf49eb8c31d to not send the item+shipping info might have been done to prevent issues related to rounding amounts.