PayPal Express Waiting for Payments with IPN

I can not find clear documentation about this.
If you use PayPal express payment, when the payment expects what will happen next?
Does PayPal receive an IPN update if status changes, do you have options?

Let's say you do DoExpressCheckoutPayment (with NVP) and you get the following:

&PAYMENTSTATUS=Pending &PENDINGREASON= ECHECK //The payment is pending because it was made by an eCheck that has not yet cleared. &REASONCODE=None 

So, you made a payment, and want to wait for it to be cleared? What to do next.

Update Some (external documentation) I found only the strongest that you could use (IPN?) To process pending payments.

"If the answer is" Express payment verification "PENDINGREASON is a value other than this or completed, payment is not expected. As a rule, this means that the customer paid using aneCheck. In this case, the funds are not guaranteed and you should not send or deliver goods or until the payment is successfully completed. Note:
PayPal recommends blocking eChecks as a payment method if you cannot process pending government payments. To find out the status pending payment, you can:

Submit a request transaction.

Check status using PayPal Manager. See PayPal Manager Online Help for details. "

The PayPal sandbox seems to have the ability to check IPN messages for express type statements. The only correlation (if its use will be used in this way) between DoExpressCheckoutPayment and IPN, it looks like you can use a "custom" field to track the wait state. Txn_id (ipn) is not specified in DoExpressCheckoutPayment (nvp). Does anyone have any experience with this?

+7
source share
3 answers

The transaction ID is, of course, specified in DoExpressCheckoutPayment, even if PAYMENTSTATUS = Pending. Pending payment is still a transaction.

So yes, you will be notified via IPN when the transaction is completed. It usually takes several business days. After its completion, you can match the transaction with DoExpressCheckoutPayment with IPN, which you will receive through txn_id in IPN.

Note. If you want to test the “Pending” payment in the PayPal sandbox, simply go to https://developer.paypal.com/ > Verify your account and click on the “Payment overview” section for the seller account you are testing with.
After the seller’s view of payments is enabled on this seller’s account, any transactions that he receives will be in the “Pending” state.
Just turn off payment verification to free transactions afterwards.

+13
source

I thought I would add to this two thoughts about retirement.

I received the pending return status using Express Checkout via the dotNet SDK, according to the document and the examples that I should have received the “approved” status.

I could not understand why, but it turned out because I was going through a new currency, in our case “GBP”. I had to register as a facilitator sandbox account and decide what to do with the new currency .. convert it or set up 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 this helps someone!

+2
source

One thing that was not noted here, and I did not find anything else to confirm ... is that the Paypal Express API does not support passing code to NOTIFYURL. Therefore, you must use the hard IPN code provided in your PayPal account. This, of course, causes problems, because you need a common callback file that can redirect to individual payment options.

For example, if you use Paypal Express and Paypal Advanced. None of them support the notifyurl support passed when using the code. Paypal Advanced claims, but doesn't seem to work. So there should be a common IPN callback file that handles the redirection for each.

If someone else cannot confirm a working pointer to an Express Checkout variable that can be passed in code?

+1
source

All Articles