How can I limit the set of fields Paypal shows on express checkout? - paypal

Whenever our service initiates an express checkout and redirects the user to PayPal page the user sees the cart on the left and the following on the right:
Note that even the address and the phone number are required while we're an online service and don't need shipping information - once PayPal confirms the payment we'll happily "ship" over the Internet, so all we really need is a PayPal payment confirmation and I guess that requires just a credit card number, expiration date and the CSC.
Yes, I know that users who have already registered with PayPal can switch to "my PayPal account" option but that doesn't help people who don't have a PayPal account and those are forced to see this page with 12 fields.
Wait, that was the form for people who have their "country" identified as the USA. Here's what people tracked to Colombia see:
Even more fields and we only need a payment confirmation.
Is it possible to make PayPal limit the set of fields on that page?

Looks like you can avoid user to enter Billing and Contact information on guest checkout only if you properly transmit REAL shipping/contact data by your own in your SetExpressCheckout call.
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_SHIPTOSTREET=1 Main Street
&PAYMENTREQUEST_0_SHIPTOCITY=San Jose
&PAYMENTREQUEST_0_SHIPTOSTATE=CA
&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
&PAYMENTREQUEST_0_SHIPTOZIP=95131
&PAYMENTREQUEST_0_EMAIL=jsmith01#example.com
&PAYMENTREQUEST_0_SHIPTOPHONENUM=408-559-5948
If you set random data above with invalid city/state/zip PayPal will display Billing and Contact information inputs.

Related

Paypal API don't want a Delivery Address

I'm using secure-hosting as a middleman to process payments from my website which accepts credit card details and has an automatic paypal feature which essentially uses the paypal-api.
It processes payments fine and dandy, however our product isn't supposed to be delivered to the person who purchased it, it is sent to another (or many hundreds of) person(s) whose details are entered on our site by the purchaser.
The problem is that PayPal displays the purchaser's address as the delivery address both when the purchaser is signing into paypal and when they receive an invoice from paypal.
Does anyone know if there is an option to turn off this display of the delivery address/in the email? I've tried adding the no_shipping: '1' and NOSHIPPING=1 field when communicating with paypal but I believe this is to specify that the user doesn't have to supply an address because paypal will have a record of their address.
The ADDROVERRIDE variable determines whether or not the PayPal pages should display the shipping address set by you in this SetExpressCheckout request, not the shipping address on file with PayPal for this buyer. This would allow you to pass in a shipping address that your buyer enters into a form on your website, for example.

PayPal API - How to keep the payment process on my website?

I run a small marketplace with multiple sellers where buyers can buy items and pay with PayPal. The problem is, when someone makes a payment, they are then displayed the "Payment Confirmation" on the PayPal website and are given a choice to either return to their PayPal account, or return to the website.
Is there any way to keep the payment flow on my website, except for the payment part? I notice when buying on Etsy for example, the buyer goes to PayPal to make the payment and is then immediately returned to Etsy for the payment confirmation. They never see the PayPal payment confirmation page.
I assume it could be because Etsy and PayPal have a special arrangement that isn't available to other sites? Or am I missing something in the API?
Right now, with the normal PayPal API, this is what buyers see:
NAME, you've just completed your payment.
Your transaction ID for this payment is: XXXXXXXXXXXXXXXXXXXX.
We'll send a confirmation email to your#email.com
Go to PayPal account overview.
Go back to "seller#email.com".
I can't even figure out how to change the "Go back to..." link to my website name in the hidden fields. PayPal just chooses to display the seller's (the person that received the payment) email address.
Is there any way to at least set a website name for them to return to with hidden variables? Keep in mind that I have different sellers, so it's not something I could set inside each seller's PayPal account.
Thank you :)
I assume you are using Express Checkout with Set/Get/Do EC API integration. Please check the below document for experience options available with Express Checkout API.
https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/integration-guide/ECCustomizing/
The 'useraction=commit' in the PayPal payment auth url triigers the 'Buy' button. If you do not send that request paramter then it will show 'continue' button and you can complete rest of the process on your site.
However, if you are using Paypal Payment Standard product then you need to use Express Checkout to accomplish the outcome you are seeking.

How do I prevent the user to change the shipping address? Or instant update callback for Payflow Pro Express Checkout

