paypal IPN returns pending_reason: unilateral - paypal

My PayPal IPN scripts runs very well. When I test with my sandbox account it, the payment is made instantly, however when I use my client's business email, I got payment_status as 'Pending', with pending_reason as 'unilateral' in the IPN log call.
My client's email is confirmed at PayPal. So can anyone tell me why I am getting this issue?

pending_reason=unilateral means that the email address of the payment recipient has not been registered with PayPal. For the full list of pending reasons, see the PayPal IPN documentation.
Check the email address for typos, and double-check with your client that they truly have registered their address with PayPal (they may not understand what this entails).

Only accounts made in www.sandbox.paypal.com exists when testing on www.sandbox.paypal.com. So you can't use live accounts for testing, because they don't exist within the sandbox site. You should create the accounts at developer.paypal.com

I had this problem - I was sending PayPal my "live" payer_email, when I changed it to the business email in the sandbox it worked. same as my live email with ****-facilitator#yoursite.com

Double-check if your Paypal primary email address has been confirmed. For me this error happened when my client's email wasn't confirmed yet, of all things!

Related

PayPal IPN message is always payment - pending

Working on a sandbox, Paypal will always send me back and IPN message with the pair payment_status:pending.
I know that this might happen due to different currencies and that I can change settings in my account to accept different currencies.
But, I am using the service when a seller and a buyer that I don't know make a transaction, so I can not do anything about it .
Is there a way to allow any currency in the POST request ?
What really the seller see when the payment status is pending ?
If the payment status will change to completed later, how will my IPN message look? there is nothing that says how the object from IPN will look when status is changing ? how can I handle such change ?
Solved by sending money to the sandbox account and not to my real live account.
So, you must send funds from a sandbox email to another sandbox email.
Create another merchant account on the developer website
Send money from a sandbox buyer to a sandbox seller

IPN Sandbox Testing

Been a while since I've dealt with PP IPN. Anyway - reworking an old client's checkout processing - one option is PP and we used IPN. I still have a sandbox acct and used the sandbox url instead of the live PP url.
I see the purchase and a correct debit to my sandbox acct - AND I received an email from the client's server (which is sent only when the IPN is received). But the email is a bit odd in that it says....
*** THIS PAYPAL PAYMENT IS IN A PENDING STATE.
THE REASON GIVEN BY PAYPAL IS: unilateral
THIS ORDER CANNOT BE FULFILLED UNTIL THE PAYPAL STATE IS
CHANGED FROM PENDING TO COMPLETED. ***
Is there some way for me to complete the transaction in my sandbox account? It's a purchaser account - not a merchant account. Or does my client need to go into his live merchant account to handle the test purchase?
Thanks (any pointers to relevant docs are also welcome)
Make sure that the email address you are using for testing in the sandbox, is linked to an actual sandbox account and is confirmed. This some times the case when the email address is not tied to an account and verified. You would need to log into the sellers test sandbox account, verify that the email address is linked to that account and confirmed/verified.

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 IPN - What if website email address differs from PayPal account email address?

I am about to set up an IPN script after users make a purchase from my site but I just had a thought, what if the email address they signed up to my site with differs from the email address they signed up to PayPal with?
i.e. they sign up to my site with forename.surname#domain.com but their PayPal account login is surname.forename#domain.com.
The PayPal IPN will send back surname.forename#domain.com and I have no way to identify who has just made that purchase.
I realise in this simple case it may be possible to find an email address similar to that in the database but in the real world people have crazy email addresses and that isn't always going to be possible.
Has anyone solved this problem before?
It may be best to use a different identifier such as an invoice number or pass a custom value to PayPal for the payment. PayPal will return this via IPN and can be used to link the payment to the customer's account on your website.
This way you pass a value to PayPal that is linked back to that customer's account regardless of their PayPal account details.
Hope this helps!
I suggest that you should force the customers log in before placing an order, then you can get the email they used in Paypal from the return value, and combine the two emails in some way or even just leave them.

paypal IPN unique id

I am using paypal to verify users on my website by having them a .01$ payment and getting their IPN information.
To prevent double subscriptions therefore, I need a piece of information that is sent over the notification that is absolutely unique.
I have noticed that one can change their email over paypal so, email is not viable. Are there things in the IPN that are unique and do not change over time, like by making other payments or changing email address?
Thanks in advance.
PayPal provides a PayerID that is a unique identifier for PayPal accounts. It never changes regardless of what users do with their email address or anything else. It gets returned in IPN as payer_id.