PayPal Chained payments error 520009 - paypal

I am trying to setup a chained payment app, and got the application approved. I was hoping that like in parallel payments, chained payments can have users with or without a registered paypal account. But with email accounts that are not registered, the api returns an error code 520009 saying the account 'email#domain.com' is restricted. I did see the following link having the same issue.
https://stackoverflow.com/a/10262241/903978
Though in their dev doc says anyone with an email can get paid/ notified (except the app owner who needs a verified account), It is throwing an error. I have posted a ticket to paypal/mts but have nt heard from them yet.
My app case is,
1. User gets paid eg $100. They are the primary recipient in chain.
2. application (secondary reciever) gets a cut of this payment. say $2.
Any one know if chained payments need primary as well as rest of the recipients to have valid paypal accounts and not just an email? Or is there something in the call that allows primary recipients with just an email address?
( I know that application owner needs a registered paypal account).
Thanks

Paypal/mts confirms that their documentation is incorrect. Chained payments require confirmed paypal accounts and not just an email ID. They said they will update the documentation.

I can confirm this also, Paypal Adaptive Payments with Chained Delayed payments does require the secondary receiver and the primary one to be verified, but there seems to be some confusion about 'confirmed' and 'verified'. When pressing PayPal on this we discovered the criteria differs (or so they told us at Eco Market) and that users sometimes have to have confirmed their email address (simply clicking the verification email they get sent), but sometimes also have to go a step further and verify their account (going through the other steps like bank account confirm). They told us is varies based on country sometimes but for security reasons didn't tell us much more on how they do this (not overly helpful).
What we do to handle this is catch the error and as a marketplace we automatically contact the customer/seller to inform them the order cannot be processed due to the sellers account not being verified.
Going a step further, you could also validate sellers (again in a marketplace model) accounts by using the exact same API to take a small payment from them (which could be refunded using the API), which would allow you to validate sellers to make sure that they had a verified account before signing up.
Hope it helps if anyone else has any experiences of this and how they handle it I'd love to hear.
Jason Dainter
Eco Market

In my experience, in adaptive payments, (in particular chained payments) you need this environment:
a) the app holder/developer must have a registered and verified paypal business account (the premium account is ok too but not the personal)
b) the recipients must have a business account
if the amount doesn't exceed the limits it is ok if it is not verified too but if the amount exceeds the limit you'll have a problem in the chain.
c) the sender must have a paypal account, a simple personal account will fit.
Sometimes (rarely) happens that one payment fails due to restrictions on the sender email. The most frequent case I saw this happens was when the sender made a preapproval with one e-mail and then, before the preapproval was payed, he/she changed the e-mail in his/her paypal account. Silly but paypal has no control on this environment.
Hope this is helpful for you.
Cheers, Fil.
Genoa, Italy

Related

Verify Paypal id is valid or not inserted by user

