I hope that someone can shed some light on this.
We have developed with PayPal using Website Payments Standard, Website Payments Pro (DoDirectpayment).
There are several other methods like Advanced Checkout, Express Checkout, Payflow Pro, etc. What does each one do? Is there some place where one can see all of these and the differences between them?
To give you a quick and brief overview of some of the main differences.
Website Payments Standard - Uses HTML buttons buttons that you generate from your PayPal account, or you can use a 3rd party cart, or build your own. The buyer is basically redirected to the PayPal payment pages, to enter in their information. You have some control over the checkout flow but are limited in what you can control. There is no monthly fee for this services. The buyer is on the PayPal site when they complete the payment.
Website Payments Pro - There is a monthly fee for this service. With this service, you have full control over the checkout flow. The buyer stays on your site when they enter in their billing information. Instead of using HTML and redirecting the buyer over to PayPal, you will be using API calls to send the data over to PayPal and get a response back.
Express Checkout - This is usually used in conjunction with Pro or by itself. This allows the buyer to checkout with PayPal instead of using their credit card directly on your site. The buyer is redirected over to the PayPal site to sign in or to pay with a credit card. No billing information is entered in on your site. This method uses API call similar to Pro, and allows for some control over the checkout flow. You will have more control with this than you would with Website Payments Standard. The buyer will be back on your site when they actually complete the payment. There is no monthly charge for this service.
Payflow Pro - This is similar to Website Payments Pro. There is a monthly service charge for this service. You can either use the API's and keep the buyer on your site where they enter in all of the information and complete the payment. Otherwise you could also use the hosted checkout pages and have the buyer enter in their billing information on PayPal's pages allowing you to be PCI compliant. Also with Payflow, you can use your own processor as long as it is one that is compatible with Payflow. So don't have to use PayPal as your processor if you choose not to.
Hope this helps.
Related
We are using the adaptive payment API to setup a payment between 2 of our users. The receiver user has a paypal account, the source (the one who pays) doesn't. We don't use any chained or parallel payments just simple tranffer from A to B.
We'd like to allow the source to pay with credit/debit card. The problem is that in some cases its allowed, and in some it isn't.
We found this document about the subject but it looks outdated, since in the limitations section it says:
Cannot be made to a personal or un-registered PayPal account
I have a personal account and it works with that but with my colleague's personal account (different country) it doesn't.
Not available if the API caller passes an email address in the request
envelope.
This is very vague. Pass where? We use the email address in the pay request but it works in some cases.
Could anyone give some up-to-date info about this subject?
Guest payments are only made available to certain countries no matter which PayPal product you are using (PayPal Payments Standard, PayPal Express Checkout, Adaptive Payments). So if a buyer is in a country that requires a PayPal account, then they will only see the option to "Login to PayPal" or "Create Account" when they land of the PayPal checkout page. Unfortunately there is not a list of countires in our documentation to show which countries allow guest payments and which don't.
Here are my findings together with PP_MSI_Colin's answer:
Documentations
Guest payment - integration guide (UI is different now)
Guest payment - adaptive payment
Account optional settings
Requirements
Upgrade to business or premium account.
Make sure the email address is verified.
Make sure that on this settings page the Paypal account optional setting is ON.
Limitations, exceptions
In EU, this option is limited to 10 payments/card
In some countries (tested in Hungary) a personal account can also receive guest payments.
In some countries it is always disabled. No official list found.
Logic
Even if it is enabled for a user, it is up to Paypal if they show it or not. Where its enabled it also depends on the paying user. If Paypal finds (from cookies, etc) that the user has a paypal account they don't show credit card option. To test it try to pay in an incognito window. PayPal’s fraud prevention measures can also cause the guest checkout to not be displayed in certain scenarios
Limitations for making guest payments via PayPal adaptive payments are documented here:
Guest payments cannot be made to a personal or un-registered PayPal account
I used the Paypal NVP API (Express checkout) for a long time and it worked fine. I'm now developing a new project and wanted to use the 'new' Rest API that Paypal recommends for new projects. I, however, find the documentation rather imprecise at some points and often contradictory.
I'm using their sandbox to test the payments and I noticed that the payments work fine, except that once I log in to the Paypal Buyer account, I can only select the PayPal balance to pay.
Is this a limitation of the Rest API? I want to clarify that I am based outside the US and I do not want to accept credit card payments on my own website (well, if there is no other solution, I would accept it). I'd rather have the user get redirected to the PayPal page and provide his credit card information over there. I do, however, want to give the option to the user to at least select from PayPal balance or credit card. (As I'm used to from the NVP API)
UPDATE
In the meantime, I've done a lot of additional research. On the PHP SDK page, they've added the following notice:
Important: The PayPal REST API no longer supports new direct credit card integrations. Please instead consider Braintree Direct; which is, PayPal's preferred integration solution for accepting direct credit card payments in your mobile app or website. Braintree, a PayPal service, is the easiest way to accept credit cards, PayPal, and many other payment methods.
How should I understand the direct credit card integration? Is that the credit card payment on the PayPal website after being redirected onto that page or do they mean credit card payments where the card number is provided on ones own website?
I've got the impression, PayPal is entirely shifting to Braintree Payments. Even on the official PayPal Developer website, they propose Express Checkout for quick (client side only) integrations and Braintree Direct for other payments.
This is what I need:
PHP integration of the API calls
Payment methods: PayPal balance, Different Credit Cards
eventually recurring payments
I do not need:
Third party invoicing
client management
shipping address management
So my concrete questions would be:
What's the difference between Braintree and PayPal payment methods (since they belong to the same organisation)?
Should I use PayPal Rest API or Braintree solutions in my case?
What are those PayPal limitations that they list on their website?
Has nobody got any experience in this domain? Even partial answers are welcome!
I have partial answer, as I am also in the process of choosing between BrainTree, PayPal Rest API, and Express checkout.
I'm here to answer "How should I understand the direct credit card integration?"
I'm no expert on the subject, but during my recent work at the area of integration with checkout systems, I've learned this:
One of the types of credit-cards is called "direct credit card". It means that it is directly connected with a bank account - when it is billed, the money is instantly transfered from the connected bank-account to the merchant. This is different than how most credit-cards work - most will only charge the bank-acoount at the beginninng of the next month.
I've come accross situations where direct cards behave differently than regular credit-cards.
For instance - the checkout-system I integrate with doesn't allow to monthly-bill a direct card. direct card on a monthly payment plan have to be billed manually.
So for me, the PayPal announcement you qouted means a lot - I need to support direct credit cards, hence I'm choosing BrainTree. Thanks!
Note to moderators:
I originally wanted to post this as a comment to the question, becuase I thought it would help the OP. I don't have enough reputation to comment, so I posted an Answer.
I've found several conflicting views on the internet with regards to if this is possible.
I have a verified paypal business account and have added the legacy MPL into my company's mobile application. Using the express checkout to process a chained payment, the user is forced to log in and use their PayPal balance as the only form of payment.
There is no option to supply a credit card and pay directly. There is no option once logged in to pay with an attached credit card.
This is from the sandbox perspective, which has mock credit cards on each mock user account.
Can anyone, who knows the actual answer, if a chain payment with the legacy MPL with a registered verified business account supports guest checkout on mobile (Android in this case).
Thanks.
Yes, guest checkout is available with Adaptive Payments. I have a sample Chained Pay request setup here. Loading that you'll see the successful response which includes a RedirectURL. Copy/paste that RedirectURL into your browser address bar to load it and you'll see it sends you to PayPal, at which point this is what I see...
You can see it provides the option to either login and pay or just pay with a credit/debit card.
I have been using the Express Checkout methods of the PayPal Classic API to allow my site's clients to set up both recurring and one-off payments. Everything works smoothly in my test environment with it pointing to the PayPal sandbox environment.
Now I have been trying to go live. I am following the instructions from https://developer.paypal.com/webapps/developer/docs/classic/lifecycle/goingLive/ which tells me to register my app. I go to https://apps.paypal.com/user/my-account/applications/new and fill in my details, but in the section 'Services used by App' there is nowhere to tick Merchant Services. I'm not using the Adaptive API or Invoicing, but the page won't allow me to submit without filling in something on the Adaptive Payments section. There is no help or guidance on the page.
How do I proceed?
If you're just using Express Checkout and Recurring Payments you won't need to submit an app. The app submission is for people using Adaptive Payment or Adaptive Account API calls.
You should be able to use Express Checkout as long as you have a confirmed and Verified Business PayPal account.
I am currently using payments standard and moving to payments pro. Both are on paypal hosted pages.
Whenever I am testing however, I seem to be directed to the payments standard page rather than the payments pro page. Is there a particular change in the URL i am meant to use? I cant see anything in the documentation that say this is the case.
Cheers
It depends on how you're trying to process payments.
Payments Standard and the Hosted Checkout are two different payment methods but can look kind of similar. With Payments Pro you can use Direct Payment API calls to process credit cards directly from your website or redirect your buyers to a secure PayPal site to complete payments.
The URL you use for the secure checkout page through Payments Pro is different. You should be redirecting buyers to https://payflowlink.paypal.com for the live site and https://pilot-payflowlink.paypal.com for test transactions.