encoded parentheses in html variables in paypal payment url - paypal

I found a problem using parentheses in a variable used to create a url to start a paypal payment ()paypal html payments
For the paypal field os2 the user enters
some text
and everything is ok.
If the user enters
some (text)
that is encoded to
some+%28text%29
and paypal redirects to the homepage.
Same behaviour on paypal sandbox.
This call works:
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_xclick&business=myid&lc=IT&item_name=my_payments&currency_code=EUR&button_subtype=services&no_note=1&no_shipping=1&on0=operazione&os0=altro&on1=tipo&os1=persona&on2=pagante&os2=some+text&on3=causale&os3=prova+paypal&option_select0=altro&option_amount0=0.01&return=http://my.return.url&rm=2&cbt=Back&cancel_return=http://my.cancel.url&custom=mysaleid
This doesn't work:
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_xclick&business=myid&lc=IT&item_name=my_payments&currency_code=EUR&button_subtype=services&no_note=1&no_shipping=1&on0=operazione&os0=altro&on1=tipo&os1=persona&on2=pagante&os2=some+%28text%29&on3=causale&os3=prova+paypal&option_select0=altro&option_amount0=0.01&return=http://my.return.url&rm=2&cbt=Back&cancel_return=http://my.cancel.url&custom=mysaleid
Am I doing something wrong or is it a paypal bug?
thank you
maxx

Related

Auto redirect Explanation

I'm configuring a paypal payment gateway in my website, at the moment a sandbox is configured and I'm using paypal standard. Everithing works fine except for some small thing I need to discuss with you:
after user (redirected to paypal site) make the payment is there a way to redirect automatically after the payment is done...I would avoid that user has to click the link: "return to xxx website". ( I have seen and used many websites that use to redirect to paypal but after payments is done the really automatically redirect to the website...without any additional click)
I have personalized the aspect of my page under paypal account (in sandbox mode) but when i test the payment the page is not personalized but show the standard one...so my question is personalized pages works under sandbox?
For paypal standard subscribe button is required an HTTPS protocol or they accept also normal urls?
1) If you are using PayPal Payments Standard (Buttons) then you will have the return to merchant at the checkout page, this is because the payment is complete at this point. What you are thinking when you are redirected back immediately is ExpressCheckout and the merchant can process the payment immediately or by user action.
2) Yes, personalized pages work in sandbox. You need to make sure it is set as primary
3) For PayPal Payments Standard you do not need HTTPS, as the payment is handled on the Paypal website.

PayPal Express Checkout - Redirect URL

I want to set up a recurring payment with PayPal.
But when I want to redirect the user to:
https://www.paypal.com/cgi?bin/webscr?cmd=_express-checkout&token=<value_returned_by_SetExpressCheckoutResponse>
I end up at the PayPal.com page, though the correct url is set.
What am I doing wrong?
Looks like there's an error in the PayPal documentation at Integrating Recurring Payments.
At 'Redirecting the Buyer to PayPal' there url is:
https://www.paypal.com/cgi?bin/webscr?cmd=_express-checkout&token=<value_returned_by_SetExpressCheckoutResponse>
When it should be:
https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=<value_returned_by_SetExpressCheckoutResponse>
Thanks to Jensen Ching for pointing this out.

Choosing which PayPal checkout form to use

We send people to PayPal to either donate or subscribe to our site.
We have guest access enabled, when you start a fresh session and navigate to our donate page and click the button, you get a nice 'guest' checkout page.
But, if you log in to PayPal and then logout again, you don't get this form on your next donate, you get the 'login' form.
I'd like to be able to force all users to the Guest form if possible. I know that there are a bunch of features not available to us lowly 'donate button' users (as opposed to Express Checkout and the like) but surely I could pass a param that forced the Guest form?
Answering my own question here.
Can you force PayPal Payments Standard API to show credit card fields first?
Is it possible to have PayPal standard expand the 'Guest Payments' tab by default?
Its all based on the PayPal cookie and there's nothing that allows you to override that.
EDIT This has been confirmed by PayPal support.
If there is a cookie, or if you provide an email like WooCommerce does by default PayPal will assume you have an account. See my answer in Paypal Payment Standard default enter card details

Paypal return to merchant link and form submission

I have an integration set up with paypal website payments pro in the UK. The integration is set up not to auto-return and PDT is turned off so the customer's payment confirmation is displayed on the paypal website. Thats' OK. My problem is the link on this confirmation page to go back to the merchant website (which just goes to the homepage - not an SSL URL) produces a warning in the browser that form data is being passed from a secure page to an non-secure page. Is there a way of turning off the passing of form data with this link? It's only going to the homepage so is not necessary, and the appearance of the warning will only worry customers.
Thanks,
Glynn.
There is not anyway to turn this warning off, the only option would be to have the return URL set up as https://.

PayPal checkout - credit card tab by default

Is there anyway to make that the part where you enter your credit card information is open by default, instead of the part where you enter your paypal information?
I really need this, but wasn`t able to find anywhere!
The only way to do that is with Express Checkout. In your SetExpressCheckout request you set SOLUTIONTYPE=Sole and LANDINGPAGE=Billing.
This will force the full credit card form to be displayed so people can enter a credit card without creating a PayPal account...
This can't be done with Payments Standard, unfortunately. "Guest Checkout" is available with Payments Standard, but it's all cookie based, so if any person on the computer being used has ever signed in to a PayPal account it will assume that's what they'll be doing in the future and it won't present the credit card option.
EDIT
This question came up again and I had more information to provide. Check it out.
for people reaching here from google and still cant manage to solve it , there are several key factors to this :
PayPal parameters: if you look at PayPal's API there are 3 relevant fields: LANDINGPAGE, USERSELECTEDFUNDINGSOURCE, SOLUTIONTYPE .
Not sending email parameter. change email parameter to '' (blank) . if you do send email parameter it will always open the login tab.
Cookies. no matter what you do , if the user have a PayPal cookie on his browser , the login tab will open by default (and the above parameters will be ignored) there is no solution for that (as far as I know) so make sure you check if it works with a cookie virgin browser.
For those of you working on the latest implementation of Express Checkouts, all you need to do to have the credit card tab open by default is add an extra &SHIPTOCOUNTRYCODE=US(or any country code for the matter as default) to the nvpstring before doing a SetExpressCheckout and it will begin working like a wonder.
Cheers :)