IPN Bug Fixed in Gift Registry Plugin v1.7.2

Our apologies. In version 1.7.1 we discovered a bug that prevented gifts from being correctly tracked if users were not logged into your wordpress site. This has been fixed in version 1.7.2.

To be clear, you should have still received your gifts, but the Gifts Received status would show as RECEIVED and you may not see the contact information for the user who sent the gift.

However, all is not lost. There is a technical way to force these to complete. In PayPal, view your IPN History and open the IPN you wish to complete. Confirm that the HTTP response code is 200, which means it was received by your site. If the HTTP response code is 404, your IPN url is incorrect – make sure that you update it in your PayPal settings.

By opening each IPN, you should be able to see the IPN Message field. Copy and paste the contents of this field into your favorite text editor. This is the data that is processed by the Gift Registry plugin to complete each gift. Unfortunately, the bug caused this data to be corrupt. By fixing this data and simulating a request with the fixed data, you can force your gifts to complete. This is easy to do if you’re comfortable using the command line, or other tools such as cURL.

1) Fix the data

If you experienced the bug, you should be able to find the part of the IPN message that says “custom=undefined”. Next, find the ID of the order that did not complete under Gifts Received. Replace “undefined” with the ID of the order you wish to complete. For example, your IPN message will now contain “custom=10”.

Note: if the IPN message does not contain “custom=undefined”, you may be experiencing a different issue. Please contact us for support.

2) Create command

We recommend using a text editor to create the command. In step 3 you will paste the command into a terminal window.

Using your fixed data, create the following command in your text editor.

curl -d "[FIXED IPN MESSAGE]" http://[YOUR URL]/wp-content/plugins/gift-registry/php/ipn_handler.php

Additionally, you will need to add another parameter to your fixed IPN so that the IPN handler doesn’t reject it for not matching PayPal. To do this, simply add force_bypass=1& to the beginning of your fixed IPN.

Be very careful to wrap your fixed IPN message in quotes, and make sure the command is all on one line. The resulting command will look something like this:

curl -d "force_bypass=1&mc_gross=0.75&protection_eligibility=Eligible&address_status=confirmed&item_number1=&tax=0.00&item_number2=&payer_id=XXXXXXXXXX&address_street=Example Address&payment_date=09:19:23 Jan 13, 2013 PST&payment_status=Completed&charset=windows-1252&address_zip=XXX&mc_shipping=0.00&mc_handling=0.00&first_name=XXXXXX&mc_fee=0.32&address_country_code=US&address_name=XXXXXXXXX&notify_version=3.7&custom=39&payer_status=verified&business=XXXXXX@XXXXXX.com&address_country=United States&num_cart_items=1&mc_handling1=0.00&mc_handling2=0.00&address_city=XXXX&verify_sign=XXXXXX&payer_email=XXX@XXX.com&mc_shipping1=0.00&mc_shipping2=0.00&tax1=0.00&tax2=0.00&txn_id=XXX&payment_type=instant&payer_business_name=XXX&last_name=XXX&address_state=CO&item_name1=My Item &receiver_email=XX@XXX.com&payment_fee=0.32&quantity1=1&receiver_id=XXX&txn_type=cart&mc_gross_1=0.50&mc_currency=USD&mc_gross_2=0.25&residence_country=US&transaction_subject=39&payment_gross=0.75&ipn_track_id=XXX" http://sliverwareapps.com/wp-content/plugins/gift-registry/php/ipn_handler.php

3) Simulate request

Once your command looks good, copy and paste it into a command prompt. Once you hit enter, it will send the request to the plugin on your server and it should mark the Gift Received item as complete. Additionally, it should update the item with the contact information of your user who sent the payment.

If the command is successful, you will simply see a new prompt come up. If there is a problem, you will receive HTML or an error message.

Again, our apologies for this oversight, but please do not hesitate to contact us if you have any questions.

Posted in Uncategorized | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *