transaction status paypal adaptive payments - paypal

I do not understand this IPN values:
status=COMPLETED
transaction[0].status_for_sender_txn=Pending
transaction[0].status=Pending
I'm using adaptive payments, but I don't know why status is allways COMPLETED and transaction[0].status is allways Pending!!!!
I'm using sandbox, but I don't understand why the transactions are allways pending, I don't know when to enable the buyer to download the contents that he payed...
And there is no official documentation on the web...

The status of the transaction can be Pending in 'delayed chained' payments or if the receiver does not have a PayPal account. Can you post the whole payload? I can see only a part of it. Is this a chained payment you are trying? Is the receiver primary or secondary?

Related

Paypal adaptive payments php response after complete payment

I am new working with adaptive payments of Paypal.
I completed payment using adaptive payment API.
On some research I found, to get transaction details IPN has to be implemented.
I have the code for IPN, but how do I get details just after a transaction is completed so that I could add those details in my database?
I have put the return URL to be the IPN code. Is this the correct way to do it?

PayPal Live Transaction Completed but IPN does not update from Pending

We're using PayPal Payments Standard and IPN to process payment transactions and enable digital goods download after our IPN listener script recieves notification of a completed transaction.
We've done thorough testing on the PayPal sandbox and made sure our scripts handle different scenarios properly.
Just to be sure, before opening the sales to public, we've done some testing with the PayPal live interface - performed a few small sales using a previously verified PayPal account to pay for the goods.
Our IPN listener script has immediately received notifications, but the payment_status in both of them was 'pending' with pending_reason = 'paymentreview'. After logging to our seller PayPal account a few minutes after making the payment, both transactions have the status 'Completed' and are ready to ship, yet our IPN listener did not receive any further notification updating the status of the transactions.
By checking the IPN history on our seller PayPal account, we can see that only the initial messages for both payments have been sent (with status 'Pending').
The PayPal developer docs are explicit about not allowing the download or shipping goods before the transaction is succesfully completed, yet we do not receive an update via IPN even 48+ hours after the payments.
We did not experience any such problem during testing period on PayPal sandbox interface.
Is this an issue with the IPN interface, or there is something that can be configured through our PayPal account that will resolve this issue and make IPN behaviour consistant with PayPal developer docs?

Paypal Chained Payment

Is there any way that I can programmatically check to be sure a customer's account is confirmed and is ready to receive payments in paypal?
Donations via our website always fail due to unconfirmed email of our primary receiver. I am using Paypal's Adaptive Payment (Chained Payment).
Thank you.
There isn't specifically an API currently for confirming that a buyer account/email is confirmed. What some merchants use as a work around for checking this is use the same API call that you are making, with a failure inidicating that it is not confirmed.

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.

PayPal express checkout handling "pending payments" with IPN

I cant find anny clear documentations about this.
If you use paypal express checkout, when a payment is pending what happens next?
Does paypal sends you by IPN an update if the states changes, do you have options?
Let say you do an DoExpressCheckoutPayment (with NVP)
and you get this:
&PAYMENTSTATUS=Pending
&PENDINGREASON= ECHECK //The payment is pending because it was made by an eCheck that has not yet cleared.
&REASONCODE=None
So you've made the payment and you want to wait until its cleared? What should you do next.
Update Some (external documentation) I found only sugest you could use (IPN?) to handle pending payments.
"If the Do Express Checkout Payment PENDINGREASON response is a value
other than none or completed , the payment is pending. Typically,
this means the customer has paid with aneCheck. In such a case, funds
are not guaranteed, and you should not ship or deliver items or
services until the payment has successfully completed. NOTE:
PayPal recommends that you block eChecks as a payment method if you
are unable tohandle pending state payments.To find out the status of a
pending payment, you can:
Submit an Inquiry transaction.
Check the status using PayPal Manager. See PayPal Manager online help
for details."
The paypal sandbox seems to have the option to check IPN messages for the express checkout type. The only correlation (if its ment to be used this way) between the DoExpressCheckoutPayment and the IPN seems you can use the "custom" field to keep track of a pending status. The txn_id (ipn) isn't given in DoExpressCheckoutPayment (nvp). Does any one have any experience with this?
The transaction ID is most certainly given in DoExpressCheckoutPayment, even if the PAYMENTSTATUS=Pending. A pending payment is still a transaction.
So yes, you would be notified via IPN when the transaction is completed. This typically takes a few working days.
Once it has completed, you can correlate the transaction from DoExpressCheckoutPayment to the IPN you will have received via the txn_id in the IPN.
Note: If you want to test a 'Pending' payment in the PayPal Sandbox, simply go to https://developer.paypal.com/ > Test account and click on 'Payment review' for the seller account you're testing with.
Once payment review is enabled on that seller account, any transactions it receives will be in a 'Pending' state.
Simply disable payment review to release the tranasctions afterwards.
I thought i'd add my two pence worth of thoughts to this.
I was getting a pending return status using Express Checkout via the dotNet SDK, according to the doc's and examples I should have been getting an 'approved' status.
I couldn't figure out why but it turned out to be because I was passing through a new currency, in our case 'GBP'. I had to log in as the facilitator sandbox account and decide what to do with the new currency.. convert it or setup a new balance in the currency. Once I did this, and set it as the default action, the pending return status no longer occurred.
hope that helps someone!
One thing not noted here and I haven't found anything else to confirm.. is that Paypal Express API doesn't support passing in the NOTIFYURL with the code. So you have to use the hardcoded IPN url set in your paypal account. This of course causes issues because you need a common callback file that can redirect to the individual payment options.
For example, if you are using Paypal Express AND Paypal Advanced.. Neither of those properly support a notifyurl passed in using the code. Paypal Advanced claims to, but it doesn't seem to work. So there needs to be a common IPN callback file that handles the redirection to each.
Unless someone else can confirm a working notify url for Express Checkout variable that can be passed in the code?