/** * Action confirmation page for form payment */ public function actionConfirm() { parent::actionConfirm(); $api = $this->buildApi(); $details = HelperCommon::getStore('details'); $api->updateData($details); // fill items with product details $items = array(); foreach ($api->getBasket()->getItems() as $item) { $items[] = array('productUrlImage' => $this->getProductUrlImage($item->getDescription()), 'description' => $item->getDescription(), 'quantity' => $item->getQuantity(), 'unitGrossAmount' => number_format($item->getUnitGrossAmount(), 2), 'totalGrossAmount' => number_format($item->getTotalGrossAmount(), 2)); } $env = $this->sagepayConfig->getEnv(); // Render confirm page for form payment $view = new HelperView('form/confirm'); $view->setData(array('basket' => array('items' => $items, 'deliveryGrossPrice' => number_format($api->getBasket()->getDeliveryGrossAmount(), 2), 'totalGrossPrice' => number_format($api->getBasket()->getAmount(), 2)), 'env' => $env, 'vendorName' => $this->sagepayConfig->getVendorName(), 'integrationType' => $this->integrationType, 'currency' => $this->sagepayConfig->getCurrency(), 'purchaseUrl' => $this->sagepayConfig->getPurchaseUrl('form', $env), 'request' => $api->createRequest(), 'displayQueryString' => htmlspecialchars(rawurldecode(utf8_encode($api->getQueryData()))), 'details' => $details)); $view->render(); }
/** * Check details data */ protected function checkDetails() { $details = HelperCommon::getStore('details'); $billingDetails = $this->createCustomerDetails($details, 'billing'); $details = array_merge($details, $this->customerDetailsToArray($billingDetails, 'billing')); $billingErrors = $billingDetails->validate(); if (HelperCommon::getStore('isDeliverySame')) { $deliveryErrors = array(); } else { $deliveryDetails = $this->createCustomerDetails($details, 'delivery'); $details = array_merge($details, $this->customerDetailsToArray($deliveryDetails, 'delivery')); $deliveryErrors = $deliveryDetails->validate(); } if (!empty($billingErrors) || !empty($deliveryErrors)) { $this->redirect($this->integrationType); } else { $this->checkProducts(null, true); } }
/** * Action low profile page for server payment */ public function actionLowProfile() { $view = new HelperView('server/low_profile'); $view->setData(array('env' => $this->sagepayConfig->getEnv(), 'vendorName' => $this->sagepayConfig->getVendorName(), 'integrationType' => $this->integrationType, 'request' => HelperCommon::getStore('txData'))); $view->render(); }
/** * Action 3D secure page for direct payment */ public function actionThreeDSecure() { $threeDSecure = HelperCommon::getStore('3DAUTH'); HelperCommon::clearStore('3DAUTH'); if (empty($threeDSecure)) { $this->redirect('direct', 'failure', filter_input_array(INPUT_GET)); } $purchaseUrl = $threeDSecure['ACSURL']; unset($threeDSecure['ACSURL']); $view = new HelperView('direct/secure3d'); $view->setData(array('env' => $this->sagepayConfig->getEnv(), 'vendorName' => $this->sagepayConfig->getVendorName(), 'integrationType' => $this->integrationType, 'purchaseUrl' => $purchaseUrl, 'request' => array(), 'threeDSecure' => $threeDSecure)); $view->render(); }
/** * Action confirm page */ public function actionConfirm() { parent::actionConfirm(); $perceedUrlParts = array($this->integrationType, 'register'); $backUrlParts = array($this->integrationType, 'details'); $error = false; $message = ''; if ($this->integrationType == SAGEPAY_DIRECT) { $card = HelperCommon::getStore('card'); $backUrlParts[1] = 'card'; if (empty($card['cardType'])) { $backUrlParts[1] = 'card-token'; } } $api = $this->buildApi(); // Get products form basket $items = array(); $basketItems = $api->getBasket()->getItems(); foreach ($basketItems as $item) { $items[] = array('urlImage' => $this->getProductUrlImage($item->getDescription()), 'description' => $item->getDescription(), 'quantity' => $item->getQuantity(), 'unitGrossAmount' => number_format($item->getUnitGrossAmount(), 2), 'totalGrossAmount' => number_format($item->getTotalGrossAmount(), 2)); } if (filter_input(INPUT_GET, 'error')) { $error = true; $message = base64_decode(filter_input(INPUT_GET, 'error')); } // Render confirm tpl $view = new HelperView('server-and-direct/confirm'); $view->setData(array('env' => $this->sagepayConfig->getEnv(), 'vendorName' => $this->sagepayConfig->getVendorName(), 'integrationType' => $this->integrationType, 'details' => $this->data['details'], 'deliveryGrossPrice' => $this->data['deliveryGrossPrice'], 'totalGrossPrice' => $this->data['totalGrossPrice'], 'purchaseUrl' => $this->purchaseUrl, 'currency' => $this->sagepayConfig->getCurrency(), 'card' => HelperCommon::getStore('card'), 'basket' => array('items' => $items), 'perceedUrl' => url($perceedUrlParts), 'backUrl' => url($backUrlParts), 'message' => $message, 'error' => $error)); $view->render(); }