Paypal integration scenarios - paypal

My client asked to integrate his e-commence web site with paypal. But he need to do all credit card payments within his website(without moving to paypal site). e-commence web site is Java based application
When the order is placed, need to get some transaction number and continue order. Client need to process his payment when the delivery is ready.
Is Payflow Pro suitable for this requirement?
What is the suitable method to do this kind of transaction?

If you want to process your payments within your site, but still using PayPal, then you need the subscriber service "Website Payments Pro".
The "Website Payments Standard" service is free (excluding transaction commission) but a buyer leaves your site, goes to paypal to pay, and then returns.
PayPal Comparison Table - Standard vs. Pro

PayFlow Pro is also suitable for this; you can process PayPal payments as easily as credit card payments. (Note: in my opinion it's most appropriate for a large bulk of credit-card-only transactions.) If you're developing in Java, there's already an SDK for you to use -- I had to search everywhere for a suitable third-party API for PHP.

Related

Paypal Rest API Payment or Braintree Payments

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.

PayPal Payments Pro Direct Payment API

I am planning on setting up a Paypal Payments Pro account and posting to their Direct Payment API with credit card billing information via our website. In an effort not to worry about PCI compliance, I would rather not have the credit card information pass through our web server and post directly to PayPal from client code. What is the most simple way to do this? Perhaps use a PayPal hosted form and imbed it withing our webiste via an iframe? Can someone please list out a few recommended solutions and where to start looking? Thanks!
Payments Pro (DoDirectPayment) won't do that. What you want, per your explanation, is PayPal Payments Advanced (or sometimes they do call it Payments Pro Hosted, which just confuses people and is annoying.)
I personally prefer the full Pro, DDP over Advanced/Hosted. For PCI compliance, all you need to do is make sure you're using a valid SSL certificate on your server, and also make sure you're not saving any credit card details to your database.

Storing Credit Card information using PayPal Payments Advanced API?

I want to use PayPal Payment Advanced API to store the customer's credit card info on the PayPal's website the first time the customer enters the credit card info. For subsequent customer visits, i want to retrieve the Credit Card info from the PayPal's server. Is this possible? What does the PayPal server return me ( like a transaction id )that I can store in my database for that customer and then use it for subsequent requests.
Thanks
There is no API for Paypal payments advanced. From their tutorials:
PayPal Payments Advanced requires use of PayPal's hosted checkout template...
This means that you have to use their hosted pages (you can probably do so using an iframe if you want). The reason for that is that in order to collect credit-card details you have to be PCI compliant, meaning, you have to pass a series of security checks/tests. This process took my company almost two years and major development (and other) resources, so you probably don't want to go down that path.

do i need to direct to a particular paypal website payment pro url?

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.

PayPal Payment Methods

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.