/**
  * Validate secret word
  *
  * @return void
  */
 protected function doActionValidateSecretWord()
 {
     $secretWord = trim(\XLite\Core\Request::getInstance()->secret_word);
     $secret = md5(md5($secretWord) . md5(\XLite\Module\CDev\Moneybookers\Model\Payment\Processor\Moneybookers::getPlatformSecretWord()));
     $platformId = \XLite\Module\CDev\Moneybookers\Model\Payment\Processor\Moneybookers::getPlatformCustomerID();
     $request = new \XLite\Core\HTTP\Request('https://www.skrill.com/app/secret_word_check.pl' . '?secret=' . $secret . '&email=' . urlencode(\XLite\Core\Config::getInstance()->CDev->Moneybookers->email) . '&cust_id=' . $platformId);
     $response = $request->sendRequest();
     if (200 == $response->code && 'OK' == $response->body) {
         \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('category' => 'CDev\\Moneybookers', 'name' => 'secret_word', 'value' => $secretWord));
         \XLite\Core\TopMessage::getInstance()->add('Secret word is valid');
     } elseif ('VELOCITY_CHECK_EXCEEDED' == $response->body) {
         \XLite\Core\TopMessage::getInstance()->add('Maximum number of checks for a particular user has been reached' . ' (currently set to 3 per user per hour)', array(), null, \XLite\Core\TopMessage::ERROR);
     } elseif ('REQUESTER_NOT_AUTHORISED' == $response->body) {
         \XLite\Core\TopMessage::getInstance()->add('Requestor\'s account not authorised to run the secret word check', array(), null, \XLite\Core\TopMessage::ERROR);
     } else {
         \XLite\Core\TopMessage::getInstance()->add('Secret word is not valid', array(), null, \XLite\Core\TopMessage::ERROR);
     }
 }