I recently configured your plugin for use with iContact's Sandbox mode. I couldn't figure it out until I examined the code in iContact.class.php, line 27:
$this->debugMode = ($debugMode || current_user_can('administrator') && isset($_REUQEST['debug']));
There's a typo in $_REQUEST. Moreover, I don't see how this line actually does anything.
I tweaked your plugin for the time being, by replacing line 27 with:
$this->debugMode = $settings['sandbox'];
Then, I added a new checkbox field to the iContact settings form labeled "Use Sandbox," which is tied to that setting above.
This way, your getApiUrl() method functions as it was designed.
Thanks for your efforts on this plugin! It saved me a lot of time.