Bad shipping options provided by Paypal checkout - php

I am having an issue with paypal express checkout integration in Magento. Customers who click "checkout with paypal" in our cart get taken to a paypal login page. After they login to paypal, paypal sends a calback to magento with their address to pull shipping options.
For some reason, paypal is receiving weird shipping options from magento in addition to the regular methods. They have names like "no rate" and are listed as costing $0.00.
I can't find any information on where paypal gets shipping methods from or how to limit them. I am working with paypal support, but the issue seems to be with magento.
Does anyone know where these shipping methods might come from and/or how to limit the shipping methods offered by paypal?
update
Paypal support has confirmed that this is a magento issue. Magento is passing the following bad options to them:
shippingoptionamount "0.00" "8.95" "23.32" "35.28" "73.91" "0.00"
shippingoptionname "customshippingrate_customshippingrate" "flatrate_flatrate" "fedex_GROUND_HOME_DELIVERY" "fedex_FEDEX_2_DAY" "fedex_PRIORITY_OVERNIGHT" "no_rate"
I have been trying to identify exactly where Magento pulls its shipping method list from, but so far it still eludes me.

I was going to add this as a comment but to make sure it stays (and gets noticed), I've answered this problem on the Magento Stack here with a module to fix it;
https://magento.stackexchange.com/questions/6945/paypal-express-shipping-methods/50290#50290

Related

Paypal Pro not showing shipping methods in magento

I am using paypal pro express checkout in magento 1.6 when I try to paypal pro express checkout from cart or product page its redirect to paypal page but there is no shipping option showing in paypal page for select shipping method.
Here is image from product page
Here is paypal page image
From image you can also get more idea
Any one know how to do it ?.
Yes it is correct. Paypal pro express checkout work similar. When User Click on Pay now Button. User will again redirect on Site, On Paypal Express Order Review Page.
Where user will have the option to sleecte applicable shipping method and click on Place Order button to place order finally.
The answer from Pankaj Pareek is absolutely correct. This is the checkout flow on Magento for Paypal Express. Note that your question title is misleading, whether you are using Paypal Payments Pro or Paypal Standard is irrelevant - when the user clicks the button from the cart or product page they are using Paypal Express to check out.
Magento's default Paypal Express checkout flow is dire - it actually takes longer to check out this way than a normal checkout as there's a ludicrous review step. You should note that even though you are using 1.6 it has not improved in the intervening 4.5 years despite them being bought by ebay.
Basically it's a backend config option to pass the shipping methods across.
However there is a bug which means its the id that gets shown in Paypal, not the label. It looks awful in Paypal. I stuck a module to fix it up in this answer;
https://magento.stackexchange.com/questions/6945/paypal-express-shipping-methods/#answer-50290
And other than this small problem the communication on shipping between Paypal and Magento works really well. User updates the address and the shipping options update etc.
You can further improve this flow by removing the review stage altogether in Magento. That is a bit harder, there are modules you can buy that help. It all massively improves conversion rates, it is well worth doing.

Magento + PayPal express - user comes back without shipping method

I have a Magento website with the PayPal express payment option. I'm trying to skip the review page when my costumers pay with PayPal. As was mentioned in a former thread (Magento: easy way to remove "paypal/express/review" step), this can be easily achieved by writing an extension that changes a few line in the controller, and this behavior is actually built into v1.9.
However, these solutions didn't work for me. The built-in option apparently did nothing, and the review page was still there. The workarounds proposed in the former thread caused an infinite loop between the actions "placeOrder" and "review".
After a long time, I have now found out that when the user comes back from PayPal, the system doesn't recognize the shipping method selected in the PayPal checkout screen, and accordingly sends the user back to the review page to select a shipping method.
Has anyone ever encountered that or have any solution in mind? I am using Magento 1.9.1.0, and PayPal express is in sandbox mode.

Does Paypal API has got any updates regarding NOSHIPPING issues? I am unable to unset shipping info prompts at paypals

I just wanted to know if it is possible using paypal REST api that we can disable the shipping information form on paypal site. I am currently working on a site to implement cart checkouts, For fist time, I found paypal saying "We dont allow US merchants to make shippings to countries outside US". So I started saving our shipping data to my own database and left paypal to process shipping amount (which is calculated on my end) only. now, issue is that I want paypal to not to ask for the shipping address at their's end as it would be confusing for a user. Any suggestions regarding this?
I'm not sure you can do that unless you flag all your products as digital (and hope Paypal doesn't notice). That might be a violation of their TOS, however.
Another option is to use Payments Pro and do your own checkout process, where you control what data is collected and passed along (and shipping data is definitely optional).

Magento - PayPal not redirecting to mobile site

On my Magento store I have a problem with PayPal. Magento is not redirecting PayPal payments to the mobile PayPal template if the customer is using a mobile phone or tablet. I contacted PayPal and they let me know that the variable "discount_amount_cart" should be removed in order to redirect customers to the mobile PayPal site.
I'm using the standard, built-in PayPal Website Payments Standard payment method. I searched the internet, but I can't find out what the consequences are when I remove that variable, and how I can do that.
Do you have any idea?
Thank you.
The only place this variable seems to be set is in this method: Mage_Paypal_Model_Api_Standard::getStandardCheckoutRequest(). In my opinion the discount should not be related to the mobile page, but you can try to remove it anyway.
discount_amount_cart is a optional field:
Single discount amount charged cart-wide.
It must be less than the selling price of all items combined in the cart. This variable >overrides any individual item discount_amount_x values, if present.
Applies only to the Cart Upload command.
-- PayPal - HTML Variables for Shopping Carts
I've got an answer back from PayPal: Unfortunately, there is no workaround for this currently. You cannot use the discount parameter and still use the mobile optimized checkout.
Bummer! We have to use the default website. Thank you, Simon H, for your help!

PayPal, Payflow Pro

Here is the complete situation:
Site running with Express checkout and normal checkout of PayPal
Now if the customer orders with PayPal in a normal way. Means first take login (if not) gives your full information for shipping etc, and then go to PayPal site to pay and complete your order.
Is it possible to do a reference transaction of that order using Payflow Pro (keep in mind I complete the order using PayPal)? Or do we have to use another way?

Categories