PayPal Direct Payments - paypal

I am developing an e-commerce site in ASP .Net 4.0 C#. I want to use PayPal for receiving payments but through credit/debit cards so that customer never leaves my site. Please provide some sample code/links for this.
Note: I don't want to use HTML form tag for submitting my requests but wana make use of the API/ Web request.
Many many thanks for the help
Regards
Vivek

You are looking for PayPal's .NET NVP SDK:
https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_AspNet_NVP_SDK.zip
You'll need to generate API credentials, here's a tutorial:
https://ppmts.custhelp.com/cgi-bin/ppdts.cfg/php/enduser/std_adp.php?p_faqid=737
You can find other PayPal SDKs at www.paypal.com/sdk
I hope this helps.
Lorefold

Exactly; as mentioned previously, you'll want to use PayPal Website Payments Pro and/or PayPal Payflow Pro in that case. Website Payments Pro is only available in the US/CA and UK, whereas Payflow Pro is available in AU/NZ and US.
Either of these two products will allow you to process cards on your site.
Keep in mind though, that processing cards on your own site will mean you'll need to adhere to PCI DSS and be compliant these regulations. By redirecting buyers to PayPal to enter their card details / financial data, you can shift that liability to PayPal.

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.

Paypal direct Recurring Payments using credit/debit card not working on live. DPRP disabled for this merchant.

I am using the Paypal API Payments Pro to set up recurring payments on my website using credit/debit card, everything worked perfect on Sandbox but on live it gives me error DPRP is disabled for this merchant. I have called Paypal several times and all they do is confuse me and they never let me talk to their technical team. i have alreday purchased the additional recurring billing service with Paypal Payment Pro. This is what i get as response from Paypal.
{"TIMESTAMP":"2013%2d08%2d27T17%3a18%3a08Z","CORRELATIONID":"6xxxxxxx65e8","ACK":"Failure","VERSION":"86%2e0","BUILD":"7xxxx78","L_ERRORCODE0":"11586","L_SHORTMESSAGE0":"DPRP%20is%20disabled%2e","L_LONGMESSAGE0":"DPRP%20is%20disabled%20for%20this%20merchant%2e","L_SEVERITYCODE0":"Error"}}
DPRP stands for DirectPayment RecurringPayments. With the old Payments Pro you had to pay $30/mo for Pro itself and then another $30/mo on top of that for recurring payments. Until you were approved and agreed to the additional $30/mo you would get that error. So what it essentially means is you don't have DPRP enabled on your PayPal account right now.
You mentioned that you already signed up for Recurring Billing. It sounds to me like you're on the new version of PayPal Pro which uses the PayPal Manager and the PayFlow Gateway. This is a separate API from DoDirectPayment or CreateRecurringPaymentsProfile. So they've got you enabled for PayFlow, but you're trying to use the old API.
What you need to do is either re-develop your stuff using the PayFlow API or get PayPal to set you up on Website Payments Pro 3.0, which is the old version that used DDP and CRPP. If you tell them you've already developed everything using that API they should go ahead and turn it on for you so you don't have to redo everything. The thing that could be troublesome is the fee structure of DPRP. Again, it's $60/mo when you get it all enabled, but the new one is cheaper. They can redo the fee structure for you to match what you get with PayFlow, and if you can get in touch with the right person, they will, but sometimes that can be tough.
If you have a bunch of trouble getting somebody to help you contact me directly and I can get you in touch with one of my contacts at PayPal that will help you out.
If you happen to be using PHP you might be interested in my PHP Class Library for PayPal which makes the PayFlow integration very simple if you decide you just want to redevelop your stuff.
If you're interested in a better understanding of the different Payments Pro versions you can take a look at this article I wrote not long ago.

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 integration scenarios

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.