Troubleshooting the WordPress Printable Gift Certificates Plugin

So, this plugin has been fairly handy, but I ran into some trouble getting it going and couldn’t find much help on the web. So I figure I’ll write down what I had to do here, in case someone else runs into trouble. I can’t even remember all of the things I had to tweak over time (this was a very drawn-out project) but I figured I’d note the big ones here, and if you or I run into others we can share them here as well.

– You probably need to enable Paypal’s IPN for this to work. From the merchant account in Paypal, click the profile tab, then click the payments option, and choose IPN settings. Enable IPN and set the listener URL to the URL of your WordPress installation.

– In my case, we then had to deal with Internal Server Errors on the listener. I still don’t know why that was, but the site worked fine on other servers. I had the host move from FreeBSD to a linux server, and it worked well after that.

– Disable the built-in CSS so you can make the buttons as you’d like them, then go back and add in your own CSS plus whatever you deem necessary from their CSS to make the site look fine.

– Form Fields won’t line up in IE:
The form page was showing up in quirks mode; if I used the Developer Tools to display in strict mode, it worked fine. As it turns out, there were some hidden input fields above the DTD. IE didn’t know how to deal with this, so into quirks mode it went. I talked to my super wordpress guru friend, Tyrel, and he pointed out that wpnonce was echoing rather than returning. So I had to change wpgft_processOrder.php like so, from:

if( function_exists(‘wp_nonce_field’) ) $post_content .= wp_nonce_field($nonceID);

to

if( function_exists(‘wp_nonce_field’) ) $post_content .= wp_nonce_field($nonceID,’_wpnonce’,true,false);

Currently, I’m trying to see whether I can find a way to display gift certificate information such as the name of the gift, rather than its purchase cost, on the printable emailed certificate. I’ll share details there once I have them.