Paypal Payments Pro API Key - paypal

I can't find where the key to my Paypal Payments Pro API keys are. (I have a Pro account)
I need to do a DirectPayment, does anyone know where to find the right keys?
I know of this under My Profile > My Selling Tolls> API access
It says: "Manage API credentials to integrate PayPal Express Checkout."
But that is only for Express Checkout not Direct Payment. Is that the API info I use for direct pay? Because it seems like I cant get it to behave. Is there another setting I need to enable that Im missing?
The error I keep getting is:
Payment Error: This transaction cannot be processed due
to an invalid merchant configuration.
Cliff Note: I have gotten this to work on sandbox

I think you're getting confused (and don't worry, you're not the only one) because PayPal recently changed all their terminology for things.
It used to be called Website Payments Pro, and this used DoDirectPayment and Express Checkout. This was completely separate from their PayFlow Gateway that they acquired from Verisign years ago.
Now, they've dropped the word Website so they're just calling it Payments Pro, and they're actually putting people into the PayFlow Manager system instead of the "old" DoDirectPayment system.
From what you're saying here it sounds like you're actually setup with the new Payments Pro. That means you'll use the PayFlow Gateway to integrate the credit card processing instead of DoDirectPayment. PayFlow uses your manager.paypal.com credentials as opposed to the standard PayPal API credentials you're looking for.
Then, to add Express Checkout you would follow the instructions that you're seeing there, which generates the standard style (username, password, and signature) that you'll use with those API calls.
All of that said, technically, when you're approved for the new Payments Pro you're supposed to have access to all of the API's (PayFlow and regular PayPal), and when you generate your API credentials "for Express Checkout" these same credentials should work (in theory) for any other API's that hit PayPal directly as well. I can't promise that, though.
So...what are you supposed to do? Well, you either need to switch to the PayFlow gateway for your integration, or if you'd just rather use DoDirectPayment, you need to call PayPal and request that they convert your account from the new Payments Pro 3.0 to the old Website Payments Pro 1.0.
2.0 was actually called Payments Pro PayFlow Edition, which just confuses things even more.
Hope that helps.

Related

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.

PayPal PayFlow Hosted Checkout

I can't understand Hosted Checkout. I think this is because I can't let go of Payflow Link. So I'm going to reduce this to what I want to do and if somebody could tell me if this is possible with Hosted Checkout I would greatly appreciate it.
With PayflowLink I was able to collect some information (Name, Address, Email, etc) + some app specific information that was used to calculate an AMOUNT and send it off to payflow.paypal.com and the user could happily check out before being returned to my website.
With Hosted Checkout the documentation seems to imply that I now collect the credit card info and grab a Secure Token to submit it to payflow.
You'll say why not use Paypal Payment Standard but the user has their own Merchant Account.
Am I missing something?
If you're using a 3rd party merchant other than PayPal you would actually still use PayFlow Link (or Pro) the same way you did before. Payments Advanced (hosted PayPal) is only for when you're using PayPal as the merchant account.
Yes you can.
The documentation makes no reference to this use case but you can.
It appears you can even continue to use the legacy PayflowLink parameters (again not documented).
The real kicker is the confusing error message regarding "Express Checkout" generated by the lack of the Sandbox account when trying to run a test form submission.
For those who follow me... you have to have the sandbox account if you are in test. You enter your sandbox email about halfway down the Hosted Checkout Setup form

DoReferenceTransaction API for PayPal

Does DoReferenceTransaction API work with any PayPal account? I'm trying to implement something similar to the one-click buy option seen in Amazon (not recurring billing). Finance still has to get back to me on the type on account we have (Standard, Pro etc). Does the DoReferenceTransaction API work with all types of paypal accounts?
Also, am a bit confused by the types of accounts PayPal has. On PayPal's site I see only Website Payments Standard and Express Checkout. But I hear a lot of conversation about Payment Pro and Payflow Pro and all that. Not sure which is which.
Any inputs/pointers would be appreciated.
DoReferenceTransaction will work fine with Standard PayPal accounts but only with Express Checkout. If you want to work with credit cards directly you'd have to go with Payments Pro.
If you are going to use DRT with EC then you'll need get it approved by PayPal before it'll be available, but it doesn't cost anything extra.
PayPal has recently made some changes to "Payments Pro" that are causing lots of confusion. "Website Payments Pro" is the "old" version that uses the DoDirectPayment API.
"Payments Pro" (without the Website at the beginning) is the "new" version and it works on the PayFlow Gateway.
Depending on how old your account is and how you go about applying for Pro you'll get put into one or the other. They're trying to get everybody on PayFlow now, but sometimes they can't depending on variables in play.
If you do get into the new version of Payments Pro you would actually have access to every API on PayFlow and the standard PayPal gateway, but you would have to get them to enable everything for you.

How to use Paypal API with payflow pro

I have a site which runs smoothly with PayPal and express checkout. NOw my client wants a refrence transaction (billed directly from customer when he ordered via cellphone etc without involving him). He asked me to use payflow pro for this but I am really really confused how to use payflow pro with paypal API. Please Guide me . I already read their payflow guideness PDF but didn't get any idea from there. Thanks
Payflow Pro is an entirely different set of API calls, separate from PayPal.
Is your client sure he wants to use the Payflow Pro API, if he has already integrated with PayPal Express Checkout?
If all you want to do is a reference transaction, all you have to do is add 'L_BILLINGTYPE0=MerchantInitiatedBilling' to your initial SetExpressCheckout API call and call the DoReferenceTransaction API call to create this reference transaction.