Exemplo n.º 1
0
 public function checkConsumerScoreAction()
 {
     $this->Front()->Plugins()->ViewRenderer()->setNoRender();
     $session = Shopware()->Session();
     $userId = $session->sUserId;
     unset($session->moptConsumerScoreCheckNeedsUserAgreement);
     unset($_SESSION['moptConsumerScoreCheckNeedsUserAgreement']);
     //get config
     if ($_SESSION['moptPaymentId']) {
         $paymentId = $_SESSION['moptPaymentId'];
     } else {
         $paymentId = $session->moptPaymentId;
     }
     //get payment data
     if ($_SESSION['moptPaymentData']) {
         $paymentData = $_SESSION['moptPaymentData'];
     } else {
         $paymentData = $session->moptPaymentData;
     }
     $config = $this->moptPayoneMain->getPayoneConfig($paymentId);
     $user = Shopware()->Modules()->Admin()->sGetUserData();
     $billingAddressData = $user['billingaddress'];
     $billingAddressData['country'] = $billingAddressData['countryID'];
     //perform consumerscorecheck
     $params = $this->moptPayoneMain->getParamBuilder()->getConsumerscoreCheckParams($billingAddressData, $paymentId);
     $service = $this->payoneServiceBuilder->buildServiceVerificationConsumerscore();
     $service->getServiceProtocol()->addRepository(Shopware()->Models()->getRepository('Shopware\\CustomModels\\MoptPayoneApiLog\\MoptPayoneApiLog'));
     $request = new Payone_Api_Request_Consumerscore($params);
     $billingAddressChecktype = 'NO';
     $request->setAddresschecktype($billingAddressChecktype);
     $request->setConsumerscoretype($config['consumerscoreCheckMode']);
     $response = $service->score($request);
     if ($response->getStatus() == 'VALID') {
         //save result
         $this->moptPayoneMain->getHelper()->saveConsumerScoreCheckResult($userId, $response);
         unset($session->moptConsumerScoreCheckNeedsUserAgreement);
         unset($_SESSION['moptConsumerScoreCheckNeedsUserAgreement']);
         unset($session->moptPaymentId);
         echo json_encode(true);
     } else {
         //save error
         $this->moptPayoneMain->getHelper()->saveConsumerScoreError($userId, $response);
         unset($session->moptConsumerScoreCheckNeedsUserAgreement);
         unset($_SESSION['moptConsumerScoreCheckNeedsUserAgreement']);
         unset($session->moptPaymentId);
         //choose next action according to config
         if ($config['consumerscoreFailureHandling'] == 0) {
             //abort
             //delete payment data and set to payone prepayment
             $this->moptPayoneMain->getPaymentHelper()->deletePaymentData($userId);
             $this->moptPayoneMain->getPaymentHelper()->setConfiguredDefaultPaymentAsPayment($userId);
             echo json_encode(false);
         } else {
             //proceed
             echo json_encode(true);
         }
     }
 }
Exemplo n.º 2
0
 protected function performConsumerScoreCheck($config, $params, $payoneServiceBuilder)
 {
     $service = $payoneServiceBuilder->buildServiceVerificationConsumerscore();
     $service->getServiceProtocol()->addRepository(Shopware()->Models()->getRepository('Shopware\\CustomModels\\MoptPayoneApiLog\\MoptPayoneApiLog'));
     $request = new Payone_Api_Request_Consumerscore($params);
     $billingAddressChecktype = Payone_Api_Enum_AddressCheckType::NONE;
     $request->setAddresschecktype($billingAddressChecktype);
     $request->setConsumerscoretype($config['consumerscoreCheckMode']);
     $response = $service->score($request);
     return $response;
 }