PayPal Developer Account for Software Product - paypal

I am working on a software product that will support credit card processing via PayPal. The issue I am running into when setting up the PayPal Developer Account, is it appears to be structured to be set up only by the person processing payments. How should I set this account up? Do I set it up as if I were processing the payments directly and then just swap out the credentials for each user?
Thanks for the help.

So you're trying to make calls on behalf of 3rd party account holders? If that's right then yes, you could have them enter their own API credentials into your app settings and then swap them out accordingly, or you could use the Permissions API.

Related

PayPal Auto Payment without logging in

I want to make a payment system in which users can connect their PayPal account to a website. In this step, login required.
When transaction occurs, without having to log in again, users can pay to the site.
This would be quite different from PayPal subscriptions -- just auto payment like upwork client account.
What you are looking seems to be a "Reference Transactions" solution. It can be tested in sandbox, but to use it in live, the business account would need to be approved for this feature by PayPal. To do this the account owner would need to contact their PayPal account manager or PayPal's general customer support (not MTS), and explain the business need for this feature.
As far as implementing the solution, the only public documentation I'm aware of is for classic APIs: https://developer.paypal.com/docs/classic/express-checkout/ec-set-up-reference-transactions/ . Any newer API or vault solution does not appear to be publicly available at this time, but you could always contact PayPal's support and ask if there's something they'd rather you implement than those classic APIs. The more significant hurdle is the business approval for the feature mentioned earlier.

PayPal API for funding business account

All the users on my site have a personal account. I would like to add paypal as a payment method to fund a user account. Upon a fund the user account will be credited so he will be able to pay for the services I provide. Is it possible?
Yes, this is possible you can write a script that after the users payment several lines of code get executed that activates your service and credits your account.
The easiest way of doing this is by using a payment provider that sits between paypal and your site. They can deliver you directly the scripts and API you need.
Ofcourse you can also make them yourself. Not sure if the PayPal API already includes this functionality.
I hope that this is of any help
Paypal provides an API to integrate and customize its payment platform to your website.
For starters this limk will give you a breakdown on what you can do with the api.
https://developer.paypal.com/docs/classic/api/gs_PayPalAPIs/
try this link if you are keen on developing that part of your site.
https://developer.paypal.com/docs/api/

Do I need 3rd party's Paypal API credentials to let them sell on my site using Payments Pro?

