Where is payment status 'Hold' in ipn simulator - paypal

My paypal ipn is working fine the status is getting updated but if the payment status chances to hold in case of a dispute then the payment status in database updates to null or empty, so I assume paypal returns the status as empty or null in case of hold due to a dispute.
I was trying to test the payment status hold in the sandbox to confirm this but I didn't find any option to simulate the hold status. Where is the status hold supposed to be in the ipn simulator ?
Check the image it has every other status except the "hold" status.

In the case of a payment hold the payment_status will be Pending.
When a payment is Pending, there will be a pending_reason set.

Related

Handling Paypal payment status 'Completed-Funds-Held' with time-sensitive goods

Good morning, I'm working with DoExpressCheckout's Payment Status response for an InstantPaymentOnly Sale.
https://developer.paypal.com/docs/classic/api/merchant/DoExpressCheckoutPayment_API_Operation_NVP/
By PAYMENTINFO_n_PAYMENTSTATUS all possible responses are shown, Completed-Funds-Held is the latest addition.
I'm providing a service that expires and must be used by a certain time. If the payments final status is not known by the time the service must start, its looks like we're going to have to collect payment (again) in person and refund the online payment. Needless to say, that doesn't sound good.
Q. Could Completed-Funds-Held result in funds never being deposited to the main balance?
The documentation for that particular status lists two possible response codes that go along with Completed-Funds-Held: newsellerpaymenthold (not applicable in my case) and paymenthold which vaguely states "A hold is placed on the merchant's transaction for a reason not listed."
Basically is Completed-Funds-Held a "successful" transaction where the purchaser can receive his product without risk of the seller never receiving payment?
EDIT: Is Completed-Funds-Held a final status if the payment is successful? Or will a Completed IPN request come if and when the hold is settled?
Those payments will eventually become available. What you should do is setup an IPN solution so that you can automatically update your system when a payment hold is released. The same would be true for things like e-checks where the payment status is simply pending and then clears a few days later.

express checkout: possible values of payment_status field in ipn after pending

I wonder what are possible values of field payment_status in ipn?
I can see in simulate in sanbox ipn with payment_status: Completed and Reverse.
Are other values possible for checkout transaction like Failed, Denied if transaction is
not completed after pending?
I implement paying using express checkout.
I process ipn to see if there are transaction with payment_status = 'Completed' if transaction had payment_status = 'Pending'.
If I cick Accept for pending transaction in checkbox, I receive ipn with payment_status = 'Completed' and implement purchase.
If I cick Deny for pending transaction in checkbox, I receive ipn with payment_status = 'Reversed' (but parent_txn_id is set to transaction not txn_id), which is rather suprising I thought it would be with payment_status Denied, I want to mark transaction denied in my system.
I wonder if I need to analyse other values to mark transaction as denied in my system.
How to analyze if payment is declined?
Open up PayPal's IPN Variables documentation and do a find on the page for payment_status. Step your way down the page to see where it could come up and what values might be.

IPN payment_status variable

I am using PayPal's IPN service to confirm payment. My listener is checking the payment_status variable hoping to find "Completed". I don't want to do anything in my database unless the payment comes back "Completed". My question is, what if it does not come back with that status? Will PayPal continue to communicate with my listener until it is complete? For example, the status could come back as "Processed", which appears to be a step before "Completed". Below is a link to a document with all of the variables:
https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/ipnguide.pdf
On page 10:
Because IPN messages can be sent at various stages in a transaction’s progress, make sure
that the transaction’s payment status is “completed” before enabling shipment of
merchandise or allowing the download of digital media.
So yes, I think PayPal will always give you an IPN with Completed status.

PayPal IPN Status

i am working on PayPal IPN and got problem when i got payment status = reversed.
is it possible for Paypal to send status = reversed for first time hit to IPN?
Shouldn't i got the status = completed first?
If its an eCheck, then it could be reversed before the check was completed... You don't get the money for those until PayPal clears the ACH.

Paypal transactions on fresh seller account, Completed and Pending transactions

I using sandbox in my application and made some tests transactions, after each transaction i made ipn sent to my ipn controller shows that transaction status was Pending, but i expecting Completed status instead.
Then i login to my seller account to see the transactions and i saw that all transactions status was Pending and Order status/Actions was contain buttons Accept/Reject. Then i decided to click Accept in the first transaction to see what would happend next so after i click to Accept the first one and all the rest transactions status became Completed, it is heppend automatically and also i get for each of them ipn sent to my controller again (i get ipn for these transactions before but with "Pending" status), but now all ipns was with status Completed. it all was a big surprise for me but i was happy that i find out that.
After that, i tried to create new transaction to see what would happend and after i did that ipn sent back to my ipn controller showed that transaction status was Completed, so it is what i was expecting initially.
So my question is, on live environment i want the first and all the next transactions to have Completed status, what should i do to make it hapend? Should i configure the account somehow for that? Or should i myself send the first transaction and than click Accept so all the next coming transactions will be accepted/completed by default (the same as i accidentally done in my sendbox environment)?
You probably have 'Payment review' switched on for the (first) sandbox seller account.
Go to https://developer.paypal.com/ > Test accounts and set 'Payment review' to 'Disabled'.