Example #1
0
 public function assignData($data)
 {
     parent::assignData();
     if (!$data instanceof Varien_Object) {
         $data = new Varien_Object($data);
     }
     $info = $this->getInfoInstance();
     $info->setCardName($data->getCardName())->setCardEnsign($data->getCardEnsign())->setCardNumber($data->getCardNumber())->setMonthExpiry($data->getMonthExpiry())->setYearExpiry($data->getYearExpiry())->setSecretNumber($data->getSecretNumber())->setInstallmentQty($data->getInstallmentQty());
     return $this;
 }
 /**
  * Validate payment data
  *
  * This check is performed on payment information submission, as well as on placing order.
  * Workflow state is stored validation state model
  *
  * @param Varien_Object $data
  * @throws Mage_Core_Exception
  */
 public function validate($data)
 {
     $newChecksum = $this->_generateChecksum($data->getPaymentMethodCode(), $data->getCardType(), $data->getCardNumber(), $data->getCardExpMonth(), $data->getCardExpYear(), $data->getAmount(), $data->getCurrencyCode());
     $validationState = $this->_getValidationState($data->getCardType());
     if (!$validationState) {
         $this->_resetValidationState();
         return;
     }
     // check whether is authenticated before placing order
     if ($this->getIsPlaceOrder()) {
         if ($validationState->getChecksum() != $newChecksum) {
             Mage::throwException(Mage::helper('centinel')->__('Payment information error. Please start over.'));
         }
         if ($validationState->isAuthenticateSuccessful()) {
             return;
         }
         Mage::throwException(Mage::helper('centinel')->__('Please verify the card with the issuer bank before placing the order.'));
     } else {
         if ($validationState->getChecksum() != $newChecksum || !$validationState->isLookupSuccessful()) {
             $this->lookup($data);
             $validationState = $this->_getValidationState();
         }
         if ($validationState->isLookupSuccessful()) {
             return;
         }
         Mage::throwException(Mage::helper('centinel')->__('This card has failed validation and cannot be used.'));
     }
 }