Identifying Duplicate IPNs on subscr_signup
I am implementing a simple membership site and am testing my IPN code and I have run into what seems like a contradiction.
In the Paypal Developer Documentation (https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/#link-ipnprotocolandarchitecture) a little ways down under IPN Protocol and Architecture is this:
Verify that the IPN is not a duplicate. To do this, save the transaction ID and last payment status in each IPN message in a database and verify that the current IPN's values for these fields are not already in this database.
Note: You can't rely on transaction ID alone to screen out duplicates, as this scenario shows: 1) PayPal sends you an IPN notifying you of a pending payment. 2) PayPal later sends you a second IPN telling you that the payment has completed. However, both IPNs contain the same transaction ID; therefore, if you were using just transaction ID to identify IPNs, you would to treat the "completed payment" IPN as a duplicate.
Now, when I look at what variables are passed upon a subscr_signup, neither the txn_id or payment_status fields are present, so how am I supposed to check that the signup is not a duplicate?
What am I missing here??
Haven't Found your Answer?
It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.