snowplow-archive / codeigniter-paypal-ipn

A CodeIgniter library for working with the PayPal IPN (Instant Payment Notification) service
111 stars 34 forks source link

Options from paypal price/option dropdown not being inserted to db. #19

Closed toymachiner62 closed 11 years ago

toymachiner62 commented 11 years ago

I have a paypal button with a dropdown where a user can select 2 different items. The dropdown info is not being inserted to the db. Any ideas on whether i'm doing something wrong or if this is a bug?

toymachiner62 commented 11 years ago

Anyone?

alexanderdean commented 11 years ago

Sorry @toymachiner62, was away on holiday.

Have you gone through debug mode to check that you haven't got a problem with your setup? Here are my instructions on debug mode:


To switch on debugging, set 'debug' => TRUE for your current environment in the file:

https://github.com/orderly/codeigniter-paypal-ipn/blob/master/common/config/paypal_ipn.php

Once debugging is switched on, this is how you test:

The way that debug mode works is that it stores the last IPN access which had IPN data (i.e. POST variables) into the database, and then when you access the IPN URL directly without data, it reloads the cached data. So it's kind of like a replay mode which let's you directly inspect what the IPN handler is doing.


Let me know how you get on. Also, feel free to provide further details of your PayPal button - there may be some edge case with your button which the library doesn't cover.

toymachiner62 commented 11 years ago

I tried hitting the ipn url after i submitted data but nothing came to the screen and i did have it on debug mode. I will admit though that i had hit other pages on my site before trying my ipn listener url in the browser, but i'm not sure if that will matter or not.

The ipn listener was just a blank screen. I do think that maybe there is a bug with dropdown options and selections not working with your library.

If you could verify that i'm correct and fix if necessary that would be great. Your library has been very helpful and i created a work around where i'm using jquery to get the dropdown value and pass it in the "custom" field since that one works.

alexanderdean commented 11 years ago

The code that processes dropdown options is here:

https://github.com/orderly/codeigniter-paypal-ipn/blob/master/activerecord/libraries/PayPal_IPN.php#L333

I haven't had any other reports that it isn't working...

The debug functionality saves the IPN response into the database - run the PHP function unserialize() on the contents of the detail field for the cached row, and that should show you what PayPal is sending to the IPN tracker.

If you paste the unserialized version in here (minus any confidential data of course), I can help figure out what is going wrong...

alexanderdean commented 11 years ago

Any update @toymachiner62 or can I close?

toymachiner62 commented 11 years ago

I would say go ahead and close. I don't have time to look into it right now and i got a solution using the "custom" field and putting serializable data in there. The next time i need to use this library i'll try again and open another ticket if necessary.

Thanks for this nice library btw.

alexanderdean commented 11 years ago

No worries, closing...