PayPal Custom payment pages no longer working - paypal

I have a checkout system that has been in place over 5 years. I have another checkout system been in place over 2 years. Both have not changed.
I can also confirm when I demo the custom payment pages through my account it all works.
However when people go through checkout on my site, when they see the new PayPal checkout system, there is no logo at the top and my business name is showing up in text at the top.
I have confirmed that the logo works fine and is hosted on HTTPS.
I contacted PayPal business support and this is the response I got:
Hi **** Unfortunately, this is the intended behavior. New layout did
not support page style parameter. I apologise for the inconvenience
caused. Sincerely, Anis Merchant Technical Support PayPal
Can anyone else confirm that PayPal is fazing out custom payment pages? I think this guy is drinking kool aid and like most bad support individuals is providing me incorrect information. However I have been unable to get this idiot to escalate it and get me a real answer.
Especially since I've seen other checkout pages work with a logo at the top.
Any assistance would be appreciated.

Yes, looks like page_style currently does not work in the new checkout page. As a work-around you can use image_url parameter to set your image logo in the checkout page.

PayPal deprecated the page_style variable in September 2016, as well as the cpp_logo_image. The full list of deprecated variables is available here: https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/#deprecated-variables
As user Vimalnath mentionned, you can (still) use the image_url parameter:
<input type="hidden" name="image_url" value="https://example.com/myImage.png" />
The recommended dimensions of images changed. Whilst the maximal size for image_url was 750 x 90 as a banner, the recommended size is (in February 2018) : 150 x 50 px. PayPal now consider the image_url as a logo to display in the upper left corner.
I can see that a banner of 750 x 90 is still working on the payment page and will display as a header. Maybe with a smaller logo would PayPal use another layout. I also have not test yet how does a large banner display after the payment was done.

Related

"Create Paypal button" interface

When I try to create / modify a "Paypal button", I always arrive on a page that:
Looks the same as 10 years ago
Recommends to use "Internet Explorer 7 (!), Firefox 3 or Safari 4" for best results
In this button creation page, I cannot find how to choose the style among the "Custom payment page styles" created in this page: https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-page-styles. What is this page useful for, then, if we cannot use them when creating a button?
Did I miss a new interface somewhere (URL?) for button creation or is this very old interface still up to date?
The button creation page, which you are seeing is valid and it still appears the same.
However, the customization of the checkout page is no longer available through the Custom Payment pages( This feature is deprecated).
You may still add a logo, but that has to be done through coding. You will need to add the variable "image_url" with the value of the logo URL. For Express Checkout payments, you may use LOGOIMG .
For more details, kindly refer to this link: https://developer.paypal.com/docs/classic/admin/checkout-settings/#customizing-paypal-checkout-pages.

Created a custom styled PayPal checkout button on Shopify, but I was previously told this wasn't possible

As the subject states, I created a PayPal Checkout button by simply adding the HTML code for the button and modified the text and remove the PayPal logo image.
Normally the code below would be used to generate the button, which of course is limiting:
{{ content_for_additional_checkout_buttons }}
However, I have instead added this HTML in its stead:
<div class="paypal-checkout-button">
<button name="goto_pp" type="submit" id="paypal-express-button" class="additional-checkout-button additional-checkout-button--paypal-express" value="paypal_express">
CHECKOUT WITH PAYPAL
</button>
</div>
The button's functionality is perfectly fine; I even processed a test payment through it. A developer friend of mine told me it wasn't possible without some hacky solution; however, the simple HTML snippet above seems to be a perfect solution to customizing the PayPal button on the cart / product page.
Am I missing anything? Or is this perfectly fine to do?
Appreciate any you can provide on the matter.
It's not the button on the cart that Shopify people have issues/problems with.
It's the button on the checkout and that can't be modified (without a lot of hassle) unless the store owner has a Plus account. That is almost certainly what your developer friend is talking about.
Not to mention, of course, that changing the appearance of the button or forcing it not to appear before the Shopify checkout process is a violation of the PayPal express user agreement.

PayPal HTML buttons broken for large shopping carts on new PayPal checkout