I'm using Payflowlink Pro Express Checkout
Flow:
User select items on merchant site.
User clicks buy and fill shipping address.
Server get rates from USPS and FedEx for selected items.
User selects desired postal service with defined rate.
Server calls paypal to setup transaction with selected shipping rate.
User on paypal where he or she able to change shipping address, but shipping rate is already calculated for address what he inputted on merchant site.
I've found a solution of my problem only for classic API (Instant update callback), but not for Payflow Pro Express Checkout
Like a part of solution, user'll be warned about this situation on merchant site, but.. How do I prevent the PP user to change the shipping address or tell me please if it is possible to use instant update callback for Payflow Pro Express Checkout?
Try using the ADDROVERIDE variable with a value of 1. Doing that tells PayPal to use the shipping address you provided and not the address the buyer has set in their PayPal account.
The ADDROVERIDE and the shipping variables are available in the Express Checkout for Payflow Pro guide.
Sorry, I wanted to add this as a comment to the above, but my reputation is < 50
For some reason I couldn't get NOSHIPPING=1 and ADDROVERIDE=1 to prevent paypal asking for the shipping address; It may be due to me not supplying the address to PayPal in the first place.
However, 'no_shipping=1' does prevents PayPal asking the user for the shipping address (for me at least)
I think there may be two different solutions based on certain scenarios, so if one is not working try the other.

Paypal Payments - What to store from them?

I was wondering, if you have coded a website which uses paypal payments as a payment method (the kind of payments where you get redirected to their site for payment, not web payment pro).
What kind of details can I store? Is it just their paypal email address that can get supplied to me or do other details regarding their paypal account also get sent to me via their API which can be stored on my site?
As already mentioned, you get the details of the transaction, so email address, name, delivery address and the contents of the shopping cart.
You can send custom parameters from your form though, such as phone number.
Paypal, by default doesn't ask users to provide a phone number and therefore usually doesn't send you one. However, it's often useful for retailers to have a customers phone number.
If your shopping cart is populated by your website and then customers are asked to complete a brief, name, phone number, email form before submitting to Paypals site you can send these extra form fields to Paypal and have them come back to your server for storage/checking.
However... I found it very erratic! There seemed to be a problem with my account when I did this and the PP technical team couldn't explain why it was only sometimes working! I gave up in the end and found a Payment gateway with credit card and Paypal integration, now all my payments come through the same channel and callback methods regardless of type.
http://www.securehosting.com I use now.
Mostly only the details pertaining to the transaction can be retrieved in the usual procedure, as it appears even when you see the transaction details in your paypal account when you receive payments. However, it would be helpful for you if you can provide more information on what you wish to look for.

Paypal - payment without account

I need to integrate paypal into online store..
Requirements
- All credit cards (secure) details should be inputed on PayPal site
- User do not need paypal account
So there is couple ways of integration
Standart IPN - when you redirect
user to paypal site and he use his
(or create new) paypal account and
than redirected back to site
PayPal Payments Pro - user input his details including credit card number on my site(and I make payment using API)
But is there a way where I can redirect user to paypal site and he just input a credit card number and redirected back.. So user input just credict card number and that it is - he do not need a paypal account or fill any other fields.. Does it possible?
Stanard Paypal does offer you the ability pay via credit card without a paypal account
https://www.paypal.com/uk/cgi-bin/webscr?cmd=xpt/cps/general/OptionalAccount-outside
I am experiencing the same problem as you, and would like to put my findings on record. With Website Payments Standard, depending on which country your user selects, he/she may or may not need to create a PayPal account. These are the three most typical form submit buttons that he/she may encounter:
Case 1:
Review and Continue
No requirement to create an account
Countries: US, Australia, Greece, Hong Kong, India, Taiwan
Case 2:
Continue
A so-called optional account is created for you, and you will need to register a PayPal account after 10 transactions.
You will only be able to use PayPal via PayPal Account Optional for up to [10] transactions before we will require you to open a PayPal
account with PPEL to enable further use of the PayPal system. At that
point you will be required to enter into our standard user agreement
to govern the ongoing relationship with PayPal.
Countries: Belgium, Denmark, France, United Kingdom
Case 3:
Agree and Create Account
You must create a PayPal account to transact.
Countries: Albania, Algeria, China, Ecuador, Japan, Malaysia, New Zealand, Philippines, Qatar, Russia, Singapore, Vietnam
Although most credit card processors require only the card number, card verification code and at most the card expiry date, PayPal requires that address and contact number be provided. I am not sure how PayPal is going to enforce the accuracy of such information without also being a card association. If you get what I mean.