/**
  * 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();
 }
<?php

/**
 * Amazon Login - Login for osCommerce
 *
 * @category    Amazon
 * @package     Amazon_Login
 * @copyright   Copyright (c) 2015 Amazon.com
 * @license     http://opensource.org/licenses/Apache-2.0  Apache License, Version 2.0
 */
require 'includes/modules/payment/paywithamazon/lib/MarketplaceWebServiceSellers/Client.php';
require 'includes/modules/payment/paywithamazon/lib/MarketplaceWebServiceSellers/Model/ListMarketplaceParticipationsRequest.php';
$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($_GET['mws_access_key'], $_GET['mws_secret_key'], 'Login and Pay for Zen Cart', '1.0', $config);
$request = new MarketplaceWebServiceSellers_Model_ListMarketplaceParticipationsRequest();
$request->setSellerId($_GET['seller_id']);
try {
    $service->ListMarketplaceParticipations($request);
    echo "Your Amazon Credentials are correct.<br />";
} catch (MarketplaceWebServiceSellers_Exception $ex) {
    if ($ex->getErrorCode() == 'InvalidAccessKeyId') {
        echo "Your Amazon MWS Access Key is incorrect.<br />";
    } else {
        if ($ex->getErrorCode() == 'SignatureDoesNotMatch') {
            echo "Your Amazon MWS Secret Key is incorrect.<br />";
        } else {
            if ($ex->getErrorCode() == 'InvalidParameterValue') {
                echo "Your Amazon Seller/Merchant ID is incorrect.<br />";
            } else {
                if ($ex->getErrorCode() == 'AccessDenied') {
                    echo "Your Amazon Seller/Merchant ID does not match the MWS keys provided.<br />";