/**
  * Validate data
  *
  * @param Object $response
  * @return void
  * @throws LocalizedException
  */
 public function validate(DataObject $response)
 {
     switch ($response->getResult()) {
         case Payflowpro::RESPONSE_CODE_APPROVED:
         case Payflowpro::RESPONSE_CODE_FRAUDSERVICE_FILTER:
             foreach ($this->validators as $validator) {
                 if ($validator->validate($response) === false) {
                     throw new LocalizedException(__('Transaction has been declined'));
                 }
             }
             break;
         case Payflowpro::RESPONSE_CODE_INVALID_AMOUNT:
             break;
         default:
             throw new LocalizedException(__('Transaction has been declined'));
     }
 }
Example #2
0
 /**
  * If response is failed throw exception
  * Set token data in payment object
  *
  * @param \Magento\Framework\DataObject $response
  * @param \Magento\Sales\Model\Order\Payment $payment
  * @return void
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function _processTokenErrors($response, $payment)
 {
     if (!$response->getSecuretoken() && $response->getResult() != self::RESPONSE_CODE_APPROVED && $response->getResult() != self::RESPONSE_CODE_FRAUDSERVICE_FILTER) {
         throw new \Magento\Framework\Exception\LocalizedException(__($response->getRespmsg()));
     } else {
         $payment->setAdditionalInformation('secure_token_id', $response->getSecuretokenid())->setAdditionalInformation('secure_token', $response->getSecuretoken());
     }
 }
 /**
  * Validate data
  * @param DataObject $response
  * @return bool
  */
 public function validate(DataObject $response)
 {
     return (bool) $response->getSecuretoken() && is_numeric($response->getResult()) && !in_array($response->getResult(), [static::ST_ALREADY_USED, static::ST_TRANSACTION_IN_PROCESS, static::ST_EXPIRED]);
 }