Adaptive payments funding type - paypal

Trying to setup a parallel payment in paypal but need to give the user specific options on funding type
I would like to only give them "debitcard" or "creditcard" or "Balance" in seperate calls.
is this possible?
looking at this link it has them in "fundingsource fields" and are seperated with "allowed" being true or false
https://developer.paypal.com/docs/classic/api/adaptive-payments/Pay_API_Operation/
is this possible or would i need the extended permissions?
thanks

From the Developer Guide (Page 14) there are only two permission levels. Standard and Advanced.
The page you linked says "Note: FundingConstraint is unavailable to API callers with standard permission levels; for more information, refer to the section Adaptive Payments Permission Levels."
Yes this will work to limit which funding sources can be used (eCheck,CreditCard,Balance), however, you need the advanced permissions for this.

Related

Paypal Adaptive Chained Payment

I am super confused on what this documentation is trying to say.(https://developer.paypal.com/docs/classic/adaptive-payments/integration-guide/APCallsHeadersAndPaymentTypes/)
Basically, I am trying to facilitate payments between 2 users. I also want to have a fee paid to me during this transaction. The confusing part of the documentation are the headers.
According to the reference you need these.
headers.put("X-PAYPAL-SECURITY-USERID", "tok261_biz_api.abc.com");
headers.put("X-PAYPAL-SECURITY-PASSWORD","123456");
headers.put("X-PAYPAL-SECURITY-SIGNATURE","Signature"
headers.put("X-PAYPAL-REQUEST-DATA-FORMAT", "JSON");
headers.put("X-PAYPAL-RESPONSE-DATA-FORMAT", "JSON");
headers.put("X-PAYPAL-APPLICATION-ID", "APP-APPID");
I don't know what to put for X-PAYPAL-SECURITY-USERID or X-PAYPAL-SECURITY-PASSWORD. I do not want to put my actual username and password. Is this what I am supposed to be doing to achieve this?
Those are your API credentials. You obtain those values in your PayPal profile under API Access, then choose the signature method.
Alternatively, you can click this link and login with your PayPal account to quickly obtain those values.

What is the diffrence between the two paypal payment pages?

When trying to pay for products/services through paypal, I get to see two possible options. One of them allows you to pay through your paypal account or debit/credit card while the other option only allows to pay through your paypal or register a new account.
I have trie to go over all the information about business accounts on paypal, but did not find any related information.
I am attaching screenshots of both paymnet sites.
Any guidance is vey much appreciated.
There is a feature called Account optional in PayPal.This is a merchant/seller setting and no buyer has control over it.
To turn the feature on or off, simply log in to PayPal, go to Profile, click ‘Website Payment Preferences’ under the Selling Preferences column and tick the yes/no box under PayPal Account Optional.
If this feature is turned On, then you will get to see Pay with Credit/Debit Card,
if not you will see Create a PayPal account.
P.S But, sometimes, even if this feature is on, PayPal will still display "Create a PayPal account".
This is due to some restrictions (buyers country,IP, how many times guest checkout is used etc). Its a complex limitation.

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.

PayPal Adaptive Payment Permission

I read the documentation from PayPal and there is one section stated that
"You can use the following standard services without requesting specific permission:
Making simple or parallel payments that require explicit approval of
the sender
Getting payment details
Making refunds
Performing currency conversions
To use any other service, you must receive permission from PayPal to use the service when you submit your application."
Does it mean that if I want to use Adaptive Chained Payment I need to ask for special permission from PayPal ? if so how would I submit the request ? Is there any possible obstacle ?
You need to apply for an APP ID regardless. The services listed above may be quickly approved, whereas other services may require more information.
To apply for a live Adaptive Payments APP ID, go to https://developer.paypal.com -> Applications -> My apps -> Create and manage Classic API apps.

To do chained payments 'must get permission from PayPal' - what does that mean?

I am trying to find a method to implement chained payments, but where I am the secondary receiver, and am making the API call on behalf of another PayPal account, who would be the primary receiver. Is it possible to make this API call on behalf of another person? The other person would likely has a Verified Premiere account (rather than a Business Verified account).
One reason I am unsure that this is possible is because the documentation on chained payments clearly states 'The API caller must get permission from PayPal to use chained payments.' (via https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APIntro/), but it doesn't make it clear what that means. Does anyone know what the requirements are? Would both I and the primary receiver need this 'permission'? How does one go about getting this permission?
When you create an APP-ID in the developer.paypal.com center (see under Reviewing applications with Adaptive API calls) you set up which features your applications will use. Some features are considered "basic" and do not require any special permissions adn your app will have a status of "Approved Automatically" if your app needs some special features (such is chained payments) your app will have to got through review process and the status will be "Conditionally Approved" What this means you can use basic features (such as simple adaptive payments) but you cannot use special features, until it is approved. Furthermore when you create an APP ID you have to specify that you will use this feature (granting permissions to third party user) so that APP is enabled to use this feature
Edit: Worth to note that when create the sandbox account your application will have all features enabled and it wil not require any special permissions from Paypal, so don't be fooled by that; because once you go live it will throw an error if your APP-ID is not approved (or rather if it is conditionally approved). Review process can take weeks, so I will advise to plan in advance and not take assumptions that if it works in sandbox environment that it will work in live by default.