I am working on a website in which a facility pays us for membership. Their membership payment is the only money we receive. This payment is done via Paypal Website Payments Pro using the DoDirectPayment API.
These members then rent out their facility to customers by listing available blocks of time on our website. The customer would pay for this time block via credit card, also via DoDirectPayment, but this time the payment goes directly to the member's Paypal account.
I have found a lack of clear direction on what needs to be done to enable this. I know I could require all members to have a Paypal Payments Pro account ($30 per month) and store their API credentials (including passwords and signatures) in our system and those payments could be handled directly. But I am vaguely aware of the Third-Party app authorization option... I just can't find info on how it should be set up.
Is it possible to only store the member's Paypal email address and just ask them to authorize our app in their profile?
Also, I saw someone suggest the thrid-party payment recipient wouldn't even need a Pro account. If that is the case, what do I need to change about the API call (I'm using the NVP method) so that our Pro account is leveraged but payment is given to the member?
First, your members will need their own Pro account. The only way to try and get around that would be to have all of the funds come into your account and then disperse them accordingly. This is frowned upon by PayPal and will result in a suspended account.
You could indeed have users enter their API credentials into your application and store them with your customer's profile so that you can include them in API calls for that particular member. You'll want to make sure to encrypt these values if you end up doing that.
The proper way to handle it (since you're a hosted solution) would be using Permissions. You would use your own API credentials, but then pass an additional parameter to flag what account you're making that call on behalf of. This is where the Permissions come into play. Your members will need to Grant API Permission for your app to make the DoDirectPayment call on their behalf.
This can be done manually from within the PayPal account under API Access, or programatically via the Permissions API.
OK, I discovered the answer. I am sharing the detail here for others looking for this very elusive information:
My account (hosted solution) must be a Pro account.
Members who will be selling to customers on my site must also have Pro accounts. I tested the same code with a regular business account and the error said "This transaction cannot be processed due to an invalid merchant configuration."
Members do not have to give me all their API credentials.
The DoDirectPayment call is the same as if I were doing my own payment (almost). I use my own username, password, and signature. The way to send the money to another account is to include one more parameter called SUBJECT which should be the email address associated with the member's Paypal account (not their API username).
The member must grant my (third-party app) account permission. In my case I only needed the one Paypal labels "Process your customers credit or debit card payments." which should correspond to DIRECT_PAYMENT in API terminology.
Andrew's answer gave me some additional keywords to use in searches, and I appreciate the tip off to the Permission API. It did not directly answer the question, but that will be a nice feature to add to my app instead of making users go through their Paypal profile's to grant permission.

How to set up a PayPal sandbox "Seller" account, a "Buyer" account and an Application Tutorial

I am trying to set up a Web site which is using PayPal. Unfortunately the PayPal developer site/concept is heavily changed, so all tutorials I found are seem to be useless. For example this (very good) youtube tutorial which is very clear is using not existing pages and functions...
So please try to help me only with up to date information/tutorial.
Please note my questions is not about using API, it is about how to set up an app, and a testing sandbox configuration from the ground.
1) As far as I understand I must have a real PayPal account because dev site uses PayPal account for logon (new). Logged in with this account then I can create sandbox accounts. However I would like to create a "Seller" sandbox account and a "Buyer" sandbox account. (missed I something?) Using the new developer site it is not possible. I can create only one kind of sandbox account. In the referenced video there are two types of sandbox accounts: "seller" and "buyer" in the preconfigured accounts. Or "Seller" simply means Business account?
2) I must have an application id to use the API. Note: I inherited a working legacy code which is using the classic API, so no REST please. In the video (old PayPal dev site) there is a left side menu "API and Payment Card credentials" In the new PayPal dev site no such thing. Instead there is a "My Apps".
I've tried to set up an application. It approved automatically. In its metadata I see a live and a sandbox app id.
What is not clear: To what account is associated this newly created app? I've created it logged in with my real paypal credentials.
More: ??? When filling the app creation form there was an input field titled: "Supply Test Account Name and Password". First of all how can I type the name and a password to one input field? Secondly What is it? Maybe if I use this app with its sandbox app id then this account will be the Seller (got the money) and if I change the app id to the live one associated this app, then my real PayPal account got the money?
However my goal was to completely simulate the payment process so
1) Create a Seller sandbox account (got API credentials)
2) Associate an application to that Seller account, and get the app id.
3) Create a buyer sandbox account
4a) Configure my web site with Seller API credentials and sandbox app id
4b) Orchestrate a buy process using my website, PayPal API and the 2 sandbox account
5) Check the Seller and Buyer sandbox account's transactions.
Thanks in advance
Seller account = Business account
Buyer account = Personal account
You probably only need to create one of each in Developer Sandbox Accounts , but there's no limit if your testing requires some more
To obtain the new REST API credentials, create an App in My Apps & Credentials and select the sandbox Business account to use
Legacy APIs: If testing an old integration, you can still get Classic NVP/SOAP credentials for a business account by viewing its "Profile" within your list of sandbox accounts
Just found myself in the same situation. Like you say it seems to be constantly evolving - not even sure if some of the answers here are still up to date.
Walked through it like this:
Login at developer.paypal.com
Go to Applications tab
Click on the Sandbox accounts on the left hand side
Any sandbox accounts you already created will be listed. Big blue button Create Account to create more
Think of logging in to the sandbox with your real PayPal account as logging into your Sandbox. You do this at http://developer.paypal.com.
Once you are logged into your sandbox in the middle of the screen, click on "continue testing using Sandbox test accounts".
When the next screen comes up you will see a heading of Sandbox Test Accounts and to the far right of that a button to Create Account. Click on this and then you need to create a "Personal" buyer account (your sandbox buyer who you will test with) and a "Business" seller account (your sandbox seller who you will test with).
Set up each one of these as if you were setting up a new Paypal account.
When you have them created fully you will have fictitious bank accounts to work with.
Beyond that, you may wish to check out these tutorials http://www.developphp.com/list_php_video.php where the site goes in-depth with setting up PayPal payments on a website using your own custom, basic shopping cart with a PayPal IPN (instant payment notification). You want to scroll down to the "E-Commerce Website Tutorial...". Lessons 9-20 deal with the cart and accepting PayPal. This may be an older way to do things, but it will help you get a general grounding in working with PayPal IMHO.
You also can visit https://developer.paypal.com/webapps/developer/docs/ At the bottom of the column is a heading "Classic API's" that may provide the documentation you are looking for to move forward.
Good Luck!

PayPal: Alternative to PayPal's Developer Account

I was using Paypal Sandbox for testing transactions last year using my PayPal developer account.
I just checked last week that I cannot access my old account, so I decided to sign up for a new account. However, you need now to sign up for a business account. Business account is only available to U.S. businesses (I came from outside the US).
I was hoping if you can suggest an alternative and free developer account (similar to PayPal), but with a different payment gateway.
Thank you.
How about stripe ?
Stripe
Uses a JavaScript based API to complete transactions.
Simpler to integrate with multiple platforms.
You don't need a US Business account to use developer.paypal.com.
Simply sign up via https://www.paypal.com/ for a live PayPal account, either Premier or Business, and you'll be able to log in to developer.paypal.com with it.
Note however that the new REST API is currently available for live US Business accounts only, but this won't affect the availability of other Sandbox products or functionality.
I'll look into why the messaging states that you do, because that's not correct. Thanks for pointing this out!