Question

Which informations obtained from IPN you should keep inside your local Database ?

Is the $_POST['txn_id'] field the only field needed to assure you a retrack of all the transaction informations from paypal? Or is it better to insert all informations obtained from the IPN/PDT postback?

Basically i'm trying to figure out wich info I need to store in case of a transaction problem and/or a user complaint.

Was it helpful?

Solution

No, the txn_id isn't enough. According to the documentation PayPal provides on their Introducing IPN page

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.

At a minimum, according to this you need to story the transaction ID and last payment status. It's also a good idea to store information you may need to audit against PayPal if there is ever a discrepancy payments you receive versus what you think you should receive.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top