/**
  * Perform API call to Amazon to validate keys
  *
  */
 public function _afterSaveCommit()
 {
     $data = $this->getFieldsetData();
     $isEnabled = $this->getValue();
     if ($isEnabled) {
         $config = array('ServiceURL' => "https://mws.amazonservices.com/Sellers/2011-07-01", 'ProxyHost' => null, 'ProxyPort' => -1, 'ProxyUsername' => null, 'ProxyPassword' => null, 'MaxErrorRetry' => 3);
         $service = new MarketplaceWebServiceSellers_Client($data['access_key'], $data['access_secret'], 'Login and Pay for Magento', '1.3', $config);
         $request = new MarketplaceWebServiceSellers_Model_ListMarketplaceParticipationsRequest();
         $request->setSellerId($data['seller_id']);
         try {
             $service->ListMarketplaceParticipations($request);
             Mage::getSingleton('core/session')->addSuccess("All of your Amazon API keys are correct!");
         } catch (MarketplaceWebServiceSellers_Exception $ex) {
             if ($ex->getErrorCode() == 'InvalidAccessKeyId') {
                 Mage::getSingleton('core/session')->addError("The Amazon MWS Access Key is incorrect");
             } else {
                 if ($ex->getErrorCode() == 'SignatureDoesNotMatch') {
                     Mage::getSingleton('core/session')->addError("The Amazon MWS Secret Key is incorrect");
                 } else {
                     if ($ex->getErrorCode() == 'InvalidParameterValue') {
                         Mage::getSingleton('core/session')->addError("The Amazon Seller/Merchant ID is incorrect");
                     } else {
                         if ($ex->getErrorCode() == 'AccessDenied') {
                             Mage::getSingleton('core/session')->addError("The Amazon Seller/Merchant ID does not match the MWS keys provided");
                         } else {
                             $string = " Error Message: " . $ex->getMessage();
                             $string .= " Response Status Code: " . $ex->getStatusCode();
                             $string .= " Error Code: " . $ex->getErrorCode();
                             Mage::getSingleton('core/session')->addError($string);
                         }
                     }
                 }
             }
         }
     }
     return parent::_afterSaveCommit();
 }