예제 #1
0
 /**
  * @param $requestParams
  * @param $store
  * @return array
  * @throws \Adyen\AdyenException
  */
 protected function _getDirectoryLookupResponse($requestParams, $store)
 {
     $cacheKey = $this->_getCacheKeyForRequest($requestParams, $store);
     // initialize the adyen client
     $client = new \Adyen\Client();
     if ($this->_adyenHelper->isDemoMode()) {
         $client->setEnvironment(\Adyen\Environment::TEST);
     } else {
         $client->setEnvironment(\Adyen\Environment::LIVE);
     }
     // connect to magento log
     $client->setLogger($this->_adyenLogger);
     $hmacKey = $this->_adyenHelper->getHmac();
     // create and add signature
     try {
         $requestParams["merchantSig"] = \Adyen\Util\Util::calculateSha256Signature($hmacKey, $requestParams);
     } catch (\Adyen\AdyenException $e) {
         $this->_adyenLogger->error($e->getMessage());
         // return empty result
         return [];
     }
     // initialize service
     $service = new \Adyen\Service\DirectoryLookup($client);
     try {
         $responseData = $service->directoryLookup($requestParams);
     } catch (\Adyen\AdyenException $e) {
         $this->_adyenLogger->error("The Directory Lookup response is empty check your Adyen configuration in Magento.");
         // return empty result
         return [];
     }
     return $responseData;
 }
예제 #2
0
 /**
  * @desc Get url of Adyen payment
  * @return string
  * @todo add brandCode here
  */
 public function getFormUrl()
 {
     //        $brandCode        = $this->getInfoInstance()->getCcType();
     $paymentRoutine = $this->getConfigData('payment_routine');
     switch ($this->_adyenHelper->isDemoMode()) {
         case true:
             if ($paymentRoutine == 'single' && $this->getPaymentMethodSelectionOnAdyen()) {
                 $url = 'https://test.adyen.com/hpp/pay.shtml';
             } else {
                 $url = $this->getPaymentMethodSelectionOnAdyen() ? 'https://test.adyen.com/hpp/select.shtml' : "https://test.adyen.com/hpp/details.shtml";
             }
             break;
         default:
             if ($paymentRoutine == 'single' && $this->getPaymentMethodSelectionOnAdyen()) {
                 $url = 'https://live.adyen.com/hpp/pay.shtml';
             } else {
                 $url = $this->getPaymentMethodSelectionOnAdyen() ? 'https://live.adyen.com/hpp/select.shtml' : "https://live.adyen.com/hpp/details.shtml";
             }
             break;
     }
     //IDEAL
     //        $idealBankUrl = false;
     //        $bankData     = $this->getInfoInstance()->getPoNumber();
     //        if ($brandCode == 'ideal' && !empty($bankData)) {
     //            $idealBankUrl = ($isConfigDemoMode == true)
     //                ? 'https://test.adyen.com/hpp/redirectIdeal.shtml'
     //                : 'https://live.adyen.com/hpp/redirectIdeal.shtml';
     //        }
     //        return (!empty($idealBankUrl)) ? $idealBankUrl : $url;
     return $url;
 }
예제 #3
0
 /**
  * @return string
  */
 public function getFormUrl()
 {
     if ($this->_adyenHelper->isDemoMode()) {
         $url = 'https://test.adyen.com/hpp/pay.shtml';
     } else {
         $url = 'https://live.adyen.com/hpp/pay.shtml';
     }
     return $url;
 }
