cancel
Showing results for 
Search instead for 
Did you mean: 

What is the proper way of identifying a paying customer in IPN?

Highlighted
Contributor

What is the proper way of identifying a paying customer in IPN?

I am developing the listener side of a customer site, which comprises some payment buttons. We have the infrastructure to support a userbase, and the IPN callbacks have already been developed. I have tested our payment checkflow, which goes this way: the user chooses their subscription plan; completes the payment after clicking on the PayPal button; has their subscription status updated by our IPN listener once we receive an IPN HTTP POST request.

 

The user registers onto our website via email, and we use that to identify whose user is the IPN request we receive. The only issues is: how can we tell whether the customer email on our website matches the one they use for PayPal?

 

Are there other ways to identify a customer in such a setup? Or should we associate a PayPal account with the one in our database, thus knowing the PayPal email address or whatever ID?

2 REPLIES 2
Advisor

Re: What is the proper way of identifying a paying customer in IPN?

I typically have local customer records in the database with the order data including that customer ID. Then I pass my order ID in the "invoice" parameter of PayPal payment requests. This value will come back in the IPN data, so you can then pull your local customer record using that related order ID.
Angell EYE - www.angelleye.com
PayPal Partner and Certified Developer - Kudos are Greatly Appreciated!
Contributor

Re: What is the proper way of identifying a paying customer in IPN?


@angelleyewrote:
I typically have local customer records in the database with the order data including that customer ID. Then I pass my order ID in the "invoice" parameter of PayPal payment requests. This value will come back in the IPN data, so you can then pull your local customer record using that related order ID.


Hi @angelleye, thanks for the reply. If it isn't clear we are just using payment buttons whose HTML text we paste into an HTML template - actually, into an admin form, which in turn saves it to a database field. I chose this approach to level out the management between two different payment platforms. I do not think I can have programmatic access to those PayPal buttons