Paypal ExpressCheckout API behavior changed recently - paypal

In an existing implementation of Paypal Express Checkout API, we had the landing page set to a credit card entry page by setting the flags:
SOLUTIONTYPE=Sole,
LANDINGPAGE=Billing,
and everything worked the way we wanted.
As of today, this is not longer working. If the customer has a paypal account cookie set, they get this login with no way bypass the "paypal login" and enter a credit card directly
If they don't have a paypal cookie set, then they are at least given a "guest checkout" option:
the complaints we get are that customers can't remember their login credentials, and dont' want to go through the lost password procedure. They just want to give us money, and we just want to take it.
Is there anyway to give them a Guest Checkout option, even if they have a paypal cookie set?

Along with the new landing pages they also introduced a new parameter.
USERSELECTEDFUNDINGSOURCE
(Optional) This element could be used to specify the preferred funding
option for a guest user. However, the LANDINGPAGE element must also be
set to Billing. Otherwise, it is ignored.
BML – Bill Me Later
ChinaUnionPay
CreditCard
ELV
So keep your current parameters the way they are and add this new parameter to SetExpressCheckout set to CreditCard and you should get the old flow like you're wanting.
You also need to make sure you're using API Version 109.0 or higher because this new parameter was introduced in version 109.0.

<input type="hidden" name="landing_page" value="Billing">
This works as of Sep 2016
Nulla vitae elit libero, a pharetra augue.

Related

PayPal payments: Default to 'Pay with Credit Card' instead of loggin in with a PayPal Account

I have seen this done before so I know it's possible - when you redirect to a PayPal checkout from your site, paypal presents you with 2 options to make a payment. One is "Login with PayPal Account" and the other one is something like "Don't have a PayPal account? Pay with Credit/Debit Card". By default the second option is collapsed, but I've seen sites where it's uncollapsed by default. How can I achieve this effect?
NB - previous posts suggested that it's done by cookies, and if PayPal detects that you have a PayPal account it will display the first option (login with PayPal). However I've seen other sites that display the 'Credit/Debit' card option uncollapsed even if you've got a paypal account. Do they clear the cookies somehow before redirecting you to PayPal?
Thanks
just add :)
<input type="hidden" name="landing_page" value="billing">
You are redirected to billing page...
You can not set the credit card option to show by default if you are using Website Payments Standard. This is set by cookies. However, if you are using Express Checkout you can set the credit card section to show by default. This is most likely what you have seen on other sites. If you are using Express Checkout, and want to set this all you need to do is passing over the following 2 variables and values in your SetExpressCheckout API call.
SOLUTIONTYPE=Sole
LANDINGPAGE=Billing
You also need to make sure you have PayPal account optional turned on in your PayPal account. This is section is found in your profile.
A little bit late with this one but i recently had the same issue using Express Checkout JS
Managed to resolve this by adding the following to the js object
experience: {
flow_config: {
landing_page_type: "billing",
}
}
I came across from various sites regarding the same ask while I have workaround to achieve this for the time being. :) But your finding resolved my issue, that's cookies cause after I have my workaround applied.
The workaround to default the Paypal payment to Credit/Debit card option is to add the variables on your button such as country=COUNTRY_VALUE or any other variables you would think customer is fine to have it defaulted. Variables page https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/#id08A6HI0J0VU
Hope it helps you. :)

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 :)

PayPal won't automatically redirect to my site after payment complete

