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.55k stars 9.32k forks source link

PayPal Express does not allow changing billing address #31923

Closed chequille closed 2 months ago

chequille commented 3 years ago

Preconditions (*)

  1. Magento 2.4.1
  2. h3. Steps to reproduce (*)
  3. Reproducing is easy, just enable PayPal as Payment and try to make an order.
  4. When selecintg PayPal as payment, there it is not possible to change the billing address as it is with other payment methods.

Expected result (*)

  1. Checkbox with billing address = shipping address should be there to be able to change the billing address
  2. WIthin payment method "Paypal with billing agreements" the checkbox is there and I can change the biling address
  3. grafik
  4. This must be as well with normal Paypal Express payment

Actual result (*)

  1. grafik

  2. Checkbox to change billing address is not there

Please provide Severity assessment for the Issue as Reporter. This information will help during Confirmation and Issue triage processes.

m2-assistant[bot] commented 3 years ago

Hi @chequille. Thank you for your report. To help us process this issue please make sure that you provided the following information:

Please make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, please, add a comment to the issue:

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

For more details, please, review the Magento Contributor Assistant documentation.

Please, add a comment to assign the issue: @magento I am working on this


: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, please join the Community Contributions Triage session to discuss the appropriate ticket.

:movie_camera: You can find the recording of the previous Community Contributions Triage on the Magento Youtube Channel

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

chequille commented 3 years ago

Additional information: I have this in my paypal-express.html:

        <div class="payment-method-billing-address">
            <!-- ko foreach: $parent.getRegion(getBillingAddressFormName()) -->
            <!-- ko template: getTemplate() --><!-- /ko -->
            <!--/ko-->
        </div>

But it is not rendered. Please check this and make it working. It is a mandatory feature!!!!!

m2-assistant[bot] commented 3 years ago

Hi @ajijshekh123. 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:

ajijshekh123 commented 3 years ago

@magento give me 2.4-develop instance

magento-deployment-service[bot] commented 3 years ago

Hi @ajijshekh123. Thank you for your request. I'm working on Magento instance for you.

magento-deployment-service[bot] commented 3 years ago

Hi @ajijshekh123, here is your Magento Instance: https://40a7a6312bb4ab210bc6851d69c34f87-2-4-develop.instances.magento-community.engineering Admin access: https://40a7a6312bb4ab210bc6851d69c34f87-2-4-develop.instances.magento-community.engineering/admin_0de4 Login: aa76acf8 Password: a24a99403205

ajijshekh123 commented 3 years ago

Hello @chequille, The issue has been reproduced on the latest Magento 2.4 Instance. "My billing and shipping address are the same" options are not showing while the user selects the "PayPal Express Checkout" Payment method. But When the user selects the other payment method like "Check Money Order", "My billing and shipping address are the same" options are properly showing.

See attached both screenshots:

image

image

Thanks.

magento-engcom-team commented 3 years ago

:white_check_mark: Confirmed by @ajijshekh123 Thank you for verifying the issue. Based on the provided information internal tickets MC-40707 were created

Issue Available: @ajijshekh123, You will be automatically unassigned. Contributors/Maintainers can claim this issue to continue. To reclaim and continue work, reassign the ticket to yourself.

chequille commented 3 years ago

Solution: adding the following code to paypal-express.html in modul-paypal/view/frontend/web/template/payment

        <div class="payment-method-billing-address">
            <!-- ko foreach: $parent.getRegion(getBillingAddressFormName()) -->
            <!-- ko template: getTemplate() --><!-- /ko -->
            <!--/ko-->
        </div>

and set in modul-paypal/view/frontend/layout/checkout_index_index.xml

              <item name="paypal_express" xsi:type="array">
                      <item name="isBillingAddressRequired" xsi:type="boolean">true</item>
              </item>

After thhis it looks like: grafik

mrtuvn commented 3 years ago

Default this value set to false from core but you can re-define it in your theme or your custom module via layout xml! Not sure this is bug or feature :) https://github.com/magento/magento2/blob/2.4-develop/app/code/Magento/Paypal/view/frontend/layout/checkout_index_index.xml#L48

zakdma commented 3 years ago

@magento i am working on it

alexgubarev commented 2 years ago

@magento give me 2.4-develop instance

magento-deployment-service[bot] commented 2 years ago

Hi @alexgubarev. Thank you for your request. I'm working on Magento instance for you.

magento-deployment-service[bot] commented 2 years ago

Hi @alexgubarev, here is your Magento Instance: https://40a7a6312bb4ab210bc6851d69c34f87-2-4-develop.instances.magento-community.engineering Admin access: https://40a7a6312bb4ab210bc6851d69c34f87-2-4-develop.instances.magento-community.engineering/admin_5971 Login: 8ddcf353 Password: 54c343b53823

thinksys-dev commented 2 years ago

Hi Team,

Do you have any fix or patch for this, please let us know about this. Thanks

perryholden commented 8 months ago

Default this value set to false from core but you can re-define it in your theme or your custom module via layout xml! Not sure this is bug or feature :) https://github.com/magento/magento2/blob/2.4-develop/app/code/Magento/Paypal/view/frontend/layout/checkout_index_index.xml#L48

I believe it's set to false intentionally, since it assumes it will get the billing address from PayPal. See the JS file: vendor/paypal/module-braintree-core/view/frontend/web/js/view/payment/method-renderer/paypal.js and the method beforePlaceOrder. The payload is returned from PayPal, and it contains the billing address that will ultimately be set on the quote:

devtools

engcom-Delta commented 2 months ago

Hi @chequille ,

Thank you for reporting and collaboration. Verified the issue on Magento 2.4-develop and it is an expected behaviour. Kindly refer the screenshots.

Steps to reproduce

  1. Install magento 2.4-develop
  2. Enable PayPal Express image
  3. Add item to cart and navigate to checkout
  4. Select the payment method as PayPal and observe option to change billing address is not available and it is an expected behavior. image

Kindly recheck the issue on latest Magento 2.4-develop instance and Please let us know if you are still facing any issue.

Thanks.