How to validate valid paypal id? - paypal

I am creating an android app which will be integrated to the paypal. I want to validate the email id provided by the user if its valid paypal id from the server side. I am unable to find any reference to validate valid paypal id. If their any REST api to achieve this or any function in the paypal android sdk, please tell me. Your help will be really appreciated.

The only way to validate whether an email corresponds to an existing PayPal account is to have the user "Log in with PayPal" and look at the response details you get back with that API.
Integration document: https://developer.paypal.com/docs/log-in-with-paypal/integrate/
Try the button generator in Step 4 as opposed to doing it manually.

Related

PayPal Payouts with encoded user id

I need some help with Paypal Payouts. I am currently using Java SDK and working in sandbox environment.
I am trying to implement a button in my webapp that will enable users to receive monetary awards in their paypal accounts. My first idea was to ask for their email and then - using the SDK create a payout item and send that. All works well, except that when someone types (unintentionally I assume) wrong email, then money are not going to be transferred. That is why I decided that asking the user to login with paypal and then using their paypal id will be much more error-proof.
So I followed the steps described here.
I am successfully able to exchange the authorization code and receive access and refresh tokens. Then I use those to load user info that contains only user_id (login scope is openid).
When I try to create a PayoutItem with recipient type PAYPAL_ID and value - user_id from Userinfo object - the operation is unsuccessful (no error - just the batch result is null).
We do not have and we do not expect to have any transactions from this user - so there is no way to use getTransactionDetails in order to retrieve payer id.
I suspect that user_id is not the correct property to use. However, I cannot find any information on how I can integrate payouts with recipient type PAYPAL_ID combined with paypal login.
Help, please!

Facebook messenger payment error

I created a bot and I am trying to test Buy button following the instructions at https://developers.facebook.com/docs/messenger-platform/payments#test_payments and I did set is_test_payment to true. But I got the error “(#1158) No valid payment provider found. Please add a valid payment provider, it can be tokenized payment, stripe or paypal.” I understand the payment is currently only available to US, but I found no place to specify the location of my page is US. How should I fix this?
You have to set up a payment provider, even if you are going to be testing payments. Tokenized payments is the easiest way to go, just generate a key and add it with the Messenger Profile API.

Where would I find a PayPal users PayPal_id?

I am working with the PayPal Node.js SDK and I am trying to payout a user. In order to do that I can use either their email, phone number or encrypted PayPal ID. We would prefer to work with encrypted data as much as possible. Where would we find a users paypal_ID?
If any of our code would help us find this information, we can post it just tell us what you need. Thanks in advance to all.
It should be displayed in the account overview page or in the profile. It typically shows your PayPal account email and merchant account ID.
It can also be obtained via the GetPalDetails API, but that's not REST. I'm not sure if REST has an equivalent API yet or not.

Transaction description and app name not showing with PayPal REST API

I am using PayPal Payments REST API to accept payments on some website.
Just now I noticed that both the transaction description as well as the app name (which you configure in developer dashboard) are no longer displayed. Why is this? Some recent change? Or something with my account?
It is very bad as I have a single company PayPal account which I use for various websites and the app name & transaction description is to give the corresponding payment flows their own identity. Currently people abort payments because they don't understand why the details in the payment overview on PayPal are completely different/unrelated from where they initiated payment.
Please see image below for what I mean.
If anyone can confirm this is happening for everyone now and/or refer to some PayPal documentation/statement regarding this topic then please share. I could not find anything on PayPal developer resources.
To display a 'custom' name, you need to create a custom 'Web experience profile'.
I was utilising the PHP SDK so did so by following their sample code.
You can also create a 'Web experience profile' with a direct request to the relevant API endpoint.
Once you have created the profile you simply set the identifier on the Payment object (PHP) like so:
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction))
->setExperienceProfileId($this->config->paypal->experienceId);

How to get paypal API credentials?

I am using Paypal recurring payments and direct payment.
I tested it using beta-sandbox and works fine.
Now I want to make to real paypal account.
I have been given real paypal account, and I login with it on https://www.paypal.com/, but I don't know how can I generate API Credentials ?
this looks completely different from sandbox environment.
Check out this guide to Obtaining API Credentials from PayPal. You will find how to create/view/remove your API signature/certificate in PayPal's live setting.
Update
As per the comment, the previously held answer is out of date. To obtain your API credentials, log in here.
If you want to retrieve the api user name, api password and api signature for live then you can get it directly by log in to this url from Paypal.
Log in to Paypal. Click Tools or hover over Tools and click All Tools from the drop down menu. Sort alphabetically and API Credentials will be the first one.
Login to PayPal, go to Profile and then Selling tools. Click the update link on API access and request API credentials. Refer to this link for a detailed step by step guide.