For some reason PayPal won't redirect to my site after a payment is confirmed.
I have set auto return and set a valid url.
I have set a hidden param of return to the same url.
It just shows me a payment complete page with a link back to my site (the same url as above). If i click this then it takes me back to my site - hence I know the url is valid.
I just want this to happen automatically, which is what is supposed to happen if I set these options is it not?
Why is paypal so cumbersome? Or am I missing the blindingly obvious?
I'm using paypal standard with a business account.
Go to profile website preference page and turn on the auto return option.
Edit:
In addition to the answer posted above, to turn on the auto return option, follow the below links:
Click on Profile underneath the My Account Tab
Click on My Selling Tools on the left hand side
Select the update option next to
Website preferencesReturn customers to my website after they pay with PayPal.
Locate the option to turn on Auto Return and proceed accordingly.
N.B. Over the past weeks trying to implement PayPal, I have come to understand that Paypal have a very confusing website and documentation and very often you may find contradicting things. So please note that the set of links above may change at a moment's notice. - DottoreM
From #AlexSchimp's comment above:
If the user pays with a credit or debit card, and doesn't log into PayPal it won't work. It only works if the user logs into their PayPal account.
The "Website payment preference" auto return URL functionality will only work for the payments processed via "WPS (Website Payments Standard)" i,e PayPal HTML button integration payments.
<input type="hidden" name="return" value="http://example.com/returnurl" />
OR
Check this URL:
https://www.paypal.com/in/cgi-bin/webscr?cmd=p/mer/express_return_summary-outside.
I hope it will work for you.
Thanks
Poonam (http://www.web-technology-experts-notes.in)

Getting Paypal to do an immediate redirect?

When the PayPal transaction is complete, PayPal shows this:
Thanks for your order
Your payment of $XXXX.XX USD is complete.
You're now going back to MYSITE.
If you are not redirected within 10 seconds, click here.
I don't want the client to even see this page. Is there any way to either avoid it completely, or set the redirect time to 0?
You will also need a Website Payments Pro subscription for that.
https://www.paypal.com/webapps/mpp/website-payments-pro
Once you have it, get the API signature, API username & API password from the My Profile area of your paypal account.
Then, use the Direct Payment method as described in the following manual
https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_WPP_IntegrationGuide.pdf
As mentioned by Watermark, you might need to review PCI requirements and at least have SSL on your site before you can do this.
Check out https://developer.paypal.com/. You can build your own interface using PayPal's API. The user will never know that PayPal handled the transaction.
Be sure to review PCI-DSS requirements when using this approach.
What you ask is achievable with PayPal Payments Standard, but the seller account receiving the payment needs to be a PayPal Business/Premier account (a free upgrade), and they need to enable Auto Return and provide a Return URL in their PayPal account > Profile > Profile & Settings > My Selling Tools > Website Preferences.
You can also pass a return URL variable to checkout for each order, which would override any Return URL (or lack thereof) in the seller's PayPal account profile; however, if Auto Return is not also enabled in the seller's account, the buyer would need to click past the end of checkout manually in order to be redirected to that URL.

Can you force PayPal Payments Standard API to show credit card fields first?

I'm using PayPal Website Payments Standard. Whenever the user lands on PayPal with the variables I sent, it shows a PayPal Login form and at the bottom it shows "Don't have a PayPal account? Use your credit card or bank account (where available)."
I want it to default to always ask for credit card and maybe say "Have PayPal? Use that!". Any ideas?
I've struggled with this question and found the answer following Roberts comment about using LANDINGPAGE=Billing in the ExpressCheckout API.
From the page:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_SetExpressCheckout
LANDINGPAGE:Type of PayPal page to display.
It is one of the following values:
Billing – Non-PayPal account
Login – PayPal account login
Additionally see:
SOLUTIONTYPE: Type of checkout flow. It is one of the following values:
Sole – Buyer does not need to create a PayPal account to check out. This is referred to as PayPal Account Optional.
Mark – Buyer must have a PayPal account to check out.
NOTE:You can pass Mark to selectively override the PayPal Account Optional setting if PayPal Account Optional is turned on in your merchant account. Passing Sole has no effect if PayPal Account Optional is turned off in your account
Hope this helps.
On a thread in the PayPal Developer Community they explain it with cookies based visits to the checkout page.
Basically if PayPal detects you being a user and spots their cookie, they will show the login form by default.
If they can't see that cookie, then they will show the credit card option first with a note that if you already have a PayPal account, to log in.
So the answer is no.