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); } } }
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; }