amzn / amazon-payments-magento-2-plugin

Extension to enable Amazon Pay on Magento 2
https://amzn.github.io/amazon-payments-magento-2-plugin/
Apache License 2.0
109 stars 77 forks source link

Restrict allowed countries #1214

Open p24-max opened 1 year ago

p24-max commented 1 year ago

What I expected

Me as a merchant would only like to offer amazon pay for specific shipping countries.

What happened instead

Currently AmazonPay is available for all magento enabled countries.

Steps to reproduce the issue

Your setup

sgabhart22 commented 1 year ago

Hello @p24-max ,

I think the configuration you're requesting could work perfectly well for the Pay Now flow (Amazon Pay as a payment method at last step of checkout), but may be a little clunky to implement for Express Checkout (AP button in cart/minicart/PDP/first step of checkout); we couldn't know the shipping address that the customer intends to use until they authenticate through Amazon, and their selected shipping address is returned to the Magento store. In the Pay Now flow, the customer has already entered their shipping address, so we could simply hide Amazon Pay as a payment method if the 'ship to' country is defined as restricted for AP.

If you have multiple store views corresponding to different countries, you could potentially disable Amazon Pay for the view(s) where you don't want to allow it. But I get the sense your problem is slightly more complex than that. Not sure how common it is for a customer wanting to ship to Italy to be browsing in the German store view (for example).

Thanks, Spencer

p24-max commented 1 year ago

Hi @sgabhart22 , exactly. I have a single-store-view and ship to various countries from my .de Store. For some countries, I only offer prepayment (due to the need of manual shipping cost calculation). I can configure this for all the payment methods, except AmazonPay which is not offering such a configuration. Example of PayPal:

Bildschirmfoto 2023-10-20 um 09 40 09

sgabhart22 commented 1 year ago

Thanks for the info @p24-max . I did a little testing with the PayPal module on a local installation and was able to see the behavior you're looking for. The user experience is less than ideal (in my opinion), since the buyer has to go through the motions of authenticating through the payment provider, selecting an address and payment instrument, and selecting a shipping method all before being told the payment method is unavailable for the selected country. But, I suppose that can't be helped with this type of checkout flow. Perhaps some sort of messaging in the minicart/cart area to indicate that certain payment methods are only available in certain countries could mitigate some frustrations.

Nonetheless, I think this is a feature that should be discussed with our partners at Amazon to see if there's interest in implementing it for the Magento module. Thanks again for calling it out and providing the explanations!

Spencer