Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Force PayPal to always request credit card information instead of login form?

We are working with paypal payments standard in our website. When users fill up their request in our site and press the paypal button "Buy Now" we submit all the variables to paypal so they can process the payment.

For those users who have never been to paypal before and they are paying through our site it works perfectly well since it prompts for the credit card information automatically.

BUT: for those users who have been in paypal before we noticed that cookies are stored in the computer, and the user is prompted to login automatically before asking for their credit card information.

We want to have paypal always ask for the credit card information and leave the login to pay using paypal as an option.

Is there any variable we can send to paypal in order to force them to directly ask for the credit card information?

So far we found these variables to auto complete the credit card fields and they work great:

<input type="hidden" name="country" value="" />
<input type="hidden" name="first_name" value="" />  
<input type="hidden" name="last_name"value="" />   
<input type="hidden" name="address1" value="" />
<input type="hidden" name="city" value="" />
<input type="hidden" name="state" value="" /> 
<input type="hidden" name="zip" value="" />
<input type="hidden" name="email" value="" />
<input type="hidden" name="night_phone_a" value="" />
<input type="hidden" name="night_phone_b" value="" />
<input type="hidden" name="night_phone_c" value="" />  

For those looking more information about PayPal Form variables here is the reference:

https://cms.paypal.com/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_formbasics

like image 489
multimediaxp Avatar asked Apr 13 '12 22:04

multimediaxp


3 Answers

Unfortunately it's impossible by design. And it's not for security, in fact it's a much more cynical reason that they do it:

PayPal gets charged a small percentage of all credit card transactions, so the said feature is in fact a thinly veiled attempt to discourage users from using a credit card.

To top it off there is nothing you can do about it! PayPal's API does not currently have a variable which controls this behaviour available to developers.

You may want to consider a different payment tool if taking credit card payment by default is important to you, although in my opinion money is money.

like image 173
Randy the Dev Avatar answered Sep 16 '22 19:09

Randy the Dev


I found a solution for the html-form, it is not documented by paypal*(!):

<input type="hidden" name="landing_page" value="Login" />

or

<input type="hidden" name="landing_page" value="Billing" />

This pray the paypal login to view the required form. Have fun.

* - Not documented, but there is some information.

like image 14
Dirk_G Avatar answered Oct 18 '22 22:10

Dirk_G


Based on the other answers, comments, and votes to close, I think there is some confusion.

There are two legitimate options for users. Either enter payment information or login with an existing account. This can be somewhat confusing for users, who may or may not know/remember their login information. Last I checked, you do not need a PayPal account to use PayPal Standard payments (although I do believe CC# and contact info are checked against existing accounts if you don't login).

To answer the original question, I don't have first-hand experience overriding this behavior, but it may be possible.

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_SetExpressCheckout

(See the LANDINGPAGE parameter)

(Optional) Type of PayPal page to display. It is one of the following values:

Billing – Non-PayPal account Login – PayPal account login

Paypal will always lean towards encouraging existing users to login (which makes sense from a marketing/retention perspective and also from a security perspective).

like image 4
Tim M. Avatar answered Oct 19 '22 00:10

Tim M.