False IPN message "Incomplete" - paypal-ipn

Application: Adaptive Parallel Payments
Use Case Error: When Guest user pays a list of verified and unverified users, all payments and notifications are made but an INCOMPLETE Status is reported that triggers a false: "Your payment can't be completed. Please return to the participating website and try again".
This is a serious bug because it tells the user to resubmit the transaction when their credit card has already been charged.
Speculation: This error only shows up with the combination of a Guest user and verified/unverified recipients. All other use cases work fine. The combination of the Guest user and unverified recipients seems to be throwing the false message even though the transactions complete properly.
There is conflicting documentation about Adaptive Payments and unverified recipients. In the case of unverified recipients, they are notified via email and required to set up and account to access their funds. This works. It is the Error Message that is the problem.
Any insight on how to fix this would be greatly appreciated.
Thanks
John

Related

Adaptive Payments: Unilateral receiver not allowed in chained payment is restricted

We have integrated the chained payment successfully in our website.
Per testing, we have encountered the issue like
‘Account not found. Unilateral receiver not allowed in chained payment is restricted’.
Is there further instructions on how to fix it?
That is usually caused by receiver’s email address that is unconfirmed. Please ask the receiver to confirm the email and the issue should get fixed.
Here’s how to confirm the email address:
Log in to your PayPal account.
Click Profile near the top of the page.
Click Update beside Email.
Select the email address you want to confirm, click Confirm and we'll send you an email.
Click the link in the email to complete the confirmation process.
A unilateral payment is a payment to an email address that does not yet belong to a PayPal account.
In most cases, the user would receive an email that they have been paid money and they need to create a PayPal account in order to receive/withdrawal the funds.
This feature is simply not available when using Chained Payments. All receivers must have an existing PayPal already.

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 Mass Pay API Response Handling

So this is probably more of a discussion item so I apologise if this should go elsewhere.
But I need to handle Responses (IPN) from using Paypal MassPay API.
At the moment I'm handling the Notifications correctly and tracking past payments made (Royalty Payments System).
Problem 1: Unclaimed Payments
But I've encountered an issue which I can't seem to handle on the sandbox site and that is Unclaimed payments. Now according to MassPay guide:
If the recipients do not have PayPal accounts, PayPal notifies them that a payment is available and they must create a PayPal account to receive the payment.
I assume this means that Paypal sends the user an email, I tried to test this but I received no notification
Problem 2: Claiming unclaimed Payments
Following the previous problem, I've been unable to test users claiming unclaimed values. So I'm wondering does anybody know how Paypal processes these and the format of the response;
Does the response contain all previously claimed payments?
Does the response contain all unclaimed payments?
Does the response contain the status of all transfers in that transaction?
Thank you in advance
When you send out your MassPay request, any unclaimed payments will be pending until they're claimed. Your IPN will show "processed" instead of "completed" for the status. Once they claim the payment you will get another IPN showing the payment has been completed.
When working in the sandbox you won't get any actual emails from their system. All test emails show up in your developer.paypal.com account under the test email section there.

How to verify paypal reference transactions is enabled

Hi I'm setting up paypal pro for a client. I need reference transactions to work as we would have to bill the customer each month and sometimes the amount may vary.
Credit card payment
The code flow has been tested with paypal sandbox and it completely works. But with the real account we get the following error.
"This transaction cannot be processed. Please contact PayPal Customer Service."
Paypal Account Payment/Express Checkout
It did not work with paypal sandbox too owing to reference transactions not being enabled. i'm facing a similar situation with the paypal pro account too. I get the error
"Merchant not enabled for reference transactions"
We sent a request to paypal asking them to enable reference transactions. They replied back assuring they did but I still get the same error. I even tried removing the current api signature and recreating a new one. But I still get the same error.
Has anyone faced a similar situation ?
Is there any sure way of verifying if reference transactions is enabled?
If it is not, is there a way to enable it other than going through paypal's customer service (it's appalling) ?
Yes it's easy.
Just try to make a payment with a billing agreement.
Just above the confirmation message on the PayPal website it will show:
Use PayPal for future payments to XXX Inc. Payments will be made with
your default payment method unless you select a preferred payment
method. To make changes, go to My money in your Profile, and update
the My preapproved payments section.
If you don't see that message they're not enabled (or your request is wrong). But of course you can check in the sandbox to make sure the request is correct.

PayPal Chained payments error 520009

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