0

I have developed the IPN listener side of a PayPal-enabled website which records user subscriptions. Currently when I am interested for a successful transaction I look for the payment_status variable, ensuring that payment_status == "Completed", but as can be clearly noted in the PayPal IPN variables reference, there's lots of them and I can't say whether I'm overlooking some.

So, in the end, my questions are:

  1. Is a payment transaction considered successful if and only if payment_status == "Completed", or is there any other variable that can determine it?
  2. Are there any other important or common states associated with a payment transaction that is worth considering?
Acsor
  • 1,011
  • 2
  • 13
  • 26

1 Answers1

0

Have a look at all the sample code they provide. You will see that they go to a lot of trouble to make sure that the product being bought actually exists, and that the price is correct for the way they bought it (buy it now, subscription, trial period, ...).

Basically you cannot assume that the original transaction that gave rise to the IPN was not forged somehow. It's easy.

user207421
  • 305,947
  • 44
  • 307
  • 483