Been battling for weeks with a PayPal Payment Standard FORM problem.
We have been running the same code for many years but noticed our larger invoices (with over 20 items) on them were hitting a white screen of death recently when submitting to PayPal. Testing in the Sandbox worked just fine as before.
After searching everywhere I couldn't find anyone else with this exact problem but noticed if we took the invoice down from say 60 items to 7 items then the invoices seemed to go thru ok. Seems to be a POST buffer problem at PayPals end?
The problem we found was that there is a 502 redirection problem from https://www.paypal.com/cgi-bin/webscr to the new checkout which has /hermes or similar within the URL.
The answer I found was to force the use of the old checkout system at all times using
<input type="hidden" name="force_sa" value="true">
Here is a very simple example with 66 items
http://www.whatsanip.com/paypal_bad.html
this will hit the WSOD as it is trying to use the new checkout and seems to hit a 502 error when redirecting
BUT
add
<input type="hidden" name="force_sa" value="true">
to the input and we will be sent to the old checkout system which works just great. See same URL as above but swap in _good.html to see the good version that sticks to the old checkout page (i wasnt allowed to add more than 2 links)
Another quirk is that my text editor (Ultraedit) has an in built browser for testing, if submitting from this then it will go thru ok to the old checkout (i think ultraedit is using an old IE implentation).
Any PayPal employees here? Should I submit a bug? If anyone can get _bad.html to work I would be very interested as many hours have been spent investigating this.

titanium paypal module not working properly

I have horrible experience with titanium paypal module (ti.paypal). After I click the "pay with PayPal" yellow button. A paypal form popup but screen size is too small and it scrawls. I want that popup to fill entire screen. In short how to set size for it. Please see below image
http://imgur.com/XBc31Fh
My code
var payPal = require('paypal');
var button = payPal.addButtonToWindow(project);
$.paymentInfo.add(button);
Where project is an object with price , and order number.
Please help me how to fill the size of paypal form that covers my screen.
Please check if your issue is already on JIRA and watch it there to help us prioritise:
https://jira.appcelerator.org/issues/?jql=project%20%3D%20MOD%20AND%20component%20%3D%20Paypal
If not, please create a JIRA ticket in the AC project.

What is the standard Woocommerce Return URL for Paypal?

I noticed that when I order on my woocommerce site with Paypal that I'm not returned automatically to the website. I found where to set this option on my Paypal profile, but I have to enter a return URL. Is there a standard return URL?
RETURN URL would be >>>> yoursite.com/checkout/order-received/
You can read up more about the settings from this page.
http://wphow.org/setup-paypal-to-accept-credit-cards/
It should be: YourDomain/checkout/order-received/
You can find all the information with the latest update on this link:
How to set PayPal with Woo-commerce + Return URL
I had the same question and this solved my issue.
And Also to make it easy without following the link you need to follow this steps:
You can set up auto-return in your PayPal account, which will take customers to a receipt page. For example, use the following URL and replace YourDomain with your own URL:
YourDomain/checkout/order-received/
Add ?utm_nooverride=1 to the end of your URL to ensure that transactions (i.e., conversions) are credited to the original traffic source, rather than PayPal.
So the full link should look like something like this:
YourDomain/checkout/order-received/?utm_nooverride=1
Now,
1-Go to your PayPal account >> Profile Tab >> Account Setting >> My selling tools >> Website preferences and Click update on the right side.
2-You will find Return URL: text field you need to updated it with the link above.
Image attached.
I hope this will help
/wp-content/plugins/woocommerce/classes/gateways/paypal/class-wc-gateway-paypal.php is where the PayPal Standard request is dynamically generated. Within that it's making a call to get_return_url() to generate the return URL.
So, it's being dynamically generated based on order data and SSL settings on the site. It's basing it off your "thanks" page, though, so you could just set the Auto-Return setting in your PayPal profile to whatever that URL is as a basic setting. The return URL getting included in the payment requests should override that anyway.
In WordPress > WooCommerce > settings > Checkout > PayPal
Uncheck or turn off the "Use form submission method" option. With the option disabled this all works fine.
On a French install of WordPress/WooCommerce, the checkout page is named "commande".
Also, one can change the WooCommerce checkout endpoints (https://docs.woocommerce.com/document/woocommerce-endpoints-2-1/).
Maybe a more generic answer to this URL question would be
YourDomain/YourCheckoutPageName/YourWooCommerceCheckoutEndpoint/?utm_nooverride=1
(The utm_nooverride part is described in Tariq Ahmed's answer.)
The default YourDomain/checkout/order-received/?utm_nooverride=1 could for instance be YourDomain/commande/commande-recue/?utm_nooverride=1.
I think. :)