Пример #1
0
 /**
  * Action remove all the customers DIRECT mode
  */
 public function actionDeleteAllCustomers()
 {
     HelperCommon::clearStore('account');
     $sagepayToken = new SagepayToken($this->sagepayConfig);
     $cardTokens = ModelAbstract::factory('Card')->getAll();
     foreach ($cardTokens as $card) {
         $sagepayToken->remove($card->token);
     }
     $view = new HelperView('admin/deleted');
     $view->setData(array('env' => $this->sagepayConfig->getEnv(), 'vendorName' => $this->sagepayConfig->getVendorName(), 'integrationType' => $this->integrationType, 'numDeleted' => ModelAbstract::factory('Customer')->deleteAll()));
     $view->render();
 }
Пример #2
0
 /**
  * Action card page for direct payment
  */
 public function actionCard()
 {
     $message = '';
     // Check if form was submitted
     if (count(filter_input_array(INPUT_POST))) {
         $useToken = filter_input(INPUT_POST, 'useToken');
         $giftAid = filter_input(INPUT_POST, 'giftAid');
         $card = array('cardType' => filter_input(INPUT_POST, 'cardType'), 'cardNumber' => filter_input(INPUT_POST, 'cardNumber'), 'cardHolder' => filter_input(INPUT_POST, 'cardHolder'), 'startDate' => filter_input(INPUT_POST, 'startDate'), 'expiryDate' => filter_input(INPUT_POST, 'expiryDate'), 'cv2' => filter_input(INPUT_POST, 'cv2'), 'giftAid' => !!$giftAid);
         $cardDetails = new SagepayCardDetails();
         $this->_populateCardDetails($cardDetails, $card);
         // Check cardType
         if ($card['cardType'] == 'PAYPAL') {
             $errors = array();
         } else {
             $errors = $cardDetails->validate();
         }
         $hMessage = new HelperMessage();
         $message = $hMessage->getAllMessages($errors, array('cardNumber' => 'Card Number', 'cardHolder' => 'Card Holder Name', 'startDate' => 'Start Date', 'expiryDate' => 'Expiry Date', 'cv2' => 'Card Verification Value'));
         // Check if card data was failed
         if ($errors) {
             $this->error = true;
             $message = "Sorry, the following problems were found: " . $message;
         } else {
             if ($useToken) {
                 $account = HelperCommon::getStore('account');
                 $sagepayToken = new SagepayToken($this->sagepayConfig);
                 $token = $sagepayToken->register($card);
                 if (!$token) {
                     $this->helperError('Card Details are invalid ', url(array('direct', 'card')));
                     exit;
                 }
                 ModelAbstract::factory('Card')->insert(array('last4digits' => SagepayUtil::getLast4Digits(filter_input(INPUT_POST, 'cardNumber')), 'token' => $token, 'customer_id' => $account['id']));
                 $account['token'] = $token;
                 HelperCommon::setStore('account', $account);
                 $card = array('cardType' => '', 'cardNumber' => '', 'cardHolder' => '', 'startDate' => '', 'expiryDate' => '', 'cv2' => filter_input(INPUT_POST, 'cv2'), 'giftAid' => $giftAid);
             }
             HelperCommon::setStore('card', $card);
             $this->redirect('direct', 'confirm');
         }
     }
     // render view card
     $view = new HelperView('direct/card');
     $view->setData(array('env' => $this->sagepayConfig->getEnv(), 'vendorName' => $this->sagepayConfig->getVendorName(), 'integrationType' => $this->integrationType, 'error' => $this->error, 'message' => $message, 'allowGiftAid' => $this->sagepayConfig->getAllowGiftAid()));
     $view->render();
 }