DoReferenceTransaction API for PayPal - 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.

Related

Need some light on PayPal's Website Payments Pro

After having a good read through PayPal's docs, I'm still lost.
FYI in Canada and US it's called "Website Payments Pro", otherwise it's "PayPal Payments Pro".
I need to setup a way of:
User subscribing to a yearly fee
User can setup subscriptions WITHOUT a paypal account (pro feature)
This sounds really simple, but when you start searching for more technical docs about that matter I can only find articles like these:
http://net.tutsplus.com/tutorials/php/how-to-setup-recurring-payments/
Which is fine, but this isn't for PayPal Payments Pro. I heard I'll have to use server-side calls to the API but all I can find is people telling me to "create a button".
But the buttons, for some reason, doesn't support Pro features and ask users to register on PayPal to get subscribed which my client doesn't want at all.
Could anyone share me some light about those?
I find PayPal's docs misleading. I really really need to get this done as soon as possible but I cannot seem to find good docs or a good working example for this.
Thanks for your help, it's greatly appreciated!
PayPal Payments Pro is the new name for Website Payments Pro. The button way of doing things is called PayPal Payments Standard.
See https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-pro/integration-guide/WPRecurringPayments/. Recurring payments can be set up with ExpressCheckout (buyer has a paypal account and logs in to paypal site to approve subscription during setup) or DoDirectPayment (you provide buyer's credit card info when setting up the subscription)
There are a few ways to do it, but if you don't want to mess around with API calls, then I would suggest using a subscription button and signing up for Enhanced Recurring Payments. This allows you to accept subscriptions from buyers who don't have a PayPal account and don't want to sign up for one. To sign up, go to https://www.paypal.com/us/cgi-bin/webscr?cmd=xpt/Marketing/merchant/ERPOverview.

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 Payments Pro API Key

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.

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.

Integrating paypal recurring

I am new to PayPal integrating and need to integrate PayPal recurring for subscriptions. I googled for that, but I am confused with below questions.
Which API should I use with PayPal recurring, WPS or Paypal express checkout? Which one will be good?
Is there any good example or help to integrate this?
Thanks a ton in advance.
Good overview of recurring payments: Handling recurring payments
I'm using the Lionite PHP Paypal class. It's not free, but even if you're not going to use it, read through that page because it contains some useful info that is omitted from the Paypal docs.
If I understand correctly, Express Checkout requires your customer to set up a Paypal account, so Website Payments Standard would be a better option.
Unfortunately the Paypal SDK only has code examples for direct payment. If you want to use Website Payments Pro with Direct Payment, be aware of PCI compliance (which can be expensive and time-consuming) and also be aware that services like BrainTree exist which have transparent redirect, thus helping you to avoid PCI compliance (I haven't used this service however).
Express checkout code example: https://github.com/hrendoh/PayPal-Recurring-Payment-example
Set up your sandbox account at http://developer.paypal.com
Update: IPN for recurring payments is a nightmare. Not only are the recurring payment IPN responses completely undocumented, but none of the support staff I talked to had a clue about them either (in some cases they gave me incorrect answers to questions). Here is a list that others have put together, but all of these resources are incomplete:
https://www.x.com/developers/community/blogs/ppmacole/recurring-payments-ipns?page=1
http://docs.ipn-easy.com/html/T_Rolosoft_IpnEasy_Net_PayPal_TxnType.htm
Unfortunately because of the limits placed on recurring payments with express checkout, direct payment was the only option for me. I strongly suggest that if you need to do direct payment with recurring payments that you find a different payment provider.