I want to verify that whether user has entered valid Paypal id or not. If not than user can't do registration. I've also visited this [1]: How can I verify a PayPal ID? question but it doesn't help me :(
You can't find a direct answer because "valid PayPal ID" doesn't have a single fixed meaning. You will need to be more specific as to what you are trying to discover. Then there may or may not be a way to accomplish what you want, since PayPal protects some aspects of their customers' account and identity information for their protection (and for business reasons).
A bit of background that may help you clarify your question, if not necessarily answer it:
Any email (or phone number) can be configured to receive PayPal payments, in many cases even if the email was not attached to a PayPal account at the time the payment was sent. However, not all PayPal products can function in this way (e.g. you cannot make API calls as an account that has not been set up and has not generated API credentials). Are you asking about receiving money, and if so with which product(s)?
Most people can pay through PayPal if sent to a PayPal page, whether they are accountholders or not (depending upon the PayPal product being used). In addition to guest payments and/or direct credit card payments through PayPal, people can set up PayPal accounts when they arrive and immediately pay with them. So collecting email first and refusing to go forward if there is no PayPal account attached to that email would loose you potential customers. It would also "let through" many customers who could not pay, such as people who know an email address but don't own the attached PayPal account. PayPal also intentionally declines to easily answer questions about whether an email has an associated PayPal account in order to make it harder for bad actors to accumulate lists of PayPal accounts (often with associated personal information) for spear phishing campaigns. There are some APIs that allow you to get limited information about a PayPal account but there are limits associated with these APIs; see e.g. GetVerifiedStatus documentation at:
https://developer.paypal.com/docs/classic/api/adaptive-accounts/GetVerifiedStatus_API_Operation/
Note also that Verified has a particular technical meaning in PayPal, and is NOT AT ALL THE SAME as "able to pay you."
If you want to know if someone can log into their PayPal account, and then use that PayPal account to get information about the user (as well as potentially pay you), that's easy: use Login with PayPal. That's what it's for. Naturally this requires the user to login and assent to your use of their information.
If you want to know if someone can take a particular action (e.g. make a payment), at this moment, the only way to be certain is to actionally request that action. You have options short of actually requesting money; if you want to ensure the user has funds and reserve them for you to collect shortly you can request an authorization rather than a sale. If you want to make sure the user can log in, has payment mechanisms and generally looks ready to pay you (but WITHOUT reserving and guaranteeing funds) you can request an Order.
Hopefully one of these things is what you are asking for?
If you have a PayPal AccountID (a PayPal-generated ID rather than an externally-generated identifier like email or phone number) you can pass it to certain APIs (such as the GetVerifiedStatus), so many of the same options above apply.

PayPal recurrent payment. How to claim them?

I've been working (or should I say struggling) with the PayPal SDK to get recurring billing running for my website. I managed to get it to work, however I do not see how to automatically "claim" the money?
Basically what happens is:
The profile is created, after 24 hours the payment is done and I see the following in my merchant sandbox account:
It seems I need to manually accept the payment for the amount to be added to my PayPal balance.
Is there a way of doing this automatically?
This is usually caused by an issue with the recipient's account. Most commonly, The recipient hasn’t confirmed the email address on their PayPal account. Once the email address is confirmed the amount would automatically post to the balance on future payments.

PayPal - several API type "can it be done questions"

I have an app that is both Web and Mobile. I know what I am trying to do is a bit messy but I was hoping someone could help guide me through the options please. I have done some reading and check replies on Stackoverflow but I'm am getting confused.
The main criteria here is I do not want to have the users log in to PayPal every time, approve a transaction every time. So I guess part of the solution is to have them set up an Agreement to pay ?
I have a Business account.
a)
is it possible to transfer funds from a users bank account they have with paypal, to some other paypal account. In other words make a payment from their bank account to a specified paypal account they do not own (namely some merchant)
b)
is it possible to transfer funds from one paypal account to another. Lets say mine to someone else's.
c)
is it possible to transfer funds from one paypal account to another. Lets say someone else's to mine.
d)
is it possible to transfer funds from my paypal account to someone else's bank account.
e)
I guess PayPal IPN could be used for instant notification ?
All of the above needs to be done in the background without user involvement apart from them entering the amount, and say yes proceed. No passwords or bank account details to be entered etc.
I would preferably like to do the above on a web server rather than on a mobile device. So within server-side code.
thanks in advance
It is possible to do some of what you are asking using a Billing Agreement. In a BA, you agree that I can charge your Paypal account without a further login. It's a one-time setup.
You can use the MassPay API call to pay anyone. All you need is their email address. There is a fee to you to do this, tho.
You can make third party calls (where I make calls on your behalf) so it's theoretically possible for me to issue a MassPay on your behalf.
You cannot send money to a bank account (i.e. ACH-style). You can send it to their paypal and they can log in and move it from there.
All transactions will send an IPN if you have one specified.
Hope that helps

Paypal ExpressCheckout + chained Payment