예제 #4
0
 /**
  * PaymentRequest constructor.
  *
  * @param \Magento\Framework\Model\Context $context
  * @param \Magento\Framework\Encryption\EncryptorInterface $encryptor
  * @param \Adyen\Payment\Helper\Data $adyenHelper
  * @param \Adyen\Payment\Logger\AdyenLogger $adyenLogger
  * @param \Adyen\Payment\Model\RecurringType $recurringType
  * @param array $data
  */
 public function __construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Encryption\EncryptorInterface $encryptor, \Adyen\Payment\Helper\Data $adyenHelper, \Adyen\Payment\Logger\AdyenLogger $adyenLogger, \Adyen\Payment\Model\RecurringType $recurringType, array $data = [])
 {
     $this->_encryptor = $encryptor;
     $this->_adyenHelper = $adyenHelper;
     $this->_adyenLogger = $adyenLogger;
     $this->_recurringType = $recurringType;
     $this->_appState = $context->getAppState();
     // initialize client
     $webserviceUsername = $this->_adyenHelper->getWsUsername();
     $webservicePassword = $this->_adyenHelper->getWsPassword();
     $client = new \Adyen\Client();
     $client->setApplicationName("Magento 2 plugin");
     $client->setUsername($webserviceUsername);
     $client->setPassword($webservicePassword);
     if ($this->_adyenHelper->isDemoMode()) {
         $client->setEnvironment(\Adyen\Environment::TEST);
     } else {
         $client->setEnvironment(\Adyen\Environment::LIVE);
     }
     // assign magento log
     $client->setLogger($adyenLogger);
     $this->_client = $client;
 }
예제 #5
0
 /**
  * @return string
  */
 public function getFormUrl()
 {
     $url = "";
     try {
         if ($this->_order->getPayment()) {
             $paymentRoutine = $this->_adyenHelper->getAdyenHppConfigData('payment_routine');
             switch ($this->_adyenHelper->isDemoMode()) {
                 case true:
                     if ($paymentRoutine == 'single' && $this->getPaymentMethodSelectionOnAdyen()) {
                         $url = 'https://test.adyen.com/hpp/pay.shtml';
                     } else {
                         if ($this->getPaymentMethodSelectionOnAdyen()) {
                             $url = 'https://test.adyen.com/hpp/select.shtml';
                         } else {
                             if ($this->_adyenHelper->isPaymentMethodOpenInvoiceMethod($this->_order->getPayment()->getAdditionalInformation('brand_code'))) {
                                 $url = "https://test.adyen.com/hpp/skipDetails.shtml";
                             } else {
                                 $url = "https://test.adyen.com/hpp/details.shtml";
                             }
                         }
                     }
                     break;
                 default:
                     if ($paymentRoutine == 'single' && $this->getPaymentMethodSelectionOnAdyen()) {
                         $url = 'https://live.adyen.com/hpp/pay.shtml';
                     } else {
                         if ($this->getPaymentMethodSelectionOnAdyen()) {
                             $url = 'https://live.adyen.com/hpp/select.shtml';
                         } else {
                             if ($this->_adyenHelper->isPaymentMethodOpenInvoiceMethod($this->_order->getPayment()->getAdditionalInformation('brand_code'))) {
                                 $url = "https://live.adyen.com/hpp/skipDetails.shtml";
                             } else {
                                 $url = "https://live.adyen.com/hpp/details.shtml";
                             }
                         }
                     }
                     break;
             }
         }
     } catch (Exception $e) {
         // do nothing for now
         throw $e;
     }
     return $url;
 }
예제 #6
0
 /**
  * @desc Get url of Adyen payment
  * @return string
  */
 public function getFormUrl()
 {
     $paymentRoutine = $this->getConfigData('payment_routine');
     switch ($this->_adyenHelper->isDemoMode()) {
         case true:
             if ($paymentRoutine == 'single' && $this->getPaymentMethodSelectionOnAdyen()) {
                 $url = 'https://test.adyen.com/hpp/pay.shtml';
             } else {
                 $url = $this->getPaymentMethodSelectionOnAdyen() ? 'https://test.adyen.com/hpp/select.shtml' : "https://test.adyen.com/hpp/details.shtml";
             }
             break;
         default:
             if ($paymentRoutine == 'single' && $this->getPaymentMethodSelectionOnAdyen()) {
                 $url = 'https://live.adyen.com/hpp/pay.shtml';
             } else {
                 $url = $this->getPaymentMethodSelectionOnAdyen() ? 'https://live.adyen.com/hpp/select.shtml' : "https://live.adyen.com/hpp/details.shtml";
             }
             break;
     }
     return $url;
 }