I developed a Web Application that accepts payments via the ExpressCheckout API, for users to become a members.
Everything works fine.
I now want to extend my Web Application Services and offer my users with the possibility to buy items which are sold by third parties (my members).
The principle I would like to implement is quite simple: for each order, let the user pay for the item they choose and then transfer a part of the amount I received to the item provider, and keep some money for me. I would like to automate this process so that once I received the payment notification, I compute the amount of money to transfer to the item provider who might or not have a Paypal account (in other words, this means that I could maybe need to transfer the money to a bank account, using the IBAN/SWIFT data) and then proceed with the money transfer.
I tried to find a solution reading your documentation and came across the "chained payment" but the latter does not seem to be used within the ExpressCheckout workflow.
Also, since my implementation of the ExpressCheckout flow works, I would not like to have to find a totally different solution but rather extend it... if possible.
Could you please tell me which is the best solution for me?
In advance, many thanks for your help.
You could do 1 of 2 things. You could use Express Checkout with parallel payments. This means you could split the transaction up between different accounts at the time of purchase. The other option would be to just receive all of the funds into your account, and then when you are wanting to send money to the other accounts you could either use the Adaptive Payments (Pay) API or the MassPayments API to send money to the other accounts. Keep in mind you would have to send it to their PayPal accounts, you would not be able to send it directly to a bank account with either one of these API's.
I had the same issue and I got an answer from PayPal that it is not allowed to use Express Checkout to transfer money to your PayPal account and - at a later point in time - transfer the amount minus your service fee (which stays on your PayPal account) via Adapative Payments API to the seller's PayPal account. PayPal suggested to use Chained Payments API instead. All works fine in the sandbox, but once you need a Live APP ID from PayPal they will review your business case and deny it. At least that what happened to me.
I know that is old question, but anyway, I tried to find solution and was enable to perform the simillar thing like described in question. So, then I asked paypal about this, and they gave me advice to use SellerDetailsType Fields that 's called PayPalAccountID, description for this field is Unique identifier for the merchant. For parallel payments, this field is required and must contain the Payer Id or the email address of the merchant. It wasn't clear for me to use this field for solving my problem. Here is link https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/SetExpressCheckout_API_Operation_SOAP/ I described field for soap request, for NVP it's called PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID, but the idea is the same. I hope it will help someone.

PayPal Errors for Emails without a PayPal Account

I'm building a site where one user can use PayPal to buy an item from another user. I want the money to go directly from one to the other while I just handle the IPN and the interface. I've set up the encrypted button to use cmd = _s-xclick and for the encrypted data: cmd = _xclick, business = the email of the seller and email = the email of the buyer. I'm having some issues completing the transaction. For example, User A has a PayPal account, User B does not. Both have an item being purchased by the opposite user. Clicking the "Pay with PayPal" button for User A (to buy User B's item) yields:
"The merchant is not a business or premier PayPal account. This feature is only enabled for a business or a premier PayPal account holder."
Clicking the "Pay with PayPal" button for User B (to buy User A's item) yields:
We were unable to authorize the transaction. Please contact your merchant.
I'm assuming the first message is because User B does not have a PayPal account, but I thought that PayPal will still accept the payment and hold it in a temporary account until that user signs up.
I'm also assuming that the second message is also because the buyer (in this case User B) doesn't have a PayPal account. But I thought PayPal would just give them the option to create one right there or use a credit card to make the payment.
Am I missing something (e.g. is there a different variable I need passed)? Or do I have to somehow confirm that a user has a PayPal account before allowing them to buy/sell an item.
PS: I'm pretty sure, but I'll have to confirm, that it works if both parties have PayPal accounts and the seller is a business/premium account.
This way is not a great solution because you have no way to check or guarantee that both parties have a PayPal account. I recommend using Adaptive Payments (Chain Payments). This will allow you as the PayPal account holder to run each transaction and it will send the money to the appropriate seller PayPal account, or e-mail them to let them know they have money waiting if they do not have a PayPal account, so that they can sign up and claim the money.
We recently began receiving this extremely unhelpful error message and we had to contact Paypal Merchant Technical Support. After much back and forth received the following response:
Unfortunately, we PayPal are facing some difficulties with encrypted button currently and our developer team is resolving this issue as we speak. In the meantime if you don't mind could you create a secondary email in your account then set it as primary, next regenerate the button again and test it out. For now this is the only work around they provided if you require to use encrypted button, give it a try and see if its worked, let me know if there's anything else you need, I would be happily assist you. Sorry for the inconvenience caused.
Tried that and it worked. It made me want to curse at someone, but it worked.